在CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个非常重要的变量,它们都指向项目的源代码目录,但在多项目(子项目或多个 CMakeLists.txt 文件)的情况下,它们的值有所不同。 CMAKE_SOURCE_DIR 定义:CMAKE_SOURCE_DIR指向最顶层的 CMakeLists.txt 文件所在的目录,即整个项目的根目录。 用途:这个变量在...
PROJECT_SOURCE_DIR 定义:PROJECT_SOURCE_DIR 指向包含最近一次调用 project() 命令的 CMakeLists.txt 文件的目录。 用途:在包含多个子项目的情况下,每个子项目(每次调用 project() 命令)都会重新设置 PROJECT_SOURCE_DIR。这使得每个子项目可以有自己独立的源代码目录路径。 示例 比如说,我们有以下项目结构: /MyPr...
在 CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个关键变量,都指向项目的源代码目录。然而,在处理多个项目(包括子项目或多个CMakeLists.txt文件)时,这两个变量的值会有所差异。例如,考虑以下项目结构:接着,在项目根目录下执行以下指令:通过终端输出的Message信息,我们可以观察到在整个...
原文https://stackoverflow.com/questions/32028667/are-cmake-source-dir-and-project-source-dir-the-same-in-cmake This page包含一个很好的摘要,CMake已经为我们定义了变量.我觉得有些变量是一样的.以CMAKE_SOURCE_DIR和PROJECT_SOURCE_DIR为例.它们是相同的,指的是定义顶级CMakeLists.txt的文件夹.所以我的...
SOURCE_DIR确实指的是定义顶级CMakeLists.txt的文件夹。但是,PROJECT_SOURCE_DIR指的是包含最新project(...