cmake setPROJECT_SOURCES
时间: 2023-10-27 22:05:43 浏览: 41
根据提供的引用内容,可以看出set(PROJECT_SOURCES ...)是一个CMakeLists.txt文件中的命令,用于设置项目的源文件列表。在CMake中,源文件列表是指项目根据提供的引用内容,可以看出set(PROJECT_SOURCES ...)是一个CMakeLists.txt文件中的命令,用于设置项目的源文件列表。在CMake中,源文件列表是指项目中所有需要编译的源代码文件的列表。这个命令将源文件列表存储在PROJECT_SOURCES变量中,以便在后续的命令中使用。
另外,CMake中的target_sources命令用于将源文件添加到目标中,其格式如下:
```
target_sources(<target> <INTERFACE|PUBLIC|PRIVATE> [items1...]
[<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
```
其中,<target>是目标名称,<INTERFACE|PUBLIC|PRIVATE>是可选的关键字,用于指定源文件的属性,items1、items2等是源文件列表。
如果您需要更多关于CMake的信息,可以参考引用中的IDA插件CMake构建脚本。
相关问题
qt使用cmake,将add_executable内的${SOURCES} ${HEADERS} ${UI} ${PROJECT_SOURCES}这些目录,在编译完成后于qt上分开显示
可以在 `CMakeLists.txt` 中使用 `AUTOUIC`, `AUTOMOC` 和 `AUTORCC` 宏来自动处理 `.ui`, `.moc` 和 `.qrc` 文件,然后使用 `target_sources` 命令将这些文件添加到可执行文件中。这样在 Qt Creator 中编译完成后,可以看到 `Forms`, `Headers`, `Sources`, `Generated Files` 和 `Resources` 五个选项卡,分别显示不同类型的文件。
以下是一个示例 `CMakeLists.txt` 文件:
```
cmake_minimum_required(VERSION 3.5)
project(MyApp)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
set(SOURCES
main.cpp
MyWidget.cpp
)
set(HEADERS
MyWidget.h
)
set(UI
MyWidget.ui
)
set(PROJECT_SOURCES
resources.qrc
)
add_executable(MyApp ${SOURCES} ${HEADERS} ${UI} ${PROJECT_SOURCES})
target_link_libraries(MyApp Qt5::Core Qt5::Widgets)
```
其中:
- `set(CMAKE_AUTOMOC ON)` 使 `CMake` 自动处理 `moc` 文件。
- `set(CMAKE_AUTORCC ON)` 使 `CMake` 自动处理 `qrc` 文件。
- `set(CMAKE_AUTOUIC ON)` 使 `CMake` 自动处理 `ui` 文件。
- `find_package(Qt5 COMPONENTS Core Widgets REQUIRED)` 告诉 `CMake` 使用 `Qt5` 的 `Core` 和 `Widgets` 模块。
- `target_link_libraries(MyApp Qt5::Core Qt5::Widgets)` 链接 `MyApp` 可执行文件与 `Qt5` 的 `Core` 和 `Widgets` 模块。
使用以上 `CMakeLists.txt` 文件编译项目后,在 Qt Creator 中打开可执行文件所在的目录,可以看到 `MyApp` 可执行文件和 `Forms`, `Headers`, `Sources`, `Generated Files` 和 `Resources` 五个选项卡。`Forms` 选项卡显示 `MyWidget.ui` 文件,`Headers` 选项卡显示 `MyWidget.h` 文件,`Sources` 选项卡显示 `main.cpp` 和 `MyWidget.cpp` 文件,`Generated Files` 选项卡显示由 `CMake` 自动生成的 `.moc` 和 `.ui.h` 文件,`Resources` 选项卡显示 `resources.qrc` 文件。
-- Configuring done CMake Error at CMakeLists.txt:3 (add_executable): No SOURCES given to target: CANfestival CMake Generate step failed. Build files cannot be regenerated correctly. make: *** [Makefile:132:cmake_check_build_system] 错误 1
这个错误提示是因为在CMakeLists.txt中没有指定编译目标的源文件。你需要在CMakeLists.txt中添加源文件的路径,然后重新运行cmake命令和make命令。
例如,如果你的源文件位于src目录下,可以按照以下方式修改CMakeLists.txt文件:
```
cmake_minimum_required(VERSION 3.10)
project(CANfestival)
# 添加源文件的路径
set(SOURCES
src/main.cpp
src/xxx.cpp
)
# 设置编译目标
add_executable(CANfestival ${SOURCES})
```
在这个示例中,我们将源文件放在了src目录下,并将src目录下的所有源文件都添加到了SOURCES变量中。然后,我们使用add_executable命令将SOURCES变量中的所有源文件编译成一个名为CANfestival的可执行文件。
完成修改后,重新运行cmake命令和make命令即可。