在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_SOURCE_DIR 示例 PROJECT_SOURCE_DIR 和 CMAKE_SOURCE_DIR对比 在CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个非常重要的变量,它们都指向项目的源代码目录,但在多项目(子项目或多个 CMakeLists.txt 文件)的情况下,它们的值有所不同。 CMAKE_SOURCE_DIR 定义:CMAKE_SOURCE_DIR 指向最顶层的...
在 CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个关键变量,都指向项目的源代码目录。然而,在处理多个项目(包括子项目或多个CMakeLists.txt文件)时,这两个变量的值会有所差异。例如,考虑以下项目结构:接着,在项目根目录下执行以下指令:通过终端输出的Message信息,我们可以观察到在整个...
本文将深入剖析CMake中的PROJECT_SOURCE_DIR和PROJECT_BINARY_DIR这两个重要变量,解释它们的含义、用途以及它们之间的区别,帮助读者更好地理解CMake构建系统的工作原理。
1、CMAKE_BINARY_DIR PROJECT_BINARY_DIR ** <projectname>_BINARY_DIR 这三个变量指代的内容是一样的,如果是 in source 编译,指的就是工程顶层目录,如果是out-ofosource编译,指的就是工程编译发生的目录。 2、CMAKE_SOURCE_DIR PROJECT_SOURCE_DIR ** ...
CMAKE_BINARY_DIR,PROJECT_BINARY_DIR:这两个变量内容一致,如果是内部编译,就指的是工程的顶级目录,如果是外部编译,指的就是工程编译发生的目录。 CMAKE_SOURCE_DIR,PROJECT_SOURCE_DIR:这两个变量内容一致,都指的是工程的顶级目录。 CMAKE_CURRENT_BINARY_DIR:外部编译时,指的是target目录,内部编译时,指的是顶...
CMAKE_VERSION: CMake的完全版本号。格式:major.minor.patch[.tweak[-id]]。 PROJECT_BINARY_DIR: 工程的构建目录。 PROJECT_NAME: 工程名。 PROJECT_SOURCE_DIR: 当前工程的顶级目录。 [Project name]_BINARY_DIR: 对应工程的顶级构建目录。 [Project name]_SOURCE_DIR: 对应工程的源码目录。
PROJECT_SOURCE_DIR:工程的根目录 PROJECT_BINARY_DIR:运行cmake命令的目录,通常为${PROJECT_SOURCE_DIR}/build PROJECT_NAME:返回通过 project 命令定义的项目名称 CMAKE_CURRENT_SOURCE_DIR:当前处理的 CMakeLists.txt 所在的路径 CMAKE_CURRENT_BINARY_DIR:target 编译目录 ...
PROJECT_BINARY_DIR:运行cmake命令的目录。笔者建议定义为${PROJECT_SOURCE_DIR}/build下。具体原因见后文外部编译部分; CMAKE_INCLUDE_PATH:环境变量,非cmake变量; CMAKE_LIBRARY_PATH:环境变量; CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt文件所在路径; ...