summaryrefslogtreecommitdiffstats
path: root/CMakePresets.json
blob: d1adc006d4de8fec40a618e4b329f24c2a8727d0 (plain)
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
{
  "version": 2,
  "cmakeMinimumRequired": {
    "major": 3,
    "minor": 14,
    "patch": 0
  },
  "configurePresets": [
    {
      "name": "cmake-pedantic",
      "hidden": true,
      "warnings": {
        "dev": true,
        "deprecated": true,
        "uninitialized": true,
        "unusedCli": true,
        "systemVars": false
      },
      "errors": {
        "dev": true,
        "deprecated": true
      }
    },
    {
      "name": "dev-mode",
      "hidden": true,
      "inherits": "cmake-pedantic",
      "cacheVariables": {
        "lnav_DEVELOPER_MODE": "ON"
      }
    },
    {
      "name": "conan",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_TOOLCHAIN_FILE": "${sourceDir}/conan/conan_toolchain.cmake"
      }
    },
    {
      "name": "cppcheck",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_CXX_CPPCHECK": "cppcheck;--inline-suppr"
      }
    },
    {
      "name": "clang-tidy",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_CXX_CLANG_TIDY": "clang-tidy;--header-filter=${sourceDir}/*"
      }
    },
    {
      "name": "ci-std",
      "description": "This preset makes sure the project actually builds with at least the specified standard",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_CXX_EXTENSIONS": "OFF",
        "CMAKE_CXX_STANDARD": "14",
        "CMAKE_CXX_STANDARD_REQUIRED": "ON"
      }
    },
    {
      "name": "flags-unix",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_CXX_FLAGS": ""
      }
    },
    {
      "name": "flags-windows",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_CXX_FLAGS": "/W4 /permissive- /utf-8 /volatile:iso /EHsc /Zc:__cplusplus /Zc:throwingNew"
      }
    },
    {
      "name": "ci-unix",
      "generator": "Unix Makefiles",
      "hidden": true,
      "inherits": ["flags-unix", "ci-std"],
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Release"
      }
    },
    {
      "name": "ci-win64",
      "inherits": ["flags-windows", "ci-std"],
      "generator": "Visual Studio 17 2022",
      "architecture": "x64",
      "hidden": true
    },
    {
      "name": "coverage-unix",
      "binaryDir": "${sourceDir}/build/coverage",
      "inherits": "ci-unix",
      "hidden": true,
      "cacheVariables": {
        "ENABLE_COVERAGE": "ON",
        "CMAKE_BUILD_TYPE": "Coverage",
        "CMAKE_CXX_FLAGS_COVERAGE": "-Og -g --coverage -fkeep-inline-functions -fkeep-static-functions",
        "CMAKE_EXE_LINKER_FLAGS_COVERAGE": "--coverage",
        "CMAKE_SHARED_LINKER_FLAGS_COVERAGE": "--coverage",
        "CMAKE_MAP_IMPORTED_CONFIG_SANITIZE": "Coverage;RelWithDebInfo;Release;Debug;"
      }
    },
    {
      "name": "ci-coverage",
      "inherits": ["coverage-unix", "dev-mode", "conan"],
      "cacheVariables": {
        "COVERAGE_HTML_COMMAND": ""
      }
    },
    {
      "name": "ci-sanitize",
      "binaryDir": "${sourceDir}/build/sanitize",
      "inherits": ["ci-unix", "dev-mode", "conan"],
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Sanitize",
        "CMAKE_CXX_FLAGS_SANITIZE": "-O2 -g -fsanitize=address,undefined -fno-omit-frame-pointer -fno-common",
        "CMAKE_MAP_IMPORTED_CONFIG_SANITIZE": "Sanitize;RelWithDebInfo;Release;Debug;"
      }
    },
    {
      "name": "ci-build",
      "binaryDir": "${sourceDir}/build",
      "hidden": true
    },
    {
      "name": "ci-macos",
      "inherits": ["ci-build", "ci-unix", "dev-mode", "conan"]
    },
    {
      "name": "ci-ubuntu",
      "inherits": ["ci-build", "ci-unix", "clang-tidy", "conan", "dev-mode"]
    },
    {
      "name": "ci-windows",
      "inherits": ["ci-build", "ci-win64", "dev-mode", "conan"]
    }
  ]
}