三、CMake项目的二进制目录和源目录
作者:互联网
CMake 会为每个项目的二进制目录和源目录隐式生成两个变量:
<project_name>_BINARY_DIR
<project_name>_SOURCE_DIR
同时也存在这样的两个变量:
PROJECT_BINARY_DIR = <project_name>_BINARY_DIR
PROJECT_SOURCE_DIR = <project_name>_SOURCE_DIR
1. 这里项目名称为HelloCMake, 因此隐式变量为:
HelloCMake_BINARY_DIR
HelloCMake_SOURCE_DIR
同时查看一下:
PROJECT_BINARY_DIR
PROJECT_SOURCE_DIR
cmake 代码:
message(STATUS ${HelloCMake_BINARY_DIR})
message(STATUS ${PROJECT_BINARY_DIR})
message(STATUS ${HelloCMake_SOURCE_DIR})
message(STATUS ${PROJECT_SOURCE_DIR})
输出:
-- E:/ProjectCMake/3、CMake项目的二进制目录和源目录/build
-- E:/ProjectCMake/3、CMake项目的二进制目录和源目录/build
-- E:/ProjectCMake/3、CMake项目的二进制目录和源目录
-- E:/ProjectCMake/3、CMake项目的二进制目录和源目录
PROJECT_BINARY_DIR 对应的是执行cmake 命令所在的目录,这里是build 这个子目录的路径,而PROJECT_SOURCE_DIR 则对应源文件的目录,这里是build 的上一层目录,即CMakeList.txt对应的目录。
结果也显示了:
HelloCMake_BINARY_DIR = PROJECT_BINARY_DIR
HelloCMake_SOURCE_DIR = PROJECT_SOURCE_DIR
实际使用时,用PROJECT_XXX这个变量比较好,因为这两个变量不会因为项目名称的改变而改变,<project_name>_XXX 这个变量则要随项目名称的改变而更改。
标签:BINARY,HelloCMake,CMake,二进制,源目录,PROJECT,SOURCE,DIR 来源: https://blog.csdn.net/u012278016/article/details/111590117