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

本文详细介绍了CMake中的关键目录变量及其在项目结构中的作用,通过示例展示了如何在CMakeLists.txt中使用这些变量进行依赖环境配置和构建过程中的定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值