设置CMAKE_INCLUDE_CURRENT_DIR 的值为 ON,可以使项目包含 PROJECT_SOURCE_DIR 和 PROJECT_BINARY_DIR 两个目录。 包含PROJECT_SOURCE_DIR 路径,可以解决子目录下文件直接引入根目录下头文件。 包含PROJECT_BINARY_DIR 路径,可以解决生成在项目下的头文件,比如 QT 通过 UIC 生成的头文件。 set(CMAKE_INCLUDE_CURR...
CMAKE_SOURCE_DIR是cmake最初被调用的位置,CMAKE_CURRENT_SOURCE_DIR也是cmake当前正在工作的位置。例如,如果使用add_subdirectory命令将依赖项包含到项目中,则依赖项将具有自己的依赖项,CMAKE_CURRENT_SOURCE_DIR但CMAKE_SOURCE_DIR将保持不变。 展开一些程序员花花公子的评论,想象一下您在项目的不同目录中具有以下...
CMAKE_CURRENT_SOURCE_DIR是 CMake 中的一个预定义变量,它指向当前正在处理的 CMakeLists.txt 文件所在的目录。注意:如果使用相对路径,相对路径是相对于CMakeLists.txt 文件所在的目录,而非执行cmake命令的目录。 可以看到成功编译。 file file命令用于对文件和目录进行操作,包括检查文件属性、读取和写入文件内容、...
install(FILES ${PROJECT_BINARY_DIR}/bin/Release/NTBone.dll DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) 1. 拷贝程序到指定目录: # -- Installing: /home/spring/GitHub/Linux_Code_Test/ #Samples_CMake/messy_usage/install/build.sh install(PROGRAMS build.sh DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/i...
变量CMAKE_CURRENT_SOURCE_DIR和CMAKE_CURRENT_LIST_DIR可以指代由具有include命令的不同文件包括的CMake列表文件的不同目录.例如,如果目录项目中存在CMakeLists.txt并且包含以下指令 include(src/CMakeLists.txt) 然后在处理src/CMakeLists.txt时,CMAKE_CURRENT_LIST_DIR将引用project / src,而CMAKE_CURRENT_SOURCE...
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使用 ...
解决CMAKE_CURRENT_SOURCE_DIR在使用CMake构建项目时,经常会用到 CMAKE_CURRENT_SOURCE_DIR 这个...
CMAKE_BINARY_DIR,PROJECT_BINARY_DIR:这两个变量内容一致,如果是内部编译,就指的是工程的顶级目录,如果是外部编译,指的就是工程编译发生的目录。 CMAKE_SOURCE_DIR,PROJECT_SOURCE_DIR:这两个变量内容一致,都指的是工程的顶级目录。 CMAKE_CURRENT_BINARY_DIR:外部编译时,指的是target目录,内部编译时,指的是顶...