0
点赞
收藏
分享

微信扫一扫

【CMake】6.CMake 目录变量及其说明


CMake 示例工程代码

https://github.com/LABELNET/cmake-simple

1. 目录变量

CMake中经常使用的目录变量,可用于依赖环境配置和构建

  1. CMAKE_SOURCE_DIR ,项目源码根路径
  2. CMAKE_BINARY_DIR,项目源码构建路径,一般为 build 文件夹路径
  3. CMAKE_CURRENT_SOURCE_DIR ,当前 CMakeLists.txt 所在的源码路径
  4. CMAKE_CURRENT_BINARY_DIR ,当前 CMakeLists.txt 所在的构建路径
  5. CMAKE_CURRENT_LIST_DIR,当前 CMakeLists.txt 的路径
  6. CMAKE_MODULE_PATH ,当前第三方模块 cmake 文件夹路径

2. 示例

simple 项目目录结构为

$ simple
- build
- cmake
- demo
	- include
	- src
	- CMakeLists.txt  # 主模块
- CMakeLists.txt     # 项目

添加变量信息打印代码

message(STATUS "1.CMAKE_SOURCE_DIR : ${CMAKE_SOURCE_DIR}")
message(STATUS "2.CMAKE_BINARY_DIR : ${CMAKE_BINARY_DIR}")
message(STATUS "3.CMAKE_CURRENT_SOURCE_DIR : ${CMAKE_CURRENT_SOURCE_DIR}")
message(STATUS "4.CMAKE_CURRENT_BINARY_DIR : ${CMAKE_CURRENT_BINARY_DIR}")
message(STATUS "5.CMAKE_CURRENT_LIST_DIR : ${CMAKE_CURRENT_LIST_DIR}")
message(STATUS "6.CMAKE_MODULE_PATH : ${CMAKE_MODULE_PATH}")

3.项目/CMakeLists.txt 输出

在 CMakeLists.txt 中添加目录变量,输出为

  • CMAKE_SOURCE_DIR ,可见项目根目录
  • CMAKE_BINARY_DIR ,可见项目 build 目录

可根据目录变量进行相关配置

[cmake] -- 1.CMAKE_SOURCE_DIR : D:/project-cpp/cmake-simple/simple
[cmake] -- 2.CMAKE_BINARY_DIR : D:/project-cpp/cmake-simple/simple/build
[cmake] -- 3.CMAKE_CURRENT_SOURCE_DIR : D:/project-cpp/cmake-simple/simple
[cmake] -- 4.CMAKE_CURRENT_BINARY_DIR : D:/project-cpp/cmake-simple/simple/build
[cmake] -- 5.CMAKE_CURRENT_LIST_DIR : D:/project-cpp/cmake-simple/simple
[cmake] -- 6.CMAKE_MODULE_PATH : D:/project-cpp/cmake-simple/simple/cmake;

4.demo模块/CMakeLists.txt 输出

在 CMakeLists.txt 中添加目录变量,输出为

  • CMAKE_SOURCE_DIR ,可见也是项目根目录
  • CMAKE_BINARY_DIR ,可见也是项目 build 目录
  • CMAKE_CURRENT_SOURCE_DIR 为模块目录
  • CMAKE_CURRENT_LIST_DIR 为 模块/CMakeLists.txt 所在目录

可根据目录变量进行相关配置

[cmake] -- 1.CMAKE_SOURCE_DIR : D:/project-cpp/cmake-simple/simple
[cmake] -- 2.CMAKE_BINARY_DIR : D:/project-cpp/cmake-simple/simple/build
[cmake] -- 3.CMAKE_CURRENT_SOURCE_DIR : D:/project-cpp/cmake-simple/simple/demo
[cmake] -- 4.CMAKE_CURRENT_BINARY_DIR : D:/project-cpp/cmake-simple/simple/build/demo
[cmake] -- 5.CMAKE_CURRENT_LIST_DIR : D:/project-cpp/cmake-simple/simple/demo
[cmake] -- 6.CMAKE_MODULE_PATH : D:/project-cpp/cmake-simple/simple/cmake;


举报

相关推荐

0 条评论