在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 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个关键变量,都指向项目的源代码目录。然而,在处理多个项目(包括子项目或多个CMakeLists.txt文件)时,这两个变量的值会有所差异。例如,考虑以下项目结构:接着,在项目根目录下执行以下指令:通过终端输出的Message信息,我们可以观察到在整个...
This page包含一个很好的摘要,CMake已经为我们定义了变量.我觉得有些变量是一样的.以CMAKE_SOURCE_DIR和PROJECT_SOURCE_DIR为例.它们是相同的,指的是定义顶级CMakeLists.txt的文件夹.所以我的问题是:他们之间有微妙的区别吗?谢谢. 这些变量之间有差异.CMAKE_SOURCE_DIR确实是指定义了顶级CMakeLists.txt的文件夹...
PROJECT_NAME:当前项目名称,CMAKE_PROJECT_NAME: 根项目名称; PROJECT_BINARY_DIR,<projectname>_BINARY_DIR,CMAKE_BINARY_DIR: 项目的编译目录,通常为生成时指定的/build子目录,三者的细微区别由前缀体现。 PROJECT_SOURCE_DIR,<projectname>_SOURCE_DIR,CMAKE_SOURCE_DIR: 项目的源文件目录,通常为 project 命令...
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_BINARY_DIR PROJECT_BINARY_DIR变量则指的是CMake生成的构建文件所在的目录,也就是构建输出目录。这个目录通常包含了由CMake生成的构建文件、目标文件、库文件等。在构建过程中,CMake会根据PROJECT_BINARY_DIR来输出构建结果。 默认情况下,PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR是同一个目录,也就是说构建文...
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下。具体原因见后文外部编译部分; CMAKE_INCLUDE_PATH:环境变量,非cmake变量; CMAKE_LIBRARY_PATH:环境变量; CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt文件所在路径; ...
project (demo) add_executable(main main.c) 2.3 运行查看 在终端下切到main.c所在的目录下,然后输入以下命令运行cmake: cmake . 输出结果如下: ps:此时,建议留意一下这个文件夹下多生成的文件都有哪些。 可以看到成功生成了Makefile,还有一些cmake运行时自动生成的文件。