CMAKE常用内置变量解释:CMAKE_SOURCE_DIR/EXECUTABLE_OUTPUT_PATH/CMAKE_EXPORT_COMPILE_COMMANDS

前言:

  • cmake的内置命令是不区分大小写
    因此add_subdirectoryADD_SUBDIRECTORY作用一致。
  • cmake的所有变量都是区分大小写

1、PROJECT_SOURCE_DIR 与 PROJECT_BINARY_DIR
cmake系统预定义变量: 指定工程路径

  • PROJECT_SOURCE_DIR/CMAKE_SOURCE_DIR/_SOURCE_DIR 为包含PROJECT()命令的最近一个CMakeLists.txt文件所在的文件夹路径
  • PROJECT_BINARY_DIR/CMAKE_BINARY_DIR/_BINARY_DIR 运行cmake命令的目录,即工程编译发生的路径

参考资料:cmake中PROJECT_SOURCE_DIR的遐思

2、EXECUTABLE_OUTPUT_PATH 与 LIBRARY_OUTPUT_PATH
cmake系统预定义变量:
2.1、EXECUTABLE_OUTPUT_PATH: 指定最终的可执行文件的位置
例: 设置可执行文件输出路径

 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)   

2.2、LIBRARY_OUTPUT_PATH: 设置库文件的输出目录
例: 设置库文件输出路径

SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)    
以上两变量在新版本中已被`CMAKE_RUNTIME_OUTPUT_DIRECTORY`和`CMAKE_ARCHIVE_OUTPUT_DIRECTORY`代替  

参考资料: CMake 设置Target输出目录和后缀名

3、CMAKE_EXPORT_COMPILE_COMMANDS
设置是否生成compile_commands.json文件来记录编译过程
例:

set(CMAKE_EXPORT_COMPILE_COMMANDS ON) 

默认不开启,开启后,生成的compile_commands.json包含所有编译单元所执行的指令。可查看编译的具体文件。

参考资料:CMAKE:CMAKE_EXPORT_COMPILE_COMMANDS

上一篇:spring boot 与 Ant Design of Vue 实现修改组织(二十五)


下一篇:C++:onnxruntime调用FasterRCNN模型