File: CMake.md

package info (click to toggle)
vcmi 1.6.5%2Bdfsg-2
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid, trixie
  • size: 32,060 kB
  • sloc: cpp: 238,971; python: 265; sh: 224; xml: 157; ansic: 78; objc: 61; makefile: 49
file content (21 lines) | stat: -rw-r--r-- 757 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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
     ```text
    CompileFlags:
    CompilationDatabase: build
    ```
    and place it here:
    ```text
    .
    ├── 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