1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
vcmi/CMakePresets.json
Ivan Savenko b3499c54ae Added "ENABLE_GOLDMASTER" switch
Intended for functionality that should be disabled or enabled in public
releases.
Largely replaces existing ENABLE_GITVERSION switch, which is now always
disabled if GOLDMASTER is in use
2024-04-25 18:52:25 +03:00

473 lines
15 KiB
JSON

{
"version": 2,
"configurePresets": [
{
"name": "release-binary-dir",
"hidden": true,
"binaryDir": "${sourceDir}/out/build/${presetName}"
},
{
"name": "build-with-conan",
"hidden": true,
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/conan-generated/conan_toolchain.cmake",
"FORCE_BUNDLED_MINIZIP": "OFF"
}
},
{
"name": "base-release",
"inherits": "release-binary-dir",
"hidden": true,
"cacheVariables": {
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
"PACKAGE_FILE_NAME" : "$env{VCMI_PACKAGE_FILE_NAME}",
"PACKAGE_NAME_SUFFIX" : "$env{VCMI_PACKAGE_NAME_SUFFIX}",
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"ENABLE_TEST": "OFF",
"ENABLE_STRICT_COMPILATION": "ON",
"ENABLE_GOLDMASTER": "$env{VCMI_PACKAGE_GOLDMASTER}",
"ENABLE_PCH" : "OFF"
}
},
{
"name": "default-release",
"inherits": "base-release",
"hidden": true,
"generator": "Ninja",
"cacheVariables": {
"FORCE_BUNDLED_FL": "OFF"
}
},
{
"name" : "linux-release",
"inherits" : "default-release",
"hidden": true,
"cacheVariables": {
"CMAKE_INSTALL_PREFIX" : "/usr/local"
}
},
{
"name": "linux-test",
"inherits": "linux-release",
"hidden": true,
"cacheVariables": {
"ENABLE_LOBBY": "ON",
"ENABLE_TEST": "ON",
"ENABLE_LUA": "ON"
}
},
{
"name": "linux-clang-release",
"displayName": "Clang x86_64-pc-linux-gnu",
"description": "VCMI Linux Clang",
"inherits": "linux-release",
"cacheVariables": {
"CMAKE_C_COMPILER": "/usr/bin/clang",
"CMAKE_CXX_COMPILER": "/usr/bin/clang++"
}
},
{
"name": "linux-clang-release-ccache",
"displayName": "Clang x86_64-pc-linux-gnu with ccache",
"description": "VCMI Linux Clang with ccache",
"inherits": "linux-release",
"cacheVariables": {
"ENABLE_CCACHE": "ON"
}
},
{
"name": "linux-gcc-release",
"displayName": "GCC x86_64-pc-linux-gnu",
"description": "VCMI Linux GCC",
"inherits": "linux-release",
"cacheVariables": {
"ENABLE_LUA" : "ON",
"CMAKE_C_COMPILER": "/usr/bin/gcc",
"CMAKE_CXX_COMPILER": "/usr/bin/g++"
}
},
{
"name": "linux-gcc-release-ccache",
"displayName": "GCC x86_64-pc-linux-gnu with ccache",
"description": "VCMI Linux GCC with ccache",
"inherits": "linux-release",
"cacheVariables": {
"ENABLE_CCACHE": "ON"
}
},
{
"name": "linux-gcc-debug",
"displayName": "GCC x86_64-pc-linux-gnu (debug)",
"description": "VCMI Linux GCC (Debug)",
"inherits": "linux-release",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"ENABLE_LUA" : "ON",
"CMAKE_C_COMPILER": "/usr/bin/gcc",
"CMAKE_CXX_COMPILER": "/usr/bin/g++"
}
},
{
"name": "linux-clang-test",
"displayName": "Clang x86_64-pc-linux-gnu with unit testing",
"description": "VCMI Linux Clang",
"inherits": "linux-test",
"cacheVariables": {
"CMAKE_C_COMPILER": "/usr/bin/clang",
"CMAKE_CXX_COMPILER": "/usr/bin/clang++"
}
},
{
"name": "linux-gcc-test",
"displayName": "GCC x86_64-pc-linux-gnu with unit testing",
"description": "VCMI Linux GCC",
"inherits": "linux-test",
"cacheVariables": {
"ENABLE_LUA" : "OFF",
"CMAKE_C_COMPILER": "/usr/bin/gcc",
"CMAKE_CXX_COMPILER": "/usr/bin/g++"
}
},
{
"name": "windows-mingw-release",
"displayName": "Windows x64 MinGW Release",
"description": "VCMI Windows Ninja using MinGW",
"inherits": "default-release",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "windows-msvc-release",
"displayName": "Windows x64 RelWithDebInfo",
"description": "VCMI RelWithDebInfo build",
"inherits": "default-release",
"generator": "Visual Studio 17 2022",
"architecture": {
"value": "x64",
"strategy": "set"
},
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/vcpkg/scripts/buildsystems/vcpkg.cmake",
"CMAKE_POLICY_DEFAULT_CMP0091": "NEW",
"FORCE_BUNDLED_MINIZIP": "ON"
}
},
{
"name": "windows-msvc-release-ccache",
"displayName": "Windows x64 RelWithDebInfo with ccache",
"description": "VCMI RelWithDebInfo build with ccache",
"inherits": "windows-msvc-release",
"cacheVariables": {
"ENABLE_CCACHE": "ON"
}
},
{
"name": "windows-mingw-conan-linux",
"displayName": "Ninja+Conan release",
"description": "VCMI Windows Ninja using Conan on Linux",
"inherits": [
"build-with-conan",
"default-release"
],
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"FORCE_BUNDLED_FL": "ON"
}
},
{
"name": "macos-ninja-release",
"displayName": "Ninja release",
"description": "VCMI MacOS Ninja",
"inherits": "default-release"
},
{
"name": "macos-conan-ninja-release",
"displayName": "Ninja+Conan release",
"description": "VCMI MacOS Ninja using Conan",
"inherits": [
"build-with-conan",
"default-release"
],
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "macos-arm-conan-ninja-release",
"displayName": "Ninja+Conan arm64 release",
"description": "VCMI MacOS-arm64 Ninja using Conan",
"inherits": "macos-conan-ninja-release"
},
{
"name": "macos-xcode-release",
"displayName": "XCode release",
"description": "VCMI MacOS Xcode",
"inherits": "default-release",
"generator": "Xcode"
},
{
"name": "ios-device",
"displayName": "Base iOS device",
"description": "Base VCMI preset for iOS device",
"generator": "Xcode",
"binaryDir": "../build-${presetName}",
"cacheVariables": {
"CMAKE_SYSTEM_NAME": "iOS",
"FORCE_BUNDLED_FL": "ON",
"FORCE_BUNDLED_MINIZIP": "ON",
"ENABLE_EDITOR" : "OFF"
}
},
{
"name": "ios-simulator",
"displayName": "Base iOS simulator",
"description": "Base VCMI preset for iOS simulator",
"inherits": "ios-device",
"cacheVariables": {
"CMAKE_OSX_SYSROOT": "iphonesimulator"
}
},
{
"name": "ios-device-conan",
"displayName": "Base iOS device using Conan",
"description": "Base VCMI preset for iOS device using Conan",
"inherits": [
"build-with-conan",
"ios-device"
]
},
{
"name": "base-ios-release",
"displayName": "Base iOS release",
"description": "Base VCMI preset for iOS release",
"inherits": "base-release",
"hidden": true,
"cacheVariables": {
"BUNDLE_IDENTIFIER_PREFIX": "eu.vcmi"
}
},
{
"name": "ios-release-conan",
"displayName": "iOS+Conan release",
"description": "VCMI iOS release using Conan",
"inherits": [
"base-ios-release",
"ios-device-conan"
],
"cacheVariables": {
"ENABLE_PCH" : "ON"
}
},
{
"name": "ios-release-conan-ccache",
"displayName": "iOS+Conan release using ccache",
"description": "VCMI iOS release using Conan and ccache",
"inherits": "ios-release-conan",
"cacheVariables": {
"ENABLE_PCH" : "OFF",
"ENABLE_CCACHE": "ON"
}
},
{
"name": "ios-release-legacy",
"displayName": "iOS release using legacy dependencies",
"description": "VCMI iOS release using legacy dependencies",
"inherits": [
"base-ios-release",
"ios-device"
],
"cacheVariables": {
"CMAKE_PREFIX_PATH": "${sourceDir}/build/iphoneos"
}
},
{
"name": "android-conan-ninja-release",
"displayName": "Android release",
"description": "VCMI Android Ninja using Conan",
"inherits": [
"build-with-conan",
"default-release"
],
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
}
}
],
"buildPresets": [
{
"name": "default-release",
"hidden": true,
"configuration": "RelWithDebInfo"
},
{
"name": "default-debug",
"hidden": true,
"configuration": "Debug"
},
{
"name": "linux-clang-release",
"configurePreset": "linux-clang-release",
"inherits": "default-release"
},
{
"name": "linux-clang-release-ccache",
"configurePreset": "linux-clang-release-ccache",
"inherits": "linux-clang-release"
},
{
"name": "linux-clang-test",
"configurePreset": "linux-clang-test",
"inherits": "default-release"
},
{
"name": "linux-gcc-test",
"configurePreset": "linux-gcc-test",
"inherits": "default-release"
},
{
"name": "linux-gcc-release",
"configurePreset": "linux-gcc-release",
"inherits": "default-release"
},
{
"name": "linux-gcc-release-ccache",
"configurePreset": "linux-gcc-release-ccache",
"inherits": "linux-gcc-release"
},
{
"name": "linux-gcc-debug",
"configurePreset": "linux-gcc-debug",
"inherits": "default-debug"
},
{
"name": "macos-xcode-release",
"configurePreset": "macos-xcode-release",
"inherits": "default-release"
},
{
"name": "macos-ninja-release",
"configurePreset": "macos-ninja-release",
"inherits": "default-release"
},
{
"name": "macos-conan-ninja-release",
"configurePreset": "macos-conan-ninja-release",
"inherits": "default-release"
},
{
"name": "macos-arm-conan-ninja-release",
"configurePreset": "macos-arm-conan-ninja-release",
"inherits": "default-release"
},
{
"name": "windows-mingw-release",
"configurePreset": "windows-mingw-release",
"inherits": "default-release"
},
{
"name": "windows-msvc-release",
"configurePreset": "windows-msvc-release",
"inherits": "default-release"
},
{
"name": "windows-msvc-release-ccache",
"configurePreset": "windows-msvc-release-ccache",
"inherits": "windows-msvc-release"
},
{
"name": "windows-msvc-relwithdebinfo",
"configurePreset": "windows-msvc-release",
"inherits": "default-release"
},
{
"name": "windows-mingw-conan-linux",
"configurePreset": "windows-mingw-conan-linux",
"inherits": "default-release",
"configuration": "Release"
},
{
"name": "ios-release-conan",
"configurePreset": "ios-release-conan",
"inherits": "default-release",
"configuration": "Release",
"targets": ["vcmiclient"],
"nativeToolOptions": [
"CODE_SIGNING_ALLOWED_FOR_APPS=NO"
]
},
{
"name": "ios-release-conan-ccache",
"configurePreset": "ios-release-conan-ccache",
"inherits": "ios-release-conan"
},
{
"name": "ios-release-legacy",
"configurePreset": "ios-release-legacy",
"inherits": "ios-release-conan"
},
{
"name": "android-conan-ninja-release",
"configurePreset": "android-conan-ninja-release",
"inherits": "default-release"
}
],
"testPresets": [
{
"name": "default-release",
"hidden": true,
"output": {
"shortProgress": true,
"verbosity": "verbose"
}
},
{
"name": "linux-clang-release",
"configurePreset": "linux-clang-release",
"inherits": "default-release"
},
{
"name": "linux-gcc-release",
"configurePreset": "linux-gcc-release",
"inherits": "default-release"
},
{
"name": "linux-clang-test",
"configurePreset": "linux-clang-test",
"inherits": "default-release"
},
{
"name": "linux-gcc-test",
"configurePreset": "linux-gcc-test",
"inherits": "default-release"
},
{
"name": "macos-xcode-release",
"configurePreset": "macos-xcode-release",
"inherits": "default-release"
},
{
"name": "macos-ninja-release",
"configurePreset": "macos-ninja-release",
"inherits": "default-release"
},
{
"name": "windows-mingw-release",
"configurePreset": "windows-mingw-release",
"inherits": "default-release"
},
{
"name": "windows-msvc-release",
"configurePreset": "windows-msvc-release",
"inherits": "default-release"
},
{
"name": "windows-mingw-conan-linux",
"configurePreset": "windows-mingw-conan-linux",
"inherits": "default-release"
}
]
}