Files
SEQUA-Engine/CMakePresets.json
T
Ange-Marie MAURIN - A2M Systèmes d080da0ee3 build: base CMake, presets et vérification locale
CMake 3.25+, C++20, avertissements stricts, règles de déterminisme (pas de fast-math ni de contraction FMA), sanitizers et clang-tidy optionnels, doctest. Presets Windows/Linux/macOS, scripts build.ps1, build.sh et check.ps1 (pas de CI serveur). README de core, 3d et schema.
2026-11-06 19:32:10 +01:00

96 lines
3.8 KiB
JSON

{
"version": 6,
"cmakeMinimumRequired": { "major": 3, "minor": 25, "patch": 0 },
"configurePresets": [
{
"name": "base",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"SEQUA_BUILD_TESTS": "ON",
"SEQUA_WARNINGS_AS_ERRORS": "ON"
}
},
{
"name": "windows-base",
"hidden": true,
"inherits": "base",
"cacheVariables": { "CMAKE_CXX_COMPILER": "cl" },
"condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" }
},
{
"name": "windows-msvc-debug",
"displayName": "Windows MSVC Debug",
"inherits": "windows-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" }
},
{
"name": "windows-msvc-release",
"displayName": "Windows MSVC Release",
"inherits": "windows-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" }
},
{
"name": "windows-msvc-asan",
"displayName": "Windows MSVC AddressSanitizer",
"inherits": "windows-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "SEQUA_SANITIZERS": "address" }
},
{
"name": "windows-msvc-prototypes",
"displayName": "Windows MSVC Release + prototypes",
"inherits": "windows-msvc-release",
"cacheVariables": { "SEQUA_BUILD_PROTOTYPES": "ON" }
},
{
"name": "linux-base",
"hidden": true,
"inherits": "base",
"condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" }
},
{
"name": "linux-gcc-debug",
"displayName": "Linux GCC Debug",
"inherits": "linux-base",
"cacheVariables": { "CMAKE_CXX_COMPILER": "g++", "CMAKE_BUILD_TYPE": "Debug" }
},
{
"name": "linux-clang-sanitize",
"displayName": "Linux Clang ASan + UBSan",
"inherits": "linux-base",
"cacheVariables": {
"CMAKE_CXX_COMPILER": "clang++",
"CMAKE_BUILD_TYPE": "Debug",
"SEQUA_SANITIZERS": "address;undefined"
}
},
{
"name": "macos-clang-debug",
"displayName": "macOS Clang Debug",
"inherits": "base",
"cacheVariables": { "CMAKE_CXX_COMPILER": "clang++", "CMAKE_BUILD_TYPE": "Debug" },
"condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Darwin" }
}
],
"buildPresets": [
{ "name": "windows-msvc-debug", "configurePreset": "windows-msvc-debug" },
{ "name": "windows-msvc-release", "configurePreset": "windows-msvc-release" },
{ "name": "windows-msvc-asan", "configurePreset": "windows-msvc-asan" },
{ "name": "windows-msvc-prototypes", "configurePreset": "windows-msvc-prototypes" },
{ "name": "linux-gcc-debug", "configurePreset": "linux-gcc-debug" },
{ "name": "linux-clang-sanitize", "configurePreset": "linux-clang-sanitize" },
{ "name": "macos-clang-debug", "configurePreset": "macos-clang-debug" }
],
"testPresets": [
{ "name": "test-base", "hidden": true, "output": { "outputOnFailure": true }, "execution": { "noTestsAction": "error" } },
{ "name": "windows-msvc-debug", "inherits": "test-base", "configurePreset": "windows-msvc-debug" },
{ "name": "windows-msvc-release", "inherits": "test-base", "configurePreset": "windows-msvc-release" },
{ "name": "windows-msvc-asan", "inherits": "test-base", "configurePreset": "windows-msvc-asan" },
{ "name": "windows-msvc-prototypes", "inherits": "test-base", "configurePreset": "windows-msvc-prototypes" },
{ "name": "linux-gcc-debug", "inherits": "test-base", "configurePreset": "linux-gcc-debug" },
{ "name": "linux-clang-sanitize", "inherits": "test-base", "configurePreset": "linux-clang-sanitize" },
{ "name": "macos-clang-debug", "inherits": "test-base", "configurePreset": "macos-clang-debug" }
]
}