mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 12:45:17 -07: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-*.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