Skip to content
Yiftah Waisman edited this page Oct 20, 2024 · 15 revisions

Info

CMake Tools solution is limited

  • must use CMake as the build system
  • must use VSCode's CMake Tools to build your project (running cmake .., make on your project will not cause CMake Tools to merge the generated db files)

Settings Implementation Suggestion:

  • define the following entries in .vscode/settings.json:
    // already implemented
    "C_Cpp.default.compileCommands": "${workspaceFolder}/build/merged_compile_commands.json",
    // new
    "C_cpp.mergeCompileCommands": { 
        "source": [
            "${workspaceFolder}/build/proj1/compile_commands.json",
            "${workspaceFolder}/build/proj2/compile_commands.json",
        ],
        "destination": "${workspaceFolder}/build/merged_compile_commands.json"
    },
  • "C_Cpp.default.compileCommands" is not changed to an array for backwards compatibility, specifying multiple sources will not inform where the destination file should be saved.
  • "C_Cpp.default.compileCommands" can also be ignored and overridden to C_cpp.mergeCompileCommands.destination (not mandatory)

Why not use paths already defined in .vscode/c_cpp_properties.json configurations?

  • fill me with data

Why are glob patterns not supported?

  • fill me with data
Clone this wiki locally