PROJECT_SOURCE_DIR 和 CMAKE_SOURCE_DIR对比在 CMake 中, PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个非常重要的变量,它们都指向项目的源代码目录,但在多项目(子项目或多个 CMakeLists.txt 文件)的情况下,…
在CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个非常重要的变量,它们都指向项目的源代码目录,但在多项目(子项目或多个 CMakeLists.txt 文件)的情况下,它们的值有所不同。 CMAKE_SOURCE_DIR 定义:CMAKE_SOURCE_DIR指向最顶层的 CMakeLists.txt 文件所在的目录,即整个项目的根目录。 用途:这个变量在...
变量CMAKE_CURRENT_SOURCE_DIR和CMAKE_CURRENT_LIST_DIR可以指代由具有include命令的不同文件包括的CMake列表文件的不同目录.例如,如果目录项目中存在CMakeLists.txt并且包含以下指令 include(src/CMakeLists.txt) 然后在处理src/CMakeLists.txt时,CMAKE_CURRENT_LIST_DIR将引用project / src,而CMAKE_CURRENT_SOURCE...
在 CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个关键变量,都指向项目的源代码目录。然而,在处理多个项目(包括子项目或多个CMakeLists.txt文件)时,这两个变量的值会有所差异。例如,考虑以下项目结构:接着,在项目根目录下执行以下指令:通过终端输出的Message信息,我们可以观察到在整个...
<projectname>_SOURCE_DIR 这三个变量指代的内容是一样的。不论采用何种编译方式,都是工程顶层目录。 3、CMAKE_CURRENT_SOURCE_DIR 指的是当前处理CMakeLists.txt所在的路径,比如上面我们提到的src子目录。 4、CMAKE_CURRENT_BINARY_DIR 如果是in-source边柜,它和CMAKE_CURRENT_DIR一样,如果是out-of-source编...
CMAKE_BINARY_DIR,PROJECT_BINARY_DIR:这两个变量内容一致,如果是内部编译,就指的是工程的顶级目录,如果是外部编译,指的就是工程编译发生的目录。 CMAKE_SOURCE_DIR,PROJECT_SOURCE_DIR:这两个变量内容一致,都指的是工程的顶级目录。 CMAKE_CURRENT_BINARY_DIR:外部编译时,指的是target目录,内部编译时,指的是顶...
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_SOURCE_DIR变量指的是CMakeLists.txt文件所在的目录,也就是项目的源代码目录。在构建过程中,这个目录通常包含了项目的所有源代码文件、头文件、资源文件等。CMake会根据这个目录来查找和处理项目中的源文件,生成相应的构建文件(如Makefile、Ninja文件等)。 举个例子,假设你有一个名为my_project的目录,这个...
set(EXEC_OUTPUT_PATH, $(PROJECT_SOURCE_DIR}/output) 指定可执行文件输出路径 CMAKE_CURRENT_BINARY_DIR 用于指定当前的二进制文件生成路径 CMAKE_CUREENT_SOURCE_DIR指定当前CMAKEFILE文件所在目录 添加依赖: include_directories:添加头文件搜索路径,相当于-I ...
PROJECT_SOURCE_DIR: 当前项目的路径,即为/project PROJECT_BINARY_DIR: 项目编译后存放的路径/project/build CMAKE_CURRENT_BINARY_DIR:与PROJECT_BINARY_DIR基本相同 CMAKE_CURRENT_SOURCE_DIR:与PROJECT_SOURCE_DIR基本相同 在cmake中也可以利用一些循环方法设置变量: ...