153 lines
4.5 KiB
JSON
153 lines
4.5 KiB
JSON
{
|
|
"version": 10,
|
|
"configurePresets": [
|
|
{
|
|
"name": "ninja-base",
|
|
"hidden": true,
|
|
"description": "config-base, use Ninja, set binaryDir and installDir",
|
|
"generator": "Ninja",
|
|
"binaryDir": "${sourceDir}/build/",
|
|
"installDir": "${sourceDir}/install/",
|
|
"condition": {
|
|
"type": "not",
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "win-msvc",
|
|
"description": "Windows x64 config (MSVC + Ninja Multi-Config)",
|
|
"inherits": "ninja-base",
|
|
"generator": "Ninja Multi-Config",
|
|
"cacheVariables": {
|
|
"CMAKE_CONFIGURATION_TYPES": "Debug;Release",
|
|
"CMAKE_CXX_COMPILER": "cl.exe",
|
|
"CMAKE_C_COMPILER": "cl.exe"
|
|
},
|
|
"architecture": {
|
|
"value": "x64",
|
|
"strategy": "external"
|
|
} ,
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"name": "win-clang",
|
|
"description": "Windows x64 config (Clang + MinGW + Ninja Multi-Config), not support STD Module",
|
|
"inherits": "win-msvc",
|
|
"generator": "Ninja Multi-Config",
|
|
"cacheVariables": {
|
|
"CMAKE_CONFIGURATION_TYPES": "Debug;Release",
|
|
"CMAKE_CXX_COMPILER": "clang++",
|
|
"CMAKE_C_COMPILER": "clang"
|
|
}
|
|
},
|
|
{
|
|
"name": "unix-gnu-debug",
|
|
"description": "Linux/macOS GNU Debug config presets(GNU + Ninja)",
|
|
"inherits": "ninja-base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"CMAKE_CXX_COMPILER": "g++",
|
|
"CMAKE_C_COMPILER": "gcc"
|
|
}
|
|
},
|
|
{
|
|
"name": "unix-gnu-release",
|
|
"description": "Linux/macOS GNU Release config presets(GNU + Ninja)",
|
|
"inherits": "ninja-base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release",
|
|
"CMAKE_CXX_COMPILER": "g++",
|
|
"CMAKE_C_COMPILER": "gcc"
|
|
}
|
|
},
|
|
{
|
|
"name": "unix-clang-debug",
|
|
"description": "Linux/macOS Clang Debug config presets(Clang + Ninja)",
|
|
"inherits": "ninja-base",
|
|
"cacheVariables": {
|
|
"CMAKE_CXX_FLAGS": "-stdlib=libc++",
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"CMAKE_CXX_COMPILER": "clang++",
|
|
"CMAKE_C_COMPILER": "clang"
|
|
}
|
|
},
|
|
{
|
|
"name": "unix-clang-release",
|
|
"description": "Linux/macOS Clang Release config presets(Clang + Ninja)",
|
|
"inherits": "ninja-base",
|
|
"cacheVariables": {
|
|
"CMAKE_CXX_FLAGS": "-stdlib=libc++",
|
|
"CMAKE_BUILD_TYPE": "Release",
|
|
"CMAKE_CXX_COMPILER": "clang++",
|
|
"CMAKE_C_COMPILER": "clang"
|
|
}
|
|
}
|
|
],
|
|
"buildPresets": [
|
|
{
|
|
"name": "win-msvc-build-debug",
|
|
"displayName": "win-msvc Build Debug",
|
|
"description": "win-msvc build Debug preset",
|
|
"configurePreset": "win-msvc",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "win-msvc-build-release",
|
|
"displayName": "win-msvc Build Release",
|
|
"description": "win-msvc build Release preset",
|
|
"configurePreset": "win-msvc",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "win-clang-build-debug",
|
|
"displayName": "win-clang Build Debug",
|
|
"description": "win-clang build Debug preset",
|
|
"configurePreset": "win-clang",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "win-clang-build-release",
|
|
"displayName": "win-clang Build Release",
|
|
"description": "win-clang build Release preset",
|
|
"configurePreset": "win-clang",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "unix-gnu-build-debug",
|
|
"displayName": "unix-gnu Build Debug",
|
|
"description": "unix-gnu build Debug preset",
|
|
"configurePreset": "unix-gnu-debug",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "unix-gnu-build-release",
|
|
"displayName": "unix-gnu Build Release",
|
|
"description": "unix-gnu build Release preset",
|
|
"configurePreset": "unix-gnu-release",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "unix-clang-build-debug",
|
|
"displayName": "unix-clang Build Debug",
|
|
"description": "unix-clang build Debug preset",
|
|
"configurePreset": "unix-clang-debug",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "unix-clang-build-release",
|
|
"displayName": "unix-clang Build Release",
|
|
"description": "unix-clang build Release preset",
|
|
"configurePreset": "unix-clang-release",
|
|
"configuration": "Release"
|
|
}
|
|
]
|
|
}
|