Echo Writes Code

CMakePresets.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{
  "version": 4,
  "cmakeMinimumRequired": {
    "major": 3,
    "minor": 23
  },
  "configurePresets": [
    {
      "name": "development",
      "displayName": "Development",
      "description": "A developer-friendly build with most optimizations turned off and runtime sanitizers enabled",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": {
          "type": "STRING",
          "value": "Debug"
        },
        "CRUCIBLE_ENABLE_ADDRESS_SANITIZER": {
          "type": "BOOL",
          "value": "TRUE"
        },
        "CRUCIBLE_ENABLE_UNDEFINED_BEHAVIOR_SANITIZER": {
          "type": "BOOL",
          "value": "TRUE"
        }
      }
    },
    {
      "name": "development:nosanitizers",
      "inherits": "development",
      "displayName": "Development (no sanitizers)",
      "description": "An alternative to the Development preset that does not have sanitizers enabled (for debugging specific issues, or in case there is an issue with the sanitizers)",
      "cacheVariables": {
        "CRUCIBLE_ENABLE_ADDRESS_SANITIZER": {
          "type": "BOOL",
          "value": "FALSE"
        },
        "CRUCIBLE_ENABLE_UNDEFINED_BEHAVIOR_SANITIZER": {
          "type": "BOOL",
          "value": "FALSE"
        }
      }
    },
    {
      "name": "release",
      "displayName": "Release",
      "description": "An optimized build suitable for distribution",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": {
          "type": "STRING",
          "value": "RelWithDebInfo"
        }
      }
    }
  ]
}