1. CMAKE_SOURCE_DIR CMAKE_SOURCE_DIR是一个指向CMake配置开始时的项目源代码根目录的路径。这个变量通常用于定位项目源代码中的文件和目录。例如,如果你想在构建过程中复制一些文件到构建目录,你可以使用CMAKE_SOURCE_DIR来指定源文件的路径。 示例: add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/copied_fi...
例如,如果使用add_subdirectory命令将依赖项包含到项目中,则依赖项将具有自己的依赖项,CMAKE_CURRENT_SOURCE_DIR但CMAKE_SOURCE_DIR将保持不变。 展开一些程序员花花公子的评论,想象一下您在项目的不同目录中具有以下三个CMakeFiles CMakeLists.txt cmake_minimum_required(VERSION 3.12) message("root dir CMAKE_...
在CMake 中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个非常重要的变量,它们都指向项目的源代码目录,但在多项目(子项目或多个 CMakeLists.txt 文件)的情况下,它们的值有所不同。 CMAKE_SOURCE_DIR 定义:CMAKE_SOURCE_DIR指向最顶层的 CMakeLists.txt 文件所在的目录,即整个项目的根目录。 用途:这个变量在...
使用CMake的内置变量,如CMAKE_SOURCE_DIR,可以帮助定义更灵活的路径。 避免硬编码:尽量避免硬编码绝对路径。可以使用环境变量或CMake变量来提高路径的通用性和可配置性。 set(PROJECT_ROOT ${CMAKE_SOURCE_DIR}) include_directories(${PROJECT_ROOT}/include) 在这个例子中,使用CMAKE_SOURCE_DIR作为项目根目录的...
定义:CMAKE_SOURCE_DIR 指向最顶层的 CMakeLists.txt 文件所在的目录,即整个项目的根目录。 用途:这个变量在整个项目构建过程中保持不变,无论当前处理的是哪个 CMakeLists.txt 文件。它非常适合用于定义整个项目范围内的源代码路径。 PROJECT_SOURCE_DIR 定义:PROJECT_SOURCE_DIR 指向包含最近一次调用 project() 命...
cmake find_package时使用的路径,通过修改CMAKE_MODULE_PATH变量,例子: set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ) list( APPEND CMAKE_MODULE_PATH "${CMAKE_ROOT}/Modules" ) 1. 2. CMAKE_ROOT为:/home/darknet/CM/profile/cmake-3.16.1-Linux-x86_64/share/cmake-3.16 ...
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 编译目录 ...
CMAKE_BINARY_DIR,PROJECT_BINARY_DIR:这两个变量内容一致,如果是内部编译,就指的是工程的顶级目录,如果是外部编译,指的就是工程编译发生的目录。 CMAKE_SOURCE_DIR,PROJECT_SOURCE_DIR:这两个变量内容一致,都指的是工程的顶级目录。 CMAKE_CURRENT_BINARY_DIR:外部编译时,指的是target目录,内部编译时,指的是顶...
将文件夹下所有文件输出到日志文件中(包括所有子文件夹下的)
cmakeCopycodeinclude_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) 然而,在多级子目录的情况下,如果在 main.cpp 所在的子目录中,使用上述方式可能会导致找不到头文件的错误。 解决办法 为了解决这个问题,我们可以使用 CMAKE_CURRENT_LIST_DIR 变量来获取当前 CMakeList...