CMake 开发随笔

预定义变量

源文件路径

变量名含义会因 add_subdirectory() 变化会因 project() 变化用途推荐使用场景
CMAKE_SOURCE_DIR顶层 CMake 项目的源代码目录(CMake 最初运行的目录)❌ 否❌ 否全局设置、根路径引用获取整个 CMake 项目的根目录
PROJECT_SOURCE_DIR当前 project() 指令所在目录✅ 是✅ 是模块级路径引用(推荐)获取当前模块(Project)目录
CMAKE_CURRENT_SOURCE_DIR当前 CMakeLists.txt 文件所在目录✅ 是❌ 否当前目录相关文件引用(强烈推荐)获取当前 CMakeLists 所在目录