mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 13:15:09 -07:00
00a976129b
Workflow presets allows combining configure, build, test and packaging steps and makes it possible to run everything in a single command. So cmake --preset iwyu cmake --build --preset iwyu instead becomes cmake --workflow --preset iwyu Workflow presets requires at least cmake version 3.25 to use.
114 lines
2.5 KiB
JSON
114 lines
2.5 KiB
JSON
{
|
|
"version": 6,
|
|
"configurePresets": [
|
|
{
|
|
"name": "base",
|
|
"generator": "Ninja",
|
|
"binaryDir": "${sourceDir}/build",
|
|
"hidden": true
|
|
},
|
|
{
|
|
"name": "default",
|
|
"displayName": "RelWithDebInfo",
|
|
"description": "Enables optimizations (-Og or -O2) with debug information",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
|
},
|
|
"inherits": ["base"]
|
|
},
|
|
{
|
|
"name": "debug",
|
|
"displayName": "Debug",
|
|
"description": "Disables optimizations (-O0), enables debug information",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug"
|
|
},
|
|
"inherits": ["base"]
|
|
},
|
|
{
|
|
"name": "release",
|
|
"displayName": "Release",
|
|
"description": "Same as RelWithDebInfo, but disables debug information",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release"
|
|
},
|
|
"inherits": ["base"]
|
|
},
|
|
{
|
|
"name": "windows-default",
|
|
"displayName": "Windows x64 RelWithDebInfo",
|
|
"description": "Sets Ninja generator, enables optimizations with debug information for x64",
|
|
"generator": "Ninja",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
|
},
|
|
"architecture": {
|
|
"value": "x64",
|
|
"strategy": "external"
|
|
},
|
|
"vendor": {
|
|
"microsoft.com/VisualStudioSettings/CMake/1.0": {
|
|
"hostOS": ["Windows"]
|
|
}
|
|
},
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
},
|
|
"inherits": ["base"]
|
|
},
|
|
{
|
|
"name": "iwyu",
|
|
"displayName": "IWYU",
|
|
"description": "Run include-what-you-use with the compiler",
|
|
"cacheVariables": {
|
|
"ENABLE_IWYU": "ON"
|
|
},
|
|
"inherits": ["base"]
|
|
}
|
|
],
|
|
"buildPresets": [
|
|
{
|
|
"name": "default",
|
|
"configurePreset": "default"
|
|
},
|
|
{
|
|
"name": "debug",
|
|
"configurePreset": "debug"
|
|
},
|
|
{
|
|
"name": "release",
|
|
"configurePreset": "release"
|
|
},
|
|
{
|
|
"name": "windows-default",
|
|
"configurePreset": "windows-default",
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"name": "iwyu",
|
|
"configurePreset": "iwyu"
|
|
}
|
|
],
|
|
"workflowPresets": [
|
|
{
|
|
"name": "iwyu",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "iwyu"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "iwyu"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|