SFML/CMakePresets.json
Mario Liebisch 291e6248d6
Update CMakePresets and CMakeLists.txt
These changes ensure Visual Studio allows both Debug and Release builds,
while also supporting direct debugging of the examples.

If `CMAKE_BUILD_TYPE` is set in any way, Visual Studio will disable all
targets in the UI (and in generally have a really good tendency to bug
out).
2024-06-07 13:22:55 +02:00

110 lines
3.1 KiB
JSON

{
"version": 3,
"configurePresets": [
{
"name": "generic",
"hidden": true,
"cacheVariables": {
"CMAKE_CXX_EXTENSIONS": "OFF",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"SFML_BUILD_EXAMPLES": "ON",
"SFML_BUILD_TEST_SUITE": "ON",
"SFML_WARNINGS_AS_ERRORS": "ON",
"SFML_GENERATE_PDB": "ON"
}
},
{
"name": "dev",
"displayName": "Development (used by CI/CD)",
"hidden": true,
"binaryDir": "build",
"installDir": "${sourceDir}/build/install",
"inherits": "generic"
},
{
"name": "x64-debug",
"displayName": "x64: Debug",
"inherits": "generic",
"architecture": {
"value": "x64",
"strategy": "external"
},
"binaryDir": "${sourceDir}/build/${presetName}",
"installDir": "${sourceDir}/install/${presetName}",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "x64-release",
"displayName": "x64: Release",
"inherits": "x64-debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "x64-relwithdebinfo",
"displayName": "x64: RelWithDebInfo",
"inherits": "x64-debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
}
},
{
"name": "x86-debug",
"displayName": "x86: Debug",
"inherits": "x64-debug",
"architecture": {
"value": "x86",
"strategy": "external"
}
},
{
"name": "x86-release",
"displayName": "x86: Release",
"inherits": "x64-release",
"architecture": {
"value": "x86",
"strategy": "external"
}
},
{
"name": "x86-relwithdebinfo",
"displayName": "x86: RelWithDebInfo",
"inherits": "x64-relwithdebinfo",
"architecture": {
"value": "x86",
"strategy": "external"
}
}/*,
{
"name": "arm-debug",
"displayName": "ARM: Debug",
"inherits": "x64-debug",
"architecture": {
"value": "arm",
"strategy": "external"
}
},
{
"name": "arm-release",
"displayName": "ARM: Release",
"inherits": "x64-release",
"architecture": {
"value": "arm",
"strategy": "external"
}
},
{
"name": "arm-relwithdebinfo",
"displayName": "ARM: RelWithDebInfo",
"inherits": "x64-relwithdebinfo",
"architecture": {
"value": "arm",
"strategy": "external"
}
}*/
]
}