CMAKE_EXPORT_COMPILE_COMMANDS
时间: 2023-09-12 20:05:03 浏览: 93
CMAKE_EXPORT_COMPILE_COMMANDS是一个CMake的选项,用于生成编译命令的JSON文件。该文件记录了每个源文件的编译信息,包括编译器、编译选项以及包含的头文件等。这个选项通常用于与其他工具进行集成,例如静态分析工具或语言服务器。通过设置该选项为ON,CMake会生成一个名为compile_commands.json的文件,可以在构建过程中使用该文件进行代码导航、代码补全和代码分析等操作。
相关问题
CMAKE_SOURCE_DIR
CMAKE_SOURCE_DIR是一个cmake系统预定义变量,它指定了包含PROJECT()命令的最近一个CMakeLists.txt文件所在的文件夹路径。\[1\]这个变量可以用来指定工程的根目录,方便在CMakeLists.txt文件中引用其他文件或目录。
#### 引用[.reference_title]
- *1* *2* *3* [CMAKE常用内置变量解释:CMAKE_SOURCE_DIR/EXECUTABLE_OUTPUT_PATH/CMAKE_EXPORT_COMPILE_COMMANDS](https://blog.csdn.net/qq_33726635/article/details/121896681)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
cmake打印编译命令
在使用CMake构建项目时,我们可以通过设置CMake变量来打印出编译命令。具体的方法是在CMakeLists.txt文件中添加以下两行代码:
```cmake
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
```
第一行代码将设置CMake输出构建信息,包括编译命令。
第二行代码将生成一个名为compile_commands.json的文件,其中包含了每个源文件的编译命令。
通过这两行代码的设置,我们可以在构建项目时在终端或者IDE的输出窗口中看到完整的编译命令,包括编译器、标志以及源文件路径等。
同时,JSON文件compile_commands.json也非常有用,可以被一些编辑器或IDE用于代码导航和自动补全等功能。
需要注意的是,使用这种方式打印编译命令会对构建效率造成一定的影响,因为CMake需要记录并输出详细的构建信息。在正式发布项目或者构建速度对你很重要的情况下,可以关闭这个功能。