CMakePresets.json 3.7 KB
Newer Older
1
{
Laurent Montel's avatar
Laurent Montel committed
2
    "version": 2,
3
4
5
6
7
8
9
    "configurePresets": [
        {
            "name": "dev",
            "displayName": "Build as debug",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build",
            "cacheVariables": {
10
11
                "CMAKE_BUILD_TYPE": "Debug",
		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
12
13
14
15
16
17
18
19
20
            }
        },
        {
            "name": "asan",
            "displayName": "Build with Asan support.",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-asan",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
21
22
                "ECM_ENABLE_SANITIZERS" : "'address;undefined'",
		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
23
24
25
26
27
28
29
30
31
            }
        },
        {
            "name": "unity",
            "displayName": "Build with CMake unity support.",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-unity",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
32
33
		"USE_UNITY_CMAKE_SUPPORT": "ON",
		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
34
35
36
37
38
39
40
41
42
43
            }
        },
        {
            "name": "release",
            "displayName": "Build as release mode.",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-release",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release"
            }
44
45
46
47
48
49
50
        },
        {
            "name": "profile",
            "displayName": "profile",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-profile",
            "cacheVariables": {
51
52
                "CMAKE_BUILD_TYPE": "RelWithDebInfo",
		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
53
            }
Laurent Montel's avatar
Laurent Montel committed
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
        },
        {
            "name": "clazy",
            "displayName": "clazy",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-clazy",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug"
            },
            "environment": {
                "CXX": "clazy",
                "CCACHE_DISABLE": "ON"
            }
        }

    ],
    "buildPresets": [
        {
            "name": "dev",
            "configurePreset": "dev"
        },
75
76
77
78
79
80
81
82
83
84
85
86
        {
            "name": "release",
            "configurePreset": "release"
        },
        {
            "name": "asan",
            "configurePreset": "asan"
        },
        {
            "name": "unity",
            "configurePreset": "unity"
        },
Laurent Montel's avatar
Laurent Montel committed
87
88
89
90
        {
            "name": "clazy",
            "configurePreset": "clazy",
            "environment": {
91
                "CLAZY_CHECKS" : "level0,level1,detaching-member,ifndef-define-typo,isempty-vs-count,qrequiredresult-candidates,reserve-candidates,signal-with-return-value,unneeded-cast,function-args-by-ref,returning-void-expression,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch,old-style-connect,qstring-allocations,container-inside-loop,heap-allocated-small-trivial-type,inefficient-qlist,qstring-varargs,level2,detaching-member,heap-allocated-small-trivial-type,isempty-vs-count,qstring-varargs,qvariant-template-instantiation,raw-environment-function,reserve-candidates,signal-with-return-value,thread-with-slots,no-ctor-missing-parent-argument,no-missing-typeinfo",
Laurent Montel's avatar
Laurent Montel committed
92
93
                "CCACHE_DISABLE" : "ON"
            }
94
        }
95
96
    ],
    "testPresets": [
97
    {
98
99
100
101
102
      "name": "dev",
      "configurePreset": "dev",
      "output": {"outputOnFailure": true},
      "execution": {"noTestsAction": "error", "stopOnFailure": false}
    },
103
    {
104
105
106
107
108
      "name": "asan",
      "configurePreset": "asan",
      "output": {"outputOnFailure": true},
      "execution": {"noTestsAction": "error", "stopOnFailure": true}
    }
109
110
    ]
}