cmake 中的 compile_commands.json 文件

cmake 是支持多种编译方式的工具,产生多种编译工具可以使用的编译文件,例如常用的gdb。 但是对于clang 编译工具,还需要一个compile_commands.json  
这个文件是由cmake 产生的,内容类似

[
  {
    "directory": "/home/user/development/project",
    "command": "/usr/bin/c++ ... -c ../foo/foo.cc",
    "file": "../foo/foo.cc"
  },

  ...

  {
    "directory": "/home/user/development/project",
    "command": "/usr/bin/c++ ... -c ../foo/bar.cc",
    "file": "../foo/bar.cc"
  }
]

是否产生这个文件可以由CMAKE_EXPORT_COMPILE_COMMANDS 来控制 
不过除此之外,还可以使用一些脚本来生成

原文地址:https://www.cnblogs.com/hustcpp/p/11970688.html