1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-14 10:12:59 +02:00
vcmi/docs/developers/CMake.md
2024-07-17 18:17:55 +02:00

813 B

CMake options

  • -D CMAKE_BUILD_TYPE=Debug
    • Enables debug info and disables optimizations
  • -D CMAKE_EXPORT_COMPILE_COMMANDS=ON
    • Creates compile_commands.json for clangd language server.

      For clangd to find the JSON, create a file named .clangd with this content

      CompileFlags:
      	CompilationDatabase: build
      

      and place it here:

      .
      ├── vcmi -> contains sources and is under git control
      ├── build -> contains build output, makefiles, object files,...
      └── .clangd
      
  • -D ENABLE_CCACHE:BOOL=ON
    • Speeds up recompilation
  • -G Ninja
    • Use Ninja build system instead of Make, which speeds up the build and doesn't require a -j flag