CMAKE_INCLUDE_CURRENT_DIR 设置CMAKE_INCLUDE_CURRENT_DIR 的值为 ON,可以使项目包含 PROJECT_SOURCE_DIR 和 PROJECT_BINARY_DIR 两个目录。 包含PROJECT_SOURCE_DIR 路径,可以解决子目录下文件直接引入根目录下头文件。 包含PROJECT_BINARY_DIR 路径,可以解决生
CMAKE_INCLUDE_CURRENT_DIR:如果设置为 ON,则在构建过程中自动将当前处理的 CMakeLists.txt 所在的目录添加到包含路径中。 CMAKE_LIBRARY_OUTPUT_DIRECTORY:库文件的输出目录。 CMAKE_RUNTIME_OUTPUT_DIRECTORY:可执行文件的输出目录。 以上是一些常用的 CMake 变量,其中包含了当前源码路径相关的变量。您可以在 CMa...
include(${CMAKE_CURRENT_LIST_DIR}/FileName.cmake) 在上面的例子中,FileName.cmake是要包含的文件名,${CMAKE_CURRENT_LIST_DIR}是一个CMake变量,表示当前正在处理的CMakeLists.txt文件所在的目录。 include指令的作用域 include指令的作用域是全局的,这意味着被包含的文件中的命令和变量设置将在当前CMakeList...
set(cmake_include_current_dir on)解释 `set(cmake_include_current_dir ON)`是一个CMake命令,用于设置CMake的行为方式。这个命令指示CMake在查找头文件时包括当前目录。 详细解释如下: 在CMake中,当你在代码中引用一个头文件(例如`include ""`或`include<>`),CMake需要知道去哪里找这个头文件。默认情况下...
1.19.5 CMAKE_INCLUDE_CURRENT_DIR 自动添加CMAKE_CURRENT_BINARY_DIR和CMAKE_CURRENT_SOURCE_DIR到当前处理 的CMakeLists.txt。 相当于在每个CMakeLists.txt加入: include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) 1. ...
cmakeCopycodeinclude_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) 然而,在多级子目录的情况下,如果在 main.cpp 所在的子目录中,使用上述方式可能会导致找不到头文件的错误。 解决办法 为了解决这个问题,我们可以使用 CMAKE_CURRENT_LIST_DIR 变量来获取当前 CMakeList...
CMAKE_INCLUDE_CURRENT_DIR :自动添加CMAKE_CURRENT_BINARY_DIR 和CMAKE_CURRENT_SOURCE_DIR 到当前处理的CMakeLists.txt PRIVATE: 将链接只用于当前目标,相当于.c包含,对外的.h不包含 INTERFACE: 将链接只用于依赖于当前目标的文件,当前目标不使用; 相当于.c不使用,对外的.h使用 ...
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG"${CMAKE_CURRENT_SOURCE_DIR}/../libtest/libd") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE"${CMAKE_CURRENT_SOURCE_DIR}/../libtest/lib") ...
比如:MESSAGE(STATUS “HOME dir: $ENV{HOME}”) 设置环境变量的方式是: SET(ENV{变量名} 值) 1.CMAKE_INCLUDE_CURRENT_DIR 自动添加 CMAKE_CURRENT_BINARY_DIR 和 CMAKE_CURRENT_SOURCE_DIR 到当前处理的 CMakeLists.txt。相当于在每个 CMakeLists.txt 加入: ...