在CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个非常重要的变量,它们都指向项目的源代码目录,但在多项目(子项目或多个 CMakeLists.txt 文件)的情况下,它们的值有所不同。 CMAKE_SOURCE_DIR 定义:CMAKE_SOURCE_DIR指向最顶层的 CMakeLists.txt 文件所在的目录,即整个项目的根目录。 用途:这个变量在...
PROJECT_SOURCE_DIR 和 CMAKE_SOURCE_DIR对比在 CMake 中, PROJECT_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信息,我们可以观察到在整个...
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 编译目录 ...
1,CMAKE_SOURCE_DIR、PROJECT_SOURCE_DIR、<projectname>_SOURCE_DIR 不论采用何种编译方式,这三个变量都指的是工程顶层目录。 2,CMAKE_CURRENT_SOURCE_DIR 指的是当前处理的CMakeLists.txt所在的路径。 3,PROJECT_NAME 返回通过PROJECT指令定义的项目名称。
PROJECT_BINARY_DIR:运行cmake命令的目录。笔者建议定义为${PROJECT_SOURCE_DIR}/build下。具体原因见后文外部编译部分; CMAKE_INCLUDE_PATH:环境变量,非cmake变量; CMAKE_LIBRARY_PATH:环境变量; CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt文件所在路径; ...
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中也可以利用一些循环方法设置变量: ...
对于生成的库文件来说和可执行程序一样都可以指定输出路径。由于在Linux下生成的动态库默认是有执行权限的,所以可以按照生成可执行程序的方式去指定它生成的目录 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 方式2 由于在Linux下生成的静态库默认不具有可执行权限,所以在指定静态库生成的路径的时候就...