mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-13 07:03:25 +00:00
Enables features and sets build configurations via Vcpkg manifest. Adds new presets for Windows and Linux debug/release builds using Vcpkg. Conditionally enables features (imgui, avx2, tests, benchmark) based on Vcpkg manifest features.
141 lines
3.7 KiB
JSON
141 lines
3.7 KiB
JSON
{
|
|
"version": 3,
|
|
"configurePresets": [
|
|
{
|
|
"name": "windows-base",
|
|
"hidden": true,
|
|
"generator": "Ninja",
|
|
"binaryDir": "${sourceDir}/cmake-build/build/${presetName}",
|
|
"installDir": "${sourceDir}/cmake-build/install/${presetName}",
|
|
"cacheVariables": {
|
|
"CMAKE_CXX_COMPILER": "cl.exe",
|
|
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
|
|
"VCPKG_INSTALLED_DIR": "${sourceDir}/cmake-build/vcpkg_installed",
|
|
"CMAKE_MAKE_PROGRAM": "Ninja"
|
|
},
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"name": "windows-debug",
|
|
"displayName": "Debug",
|
|
"inherits": "windows-base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug"
|
|
}
|
|
},
|
|
{
|
|
"name": "windows-debug-vcpkg",
|
|
"displayName": "Debug",
|
|
"inherits": "windows-base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"OMATH_BUILD_VIA_VCPKG": "ON",
|
|
"VCPKG_MANIFEST_FEATURES": "tests;imgui;avx2"
|
|
}
|
|
},
|
|
{
|
|
"name": "windows-release-vcpkg",
|
|
"displayName": "Release",
|
|
"inherits": "windows-base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release",
|
|
"OMATH_BUILD_VIA_VCPKG": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "windows-release",
|
|
"displayName": "Release",
|
|
"inherits": "windows-base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release"
|
|
}
|
|
},
|
|
{
|
|
"name": "linux-base",
|
|
"hidden": true,
|
|
"generator": "Ninja",
|
|
"binaryDir": "${sourceDir}/cmake-build/build/${presetName}",
|
|
"installDir": "${sourceDir}/cmake-build/install/${presetName}",
|
|
"cacheVariables": {
|
|
"CMAKE_CXX_COMPILER": "clang++",
|
|
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
|
|
"VCPKG_INSTALLED_DIR": "${sourceDir}/cmake-build/vcpkg_installed",
|
|
"CMAKE_MAKE_PROGRAM": "ninja"
|
|
},
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Linux"
|
|
}
|
|
},
|
|
{
|
|
"name": "linux-debug",
|
|
"displayName": "Linux Debug",
|
|
"inherits": "linux-base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug"
|
|
}
|
|
},
|
|
{
|
|
"name": "linux-debug-vcpkg",
|
|
"displayName": "Linux Debug",
|
|
"inherits": "linux-base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"OMATH_BUILD_VIA_VCPKG": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "linux-release",
|
|
"displayName": "Linux Release",
|
|
"inherits": "linux-debug",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release"
|
|
}
|
|
},
|
|
{
|
|
"name": "linux-release-vcpkg",
|
|
"displayName": "Linux Release",
|
|
"inherits": "linux-debug",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release",
|
|
"OMATH_BUILD_VIA_VCPKG": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "darwin-base",
|
|
"hidden": true,
|
|
"generator": "Ninja",
|
|
"binaryDir": "${sourceDir}/cmake-build/build/${presetName}",
|
|
"installDir": "${sourceDir}/cmake-build/install/${presetName}",
|
|
"cacheVariables": {
|
|
"CMAKE_CXX_COMPILER": "clang++"
|
|
},
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Darwin"
|
|
}
|
|
},
|
|
{
|
|
"name": "darwin-debug",
|
|
"displayName": "Darwin Debug",
|
|
"inherits": "darwin-base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug"
|
|
}
|
|
},
|
|
{
|
|
"name": "darwin-release",
|
|
"displayName": "Darwin Release",
|
|
"inherits": "darwin-debug",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release"
|
|
}
|
|
}
|
|
]
|
|
} |