CMAKE_CURRENT_BINARY_DIR---target编译目录(使用ADD_SURDIRECTORY(src bin)可以更改此变量的值 ,SET(EXECUTABLE_OUTPUT_PATH <新路径>)并不会对此变量有影响,只是改变了最终目标文件的存储路径); CMAKE_CURRENT_LIST_FILE---输出调用这个变量的CMakeLists.txt的完整路径; CMAKE_CURRENT_LIST_LINE---输出这个变...
CMAKE_CURRENT_LIST_FILE :输出调用这个变量的CMakeLists.txt 的完整路径 CMAKE_MODULE_PATH :定义自己的cmake 模块所在的路径 EXECUTABLE_OUTPUT_PATH :重新定义最终结果的存放目录 LIBRARY_OUTPUT_PATH :重新定义最终结果的存放目录 CMAKE_INCLUDE_CURRENT_DIR :自动添加CMAKE_CURRENT_BINARY_DIR 和CMAKE_CURRENT_...
变量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...
CMAKE_CURRENT_SOURCE_DIR: 当前处理的CMakeLists.txt所在的路径 CMAKE_CURRENT_BINARY_DIR: 当前处理的CMakeLists.txt所定义的target编译目录 CMAKE_CURRENT_LIST_DIR: 当前CMakeLists.txt的完整路径 CMAKE_CURRENT_LIST_LINE: 当前所有的行 CMAKE_MODULE_PATH: 定义自己的cmake模块所在的路径 EXECUTABLE_OUTPUT_...
include(${CMAKE_CURRENT_LIST_DIR}/FileName.cmake) 在上面的例子中,FileName.cmake是要包含的文件名,${CMAKE_CURRENT_LIST_DIR}是一个CMake变量,表示当前正在处理的CMakeLists.txt文件所在的目录。 include指令的作用域 include指令的作用域是全局的,这意味着被包含的文件中的命令和变量设置将在当前CMakeList...
CMAKE_CURRENT_FUNCTION_LIST_DIR 当前执行的函数所在 CMakeLists.txt 文件的目录 CMAKE_CURRENT_FUNCTION_LIST_FILE 当前执行的函数所在 CMakeLists.txt 文件名(完整带路径) CMAKE_CURRENT_FUNCTION_LIST_LINE 当前执行的函数所在的行数(function 语句的行号) 宏 宏的标准语法如下,定义名为<name>的宏,接收名为...
CMAKE_SOURCE_DIR,PROJECT_SOURCE_DIR:这两个变量内容一致,都指的是工程的顶级目录。 CMAKE_CURRENT_BINARY_DIR:外部编译时,指的是target目录,内部编译时,指的是顶级目录 CMAKE_CURRENT_SOURCE_DIR:CMakeList.txt所在的目录 CMAKE_CURRENT_LIST_DIR:CMakeList.txt的完整路径 ...
CMAKE_CURRENT_LIST_DIR:CMakeLists.txt 的完整路径 CMAKE_CURRENT_LIST_LINE:当前所在的行 CMAKE_MODULE_PATH:定义自己的 cmake 模块所在的路径,SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake),然后可以用INCLUDE命令来调用自己的模块 EXECUTABLE_OUTPUT_PATH:重新定义目标二进制可执行文件的存放位置 ...
答案是可以的。Git 天生提供了 pre-commit hooks 能力,允许我们预设一些检查脚本在提交前做一些检查。手...
如果是 in-source 编译,它跟 CMAKE_CURRENT_SOURCE_DIR 一致,如果是 out-of-source 编译,他指的是 target 编译目录。 使用我们上面提到的 ADD_SUBDIRECTORY(src bin)可以更改这个变量的值。 使用SET(EXECUTABLE_OUTPUT_PATH <新路径>)并不会对这个变量造成影响,它仅仅修改了最终目标文件存放的路径。