Vita3K/CMakePresets.json

363 lines
12 KiB
JSON

{
"version": 3,
"cmakeMinimumRequired": {
"major": 3,
"minor": 22,
"patch": 0
},
"configurePresets": [
{
"name": "base",
"hidden": true,
"description": "Base hidden preset to set general options",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"USE_DISCORD_RICH_PRESENCE": true
}
},
{
"name": "windows",
"inherits": "base",
"displayName": "Windows default",
"description": "Windows native build using default generator and default compiler",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "windows-vs2022",
"inherits": "windows",
"displayName": "Windows with Visual Studio 2022",
"description": "Windows native build using Visual Studio 2022 generator and default toolchain/compiler",
"generator": "Visual Studio 17 2022",
"architecture": "x64"
},
{
"name": "windows-vs2022-clang",
"inherits": "windows-vs2022",
"displayName": "Windows with Visual Studio 2022 and Clang",
"description": "Windows native build using Visual Studio 2022 generator and the ClangCL/LLVM toolchain",
"toolset": "ClangCL"
},
{
"name": "windows-ninja",
"inherits": "windows",
"displayName": "Windows with Ninja",
"description": "Windows native build using Ninja Multi-Config and default compiler",
"generator": "Ninja Multi-Config"
},
{
"name": "windows-ninja-clang",
"inherits": "windows-ninja",
"displayName": "Windows with Ninja and Clang",
"description": "Windows native build using Ninja Multi-Config and Clang compiler",
"cacheVariables": {
"CMAKE_C_COMPILER": "clang-cl",
"CMAKE_CXX_COMPILER": "clang-cl"
}
},
{
"name": "linux",
"inherits": "base",
"displayName": "Linux default",
"description": "Linux native build using default generator and default compiler",
"cacheVariables": {
"USE_DISCORD_RICH_PRESENCE": false
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
}
},
{
"name": "linux-ninja",
"inherits": "linux",
"displayName": "Linux with Ninja",
"description": "Linux native build using Ninja Multi-Config generator and default compiler",
"generator": "Ninja Multi-Config"
},
{
"name": "linux-ninja-clang",
"inherits": "linux-ninja",
"displayName": "Linux with Ninja and Clang",
"description": "Linux native build using Ninja Multi-Config generator and Clang compiler",
"cacheVariables": {
"CMAKE_C_COMPILER": "clang",
"CMAKE_CXX_COMPILER": "clang++"
},
"environment": {
"LDFLAGS": "-fuse-ld=lld"
}
},
{
"name": "linux-ninja-clang15",
"inherits": "linux-ninja",
"displayName": "Linux with Ninja and Clang 15",
"description": "Linux native build using Ninja Multi-Config generator and Clang 15 compiler",
"cacheVariables": {
"CMAKE_C_COMPILER": "clang-15",
"CMAKE_CXX_COMPILER": "clang++-15"
},
"environment": {
"LDFLAGS": "-fuse-ld=lld-15"
}
},
{
"name": "linux-ninja-clang15-appimage",
"inherits": "linux-ninja-clang15",
"displayName": "Linux AppImage with Ninja and Clang 15",
"description": "Linux AppImage build using Ninja Multi-Config generator and Clang 15 compiler",
"cacheVariables": {
"CMAKE_INSTALL_PREFIX": "/usr",
"BUILD_APPIMAGE": true
}
},
{
"name": "linux-ninja-clang-appimage",
"inherits": "linux-ninja-clang",
"displayName": "Linux AppImage with Ninja and Clang",
"description": "Linux AppImage build using Ninja Multi-Config generator and Clang compiler",
"cacheVariables": {
"CMAKE_INSTALL_PREFIX": "/usr",
"BUILD_APPIMAGE": true
}
},
{
"name": "linux-ninja-gnu",
"inherits": "linux-ninja",
"displayName": "Linux with Ninja and GNU GCC",
"description": "Linux native build using Ninja Multi-Config generator and GNU GCC compiler",
"cacheVariables": {
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++"
}
},
{
"name": "macos",
"inherits": "base",
"displayName": "macOS default",
"description": "macOS native build using default generator and default compiler",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
}
},
{
"name": "macos-ninja",
"inherits": "macos",
"displayName": "macOS with Ninja",
"description": "Linux native build using Ninja Multi-Config generator and default compiler",
"generator": "Ninja Multi-Config"
},
{
"name": "macos-xcode",
"inherits": "macos",
"displayName": "macOS with Xcode",
"description": "Linux native build using Xcode generator and default compiler",
"generator": "Xcode"
}
],
"buildPresets": [
{
"name": "windows-vs2022-debug",
"displayName": "Debug",
"description": "Build with debugging information and no compiler optimizations",
"configuration": "Debug",
"configurePreset": "windows-vs2022"
},
{
"name": "windows-vs2022-relwithdebinfo",
"displayName": "Release with debugging information",
"description": "Build with compiler optimizations enabled and limited debugging information",
"configuration": "RelWithDebInfo",
"configurePreset": "windows-vs2022"
},
{
"name": "windows-vs2022-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information",
"configuration": "Release",
"configurePreset": "windows-vs2022"
},
{
"name": "windows-vs2022-clang-debug",
"displayName": "Debug",
"description": "Build with debugging information and no compiler optimizations",
"configuration": "Debug",
"configurePreset": "windows-vs2022-clang"
},
{
"name": "windows-vs2022-clang-relwithdebinfo",
"displayName": "Release with debugging information",
"description": "Build with compiler optimizations enabled and limited debugging information",
"configuration": "RelWithDebInfo",
"configurePreset": "windows-vs2022-clang"
},
{
"name": "windows-vs2022-clang-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information",
"configuration": "Release",
"configurePreset": "windows-vs2022-clang"
},
{
"name": "windows-ninja-debug",
"displayName": "Debug",
"description": "Build with debugging information and no compiler optimizations",
"configuration": "Debug",
"configurePreset": "windows-ninja"
},
{
"name": "windows-ninja-relwithdebinfo",
"displayName": "Release with debugging information",
"description": "Build with compiler optimizations enabled and limited debugging information",
"configuration": "RelWithDebInfo",
"configurePreset": "windows-ninja"
},
{
"name": "windows-ninja-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information",
"configuration": "Release",
"configurePreset": "windows-ninja"
},
{
"name": "windows-ninja-clang-debug",
"displayName": "Debug",
"description": "Build with debugging information and no compiler optimizations",
"configuration": "Debug",
"configurePreset": "windows-ninja-clang"
},
{
"name": "windows-ninja-clang-relwithdebinfo",
"displayName": "Release with debugging information",
"description": "Build with compiler optimizations enabled and limited debugging information",
"configuration": "RelWithDebInfo",
"configurePreset": "windows-ninja-clang"
},
{
"name": "windows-ninja-clang-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information",
"configuration": "Release",
"configurePreset": "windows-ninja-clang"
},
{
"name": "linux-ninja-clang-debug",
"displayName": "Debug",
"description": "Build with debugging information and no compiler optimizations",
"configuration": "Debug",
"configurePreset": "linux-ninja-clang"
},
{
"name": "linux-ninja-clang-relwithdebinfo",
"displayName": "Release with debugging information",
"description": "Build with compiler optimizations enabled and limited debugging information",
"configuration": "RelWithDebInfo",
"configurePreset": "linux-ninja-clang"
},
{
"name": "linux-ninja-clang-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information",
"configuration": "Release",
"configurePreset": "linux-ninja-clang"
},
{
"name": "linux-ninja-clang15-appimage-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information as an AppImage",
"configuration": "Release",
"configurePreset": "linux-ninja-clang15-appimage"
},
{
"name": "linux-ninja-clang15-debug",
"displayName": "Debug",
"description": "Build with debugging information and no compiler optimizations",
"configuration": "Debug",
"configurePreset": "linux-ninja-clang15"
},
{
"name": "linux-ninja-clang15-relwithdebinfo",
"displayName": "Release with debugging information",
"description": "Build with compiler optimizations enabled and limited debugging information",
"configuration": "RelWithDebInfo",
"configurePreset": "linux-ninja-clang15"
},
{
"name": "linux-ninja-clang15-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information",
"configuration": "Release",
"configurePreset": "linux-ninja-clang15"
},
{
"name": "linux-ninja-gnu-debug",
"displayName": "Debug",
"description": "Build with debugging information and no compiler optimizations",
"configuration": "Debug",
"configurePreset": "linux-ninja-gnu"
},
{
"name": "linux-ninja-gnu-relwithdebinfo",
"displayName": "Release with debugging information",
"description": "Build with compiler optimizations enabled and limited debugging information",
"configuration": "RelWithDebInfo",
"configurePreset": "linux-ninja-gnu"
},
{
"name": "linux-ninja-gnu-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information",
"configuration": "Release",
"configurePreset": "linux-ninja-gnu"
},
{
"name": "macos-ninja-debug",
"displayName": "Debug",
"description": "Build with debugging information and no compiler optimizations",
"configuration": "Debug",
"configurePreset": "macos-ninja"
},
{
"name": "macos-ninja-relwithdebinfo",
"displayName": "Release with debugging information",
"description": "Build with compiler optimizations enabled and limited debugging information",
"configuration": "RelWithDebInfo",
"configurePreset": "macos-ninja"
},
{
"name": "macos-ninja-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information",
"configuration": "Release",
"configurePreset": "macos-ninja"
},
{
"name": "macos-xcode-debug",
"displayName": "Debug",
"description": "Build with debugging information and no compiler optimizations",
"configuration": "Debug",
"configurePreset": "macos-xcode"
},
{
"name": "macos-xcode-relwithdebinfo",
"displayName": "Release with debugging information",
"description": "Build with compiler optimizations enabled and limited debugging information",
"configuration": "RelWithDebInfo",
"configurePreset": "macos-xcode"
},
{
"name": "macos-xcode-release",
"displayName": "Release",
"description": "Build with compiler optimizations enabled and no debugging information",
"configuration": "Release",
"configurePreset": "macos-xcode"
}
]
}