其他分享
首页 > 其他分享> > 三、CMake项目的二进制目录和源目录

三、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