1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-16 10:19:47 +02:00
vcmi/docs/developers/CMake.md

23 lines
813 B
Markdown
Raw Normal View History

# 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](https://clangd.llvm.org/) 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