1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00
vcmi/CMakePresets.json
Joakim Thorén 9a1e48c349 Set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to gcc and g++ for windows-mingw-release preset.
Prevents various situations where clang is chosen over gcc, which is unintended when using windows-mingw-release preset
2024-11-14 23:26:24 +01:00

508 lines
17 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",
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++"
}
},
{
"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-x86",
"displayName": "Windows x86 RelWithDebInfo",
"description": "VCMI RelWithDebInfo build",
"inherits": "default-release",
"generator": "Visual Studio 17 2022",
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/vcpkg/scripts/buildsystems/vcpkg.cmake",
"CMAKE_POLICY_DEFAULT_CMP0091": "NEW",
"FORCE_BUNDLED_MINIZIP": "ON",
"CMAKE_GENERATOR_PLATFORM": "WIN32"
}
},
{
"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",
"ANDROIDDEPLOYQT_OPTIONS" : "--aab"
}
},
{
"name": "android-daily-release",
"displayName": "Android daily release",
"description": "VCMI Android daily build",
"inherits": "android-conan-ninja-release",
"cacheVariables": {
"ANDROID_GRADLE_PROPERTIES": "applicationIdSuffix=.daily;signingConfig=dailySigning;applicationLabel=VCMI daily"
}
}
],
"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-x86",
"configurePreset": "windows-msvc-release-x86",
"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"
},
{
"name": "android-daily-release",
"configurePreset": "android-daily-release",
"inherits": "android-conan-ninja-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"
}
]
}