在CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个非常重要的变量,它们都指向项目的源代码目录,但在多项目(子项目或多个 CMakeLists.txt 文件)的情况下,它们的值有所不同。 CMAKE_SOURCE_DIR 定义:CMAKE_SOURCE_DIR指向最顶层的 CMakeLists.txt 文件所在的目录,即整个项目的根目录。 用途:这个变量在...
PROJECT_BINARY_DIR变量则指的是CMake生成的构建文件所在的目录,也就是构建输出目录。这个目录通常包含了由CMake生成的构建文件、目标文件、库文件等。在构建过程中,CMake会根据PROJECT_BINARY_DIR来输出构建结果。 默认情况下,PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR是同一个目录,也就是说构建文件会被输出到源代码...
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 PROJECT_SOURCE_DIR 是一个CMake的变量,用于存储当前项目源代码的顶级目录的路径。这个路径通常用于表示 CMake 要编译的项目目录,即通过执行 cmake .. 命令让 CMake 读取上一级目录下的 CMakeLists.txt 文件来配置项目的参数和选项。 在CMakeLists.txt 文件中,可以使用 ${PROJECT_SOURCE_DIR} ...
PROJECT(test) ADD_SUBDIRECTORY(src) test/src/CMakeLists.txt文件内容为 CMAKE_MINIMUM_REQUIRED(VERSION2.8) #PROJECT(main) 在build中执行cmake ..(两个小数点别丢了)则PROJECT_SOURCE_DIR的值为(parent_path)/test, 取消#PROJECT(main)的注释,PROJECT_SOURCE_DIR的值为(parent_path)/test/src ...
CMAKE_VERSION: CMake的完全版本号。格式:major.minor.patch[.tweak[-id]]。 PROJECT_BINARY_DIR: 工程的构建目录。 PROJECT_NAME: 工程名。 PROJECT_SOURCE_DIR: 当前工程的顶级目录。 [Project name]_BINARY_DIR: 对应工程的顶级构建目录。 [Project name]_SOURCE_DIR: 对应工程的源码目录。
在 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 编译目录 ...
PROJECT_SOURCE_DIR:工程根目录; PROJECT_BINARY_DIR:运行cmake命令的目录。笔者建议定义为${PROJECT_SOURCE_DIR}/build下。具体原因见后文外部编译部分; CMAKE_INCLUDE_PATH:环境变量,非cmake变量; CMAKE_LIBRARY_PATH:环境变量; CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt文件所在路径; ...
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/static_lib) 这样,构建生成的文件就会按照指定的路径存放。 二、安装拷贝 除了设置当前目录输出外,CMake还提供了安装拷贝的功能,即将构建生成的文件和库安装到目标系统的指定路径中。这通常是通过install()命令来实现的。 install()命令有多个参数,其中最常...