mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
build: add basic cmake-presets integration (#19128)
This allows a more declarative way of defining targets which may be easier to those not familiar with cmake quirks. Example usage: # get a list of pre-configured presets cmake --list-presets # configure a preset cmake . --preset=default # build it cmake --build --preset=default
This commit is contained in:
parent
7a091fdfaf
commit
875b58e094
2
.gitignore
vendored
2
.gitignore
vendored
@ -73,3 +73,5 @@ tags
|
|||||||
|
|
||||||
# vim patches
|
# vim patches
|
||||||
/vim-*.patch
|
/vim-*.patch
|
||||||
|
|
||||||
|
/CMakeUserPresets.json
|
||||||
|
95
CMakePresets.json
Normal file
95
CMakePresets.json
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user