cmakelist中依赖头文件如何添加
时间: 2024-12-16 19:29:50 浏览: 10
[cmake]添加依赖库的两种方式:从源码编译和使用已编译好的库 - 玄冬Wong - ITeye技术网站1
在CMakeLists.txt文件中添加对头文件的依赖,是为了确保构建系统在编译源代码时能够找到和处理所需的头文件。以下是基本步骤:
1. **Find模块**:
- CMake提供了一些预定义的Find模块(如FindBoost、FindOpenCV等),用于查找特定库及其头文件的位置。例如,如果依赖于某个库,首先使用`find_package(<library_name>)`来查找它,CMake会自动添加包含路径。
```cmake
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
```
2. **添加目标依赖**:
- 使用`target_include_directories`函数指定目标需要包含哪些目录,包括那些包含头文件的目录。
```cmake
add_executable(my_program main.cpp)
target_include_directories(my_program PRIVATE ${Boost_INCLUDE_DIRS})
```
这里的`PRIVATE`表示这些目录仅对当前目标生效。
3. **自定义搜索路径**:
- 如果库的头文件不在标准路径,可以使用`set(CMAKE_INCLUDE_PATH ...)`手动设置包含路径,或者创建一个变量(如`MY_PROJECT_HEADERS`)来保存路径,然后使用`target_include_directories()`引用该变量。
```cmake
set(MY_PROJECT_HEADERS "path/to/my_headers")
target_include_directories(my_program ${MY_PROJECT_HEADERS})
```
4. **添加源文件时指定**:
- 在`add_executable`或`add_library`命令中,你可以直接列出依赖的源文件和对应的头文件。
```cmake
add_executable(my_program src/main.cpp src/myheader.h)
```
这里假设`src/main.cpp`需要`src/myheader.h`。
记得在每次修改CMakeLists.txt后,通过`cmake .`重新配置项目,以便CMake更新依赖关系。
阅读全文