aboutsummaryrefslogtreecommitdiff
path: root/rcc/CMakePresets.json
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-10-20 19:48:22 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-10-20 19:48:22 +0800
commit0dbee5806b28a598409be4649e4a9207200bacbf (patch)
treec4f1a7dcd9efa35c96c68e9c7ec284afe2f5fa8f /rcc/CMakePresets.json
parent3e8d7d1270ace353cce0080a80021dcc7532f2be (diff)
downloadrcc-project-0dbee5806b28a598409be4649e4a9207200bacbf.tar.gz
rcc-project-0dbee5806b28a598409be4649e4a9207200bacbf.tar.xz
[Dev] Configure build presets and code checks
Diffstat (limited to 'rcc/CMakePresets.json')
-rw-r--r--rcc/CMakePresets.json70
1 files changed, 70 insertions, 0 deletions
diff --git a/rcc/CMakePresets.json b/rcc/CMakePresets.json
new file mode 100644
index 0000000..4e32d8b
--- /dev/null
+++ b/rcc/CMakePresets.json
@@ -0,0 +1,70 @@
+{
+ "version": 6,
+ "cmakeMinimumRequired": { "major": 3, "minor": 25, "patch": 0 },
+ "configurePresets": [
+ {
+ "name": "ninja",
+ "hidden": true,
+ "generator": "Ninja",
+ "binaryDir": "${sourceDir}/../build/${presetName}",
+ "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": true }
+ },
+ {
+ "name": "debug",
+ "hidden": true,
+ "cacheVariables": {
+ "CMAKE_BUILD_TYPE": "Debug",
+ "RCC_ENABLE_ASSERTIONS": true
+ }
+ },
+ {
+ "name": "release",
+ "hidden": true,
+ "cacheVariables": {
+ "CMAKE_BUILD_TYPE": "Release",
+ "RCC_ENABLE_ASSERTIONS": false
+ }
+ },
+ {
+ "name": "assertions",
+ "hidden": true,
+ "cacheVariables": { "RCC_ENABLE_ASSERTIONS": true }
+ },
+ {
+ "name": "asan-ubsan",
+ "hidden": true,
+ "cacheVariables": { "RCC_USE_SANITIZER": "Address;Undefined" }
+ },
+ {
+ "name": "with-cfront",
+ "hidden": true,
+ "cacheVariables": { "RCC_ENABLE_PROJECTS": "cfront" }
+ },
+ {
+ "name": "dev",
+ "displayName": "RCC debug build",
+ "inherits": ["ninja", "debug"]
+ },
+ {
+ "name": "dev-cfront",
+ "displayName": "RCC and CFront debug build",
+ "inherits": ["with-cfront", "dev"]
+ },
+ {
+ "name": "release-assertions",
+ "displayName": "RCC release build with assertions",
+ "inherits": ["ninja", "assertions", "release"]
+ },
+ {
+ "name": "sanitize",
+ "displayName": "RCC debug build with ASan and UBSan",
+ "inherits": ["asan-ubsan", "dev"]
+ }
+ ],
+ "buildPresets": [
+ { "name": "dev", "configurePreset": "dev" },
+ { "name": "dev-cfront", "configurePreset": "dev-cfront" },
+ { "name": "release-assertions", "configurePreset": "release-assertions" },
+ { "name": "sanitize", "configurePreset": "sanitize" }
+ ]
+}