PROJECT_BINARY_DIR变量则指的是CMake生成的构建文件所在的目录,也就是构建输出目录。这个目录通常包含了由CMake生成的构建文件、目标文件、库文件等。在构建过程中,CMake会根据PROJECT_BINARY_DIR来输出构建结果。 默认情况下,PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR是同一个目录,也就是说构建文件会被输出到源代码...
CMAKE_CTEST_COMMAND: 指向ctest可执行程序的全路径。 CMAKE_CURRENT_BINARY_DIR: 当前正在处理的构建目录。每个由add_subdirectory添加的目录将会在构建树中创建一个构建目录。对于直接在源码目录中编译的情况,当前正在处理的构建目录就是当前源码所在的目录。 CMAKE_CURRENT_LIST_DIR: 当前处理的CMakeLists.txt文件...
< projectname >_BINARY_DIR:二进制文件保存路径; < projectname >_SOURCE_DIR:源代码路径; project(CRNode) 执行了上一条指令,即定义了一个项目名称CRNode,相应的会生成两个变量:CRNode_BINARY_DIR, CRNode_SOURCE_DIR。 cmake中预定义了两个变量:PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR。 在这个例子中: ...
在CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个非常重要的变量,它们都指向项目的源代码目录,但在多项目(子项目或多个 CMakeLists.txt 文件)的情况下,它们的值有所不同。 CMAKE_SOURCE_DIR 定义:CMAKE_SOURCE_DIR指向最顶层的 CMakeLists.txt 文件所在的目录,即整个项目的根目录。 用途:这个变量在...
1、PROJECT_SOURCE_DIR/CMAKE_SOURCE_DIR/_SOURCE_DIR:为包含PROJECT()命令的最近一个CMakeLists.txt文件所在的文件夹路径。2、PROJECT_BINARY_DIR 运行cmake命令的目录,即工程编译发生的路径 例如: PROJECT_SOURCE_DIR:/opt/c++/ctest/test PROJECT_BINARY_DIR:/opt/c++/ctest/test/build3、PROJECT_NAME:本CMa...
PROJECT_BINARY_DIR: 这个变量指向你的项目的构建目录,即你从哪里调用cmake命令。 如果你在源代码目录内部调用cmake(即原地构建),那么PROJECT_BINARY_DIR将与PROJECT_SOURCE_DIR相同。 如果你在一个单独的目录(如/home/user/my_project_build/)中调用cmake(推荐的做法,称为外部构建),那么PROJECT_BINARY_DIR将被...
CMAKE_BINARY_DIR,PROJECT_BINARY_DIR:这两个变量内容一致,如果是内部编译,就指的是工程的顶级目录,如果是外部编译,指的就是工程编译发生的目录。 CMAKE_SOURCE_DIR,PROJECT_SOURCE_DIR:这两个变量内容一致,都指的是工程的顶级目录。 CMAKE_CURRENT_BINARY_DIR:外部编译时,指的是target目录,内部编译时,指的是顶...
PROJECT_BINARY_DIR = CRNode_BINARY_DIR PROJECT_SOURCE_DIR = CRNode_SOURCE_DIR 笔者强烈推荐直接使用PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR,这样及时项目名称发生了变化,也不会影响CMakeLists.txt文件。 关于上面两个变量是否相同的问题,涉及到编译方法是内部编译还是外部编译。如果是内部编译,则上面两个变量相同...
SOURCE_DIR确实指的是定义顶级CMakeLists.txt的文件夹。但是,PROJECT_SOURCE_DIR指的是包含最新project(...
这个指令隐式的定义了两个 cmake变量: PROJECT_BINARY_DIR以及PROJECT_SOURCE_DIR。分别指向项目的编译路径和工程路径。 PROJECT (HELLO) #生成可执行文件,${}来引用变量。 ADD_EXECUTABLE(Executable program name ${ Source files }) 到这里,一个可执行程序就生成了。如果要管理依赖第三方库的工程,就需要加入...