cmake 如何导入某一文件夹下所有源文件
时间: 2023-05-12 07:06:35 浏览: 402
您可以使用以下命令将某一文件夹下的所有源文件导入到 CMake 项目中:
```
file(GLOB SOURCES "path/to/folder/*.cpp")
add_executable(my_program ${SOURCES})
```
其中,`file(GLOB SOURCES "path/to/folder/*.cpp")` 会将 `path/to/folder` 文件夹下所有以 `.cpp` 结尾的文件存储在 `SOURCES` 变量中,然后使用 `add_executable` 命令将这些源文件编译成可执行文件 `my_program`。
相关问题
cmake 包含整个文件夹的源文件
要在 CMake 中包含整个文件夹的源文件,你可以使用 `file(GLOB ...)` 命令来获取文件夹中的所有源文件,并将它们添加到你的目标中。下面是一个示例:
```cmake
cmake_minimum_required(VERSION 3.0)
project(YourProjectName)
# 获取文件夹中的所有源文件
file(GLOB SOURCES "your_folder/*.cpp" "your_folder/*.c")
# 添加源文件到你的目标中
add_executable(YourExecutable ${SOURCES})
```
在上面的示例中,`your_folder` 是你要包含源文件的文件夹的路径。`file(GLOB ...)` 命令将使用通配符 `*` 来匹配文件夹中的所有 `.cpp` 和 `.c` 文件,并将它们存储在 `SOURCES` 变量中。然后,你可以使用 `add_executable` 命令将这些源文件添加到你的可执行目标中。
请注意,使用 `file(GLOB ...)` 命令可能会有一些限制和潜在的问题,特别是当你添加或删除源文件时。因此,在实际项目中,更好的做法是明确列出每个源文件,而不是使用通配符来获取它们。
cmakelist 增加外部文件夹
要在CMakeLists.txt文件中添加外部文件夹,可以使用add_subdirectory命令。以下是具体步骤:
1. 在CMakeLists.txt文件中,找到要添加外部文件夹的位置。
2. 使用add_subdirectory命令来添加外部文件夹。该命令的语法如下:
```
add_subdirectory(<外部文件夹路径> <输出目录>)
```
外部文件夹路径为相对于CMakeLists.txt文件的路径,输出目录用于指定生成的目标文件的输出位置,可以是一个相对路径或绝对路径。
3. 在外部文件夹中,需要有一个CMakeLists.txt文件,用于定义该文件夹的构建规则。在这个文件中,可以定义需要构建的目标、源文件、库依赖关系等。
4. 重新运行CMake命令以生成新的构建系统文件。这将包含添加了外部文件夹的构建规则。
5. 编译并构建项目,确保添加的外部文件夹被正确地链接到主项目中。
通过以上步骤,就可以在CMakeLists.txt文件中成功地添加外部文件夹,并将其集成到项目中。
阅读全文