{ "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_GITVERSION": "$env{VCMI_PACKAGE_GITVERSION}", "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_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" } ] }