2024-07-15 11:27:23 +02:00
# CMake options
2024-07-17 18:17:55 +02:00
* `-D CMAKE_BUILD_TYPE=Debug`
2024-11-30 22:20:15 +02:00
* Enables debug info and disables optimizations
2024-07-17 18:17:55 +02:00
* `-D CMAKE_EXPORT_COMPILE_COMMANDS=ON`
2024-11-30 22:20:15 +02:00
* 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
2024-12-05 22:39:29 +02:00
```text
2024-11-30 22:20:15 +02:00
CompileFlags:
CompilationDatabase: build
```
and place it here:
2024-12-05 22:39:29 +02:00
```text
2024-11-30 22:20:15 +02:00
.
├── vcmi -> contains sources and is under git control
├── build -> contains build output, makefiles, object files,...
└── .clangd
```
2024-07-17 18:17:55 +02:00
* `-D ENABLE_CCACHE:BOOL=ON`
2024-11-30 22:20:15 +02:00
* Speeds up recompilation
2024-07-17 18:17:55 +02:00
* `-G Ninja`
2024-11-30 22:20:15 +02:00
* Use Ninja build system instead of Make, which speeds up the build and doesn't require a `-j` flag