startgit

Static page generator for git repositories
git clone git://git.dimitrijedobrota.com/startgit.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

CMakePresets.json (5415B)


0 { 1 "version": 2, 2 "cmakeMinimumRequired": { 3 "major": 3, 4 "minor": 14, 5 "patch": 0 6 }, 7 "configurePresets": [ 8 { 9 "name": "cmake-pedantic", 10 "hidden": true, 11 "warnings": { 12 "dev": true, 13 "deprecated": true, 14 "uninitialized": true, 15 "unusedCli": true, 16 "systemVars": false 17 }, 18 "errors": { 19 "dev": true, 20 "deprecated": true 21 } 22 }, 23 { 24 "name": "dev-mode", 25 "hidden": true, 26 "inherits": "cmake-pedantic", 27 "cacheVariables": { 28 "startgit_DEVELOPER_MODE": "ON" 29 } 30 }, 31 { 32 "name": "cppcheck", 33 "hidden": true, 34 "cacheVariables": { 35 "CMAKE_CXX_CPPCHECK": "cppcheck;--inline-suppr" 36 } 37 }, 38 { 39 "name": "clang-tidy", 40 "hidden": true, 41 "cacheVariables": { 42 "CMAKE_CXX_CLANG_TIDY": "clang-tidy;--header-filter=^${sourceDir}/" 43 } 44 }, 45 { 46 "name": "ci-std", 47 "description": "This preset makes sure the project actually builds with at least the specified standard", 48 "hidden": true, 49 "cacheVariables": { 50 "CMAKE_CXX_EXTENSIONS": "OFF", 51 "CMAKE_CXX_STANDARD": "20", 52 "CMAKE_CXX_STANDARD_REQUIRED": "ON" 53 } 54 }, 55 { 56 "name": "flags-gcc-clang", 57 "description": "These flags are supported by both GCC and Clang", 58 "hidden": true, 59 "cacheVariables": { 60 "CMAKE_CXX_FLAGS": "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS=1 -fstack-protector-strong -fcf-protection=full -fstack-clash-protection -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -Wcast-qual -Wformat=2 -Wundef -Werror=float-equal -Wshadow -Wcast-align -Wunused -Wnull-dereference -Wdouble-promotion -Wimplicit-fallthrough -Wextra-semi -Woverloaded-virtual -Wnon-virtual-dtor -Wold-style-cast", 61 "CMAKE_EXE_LINKER_FLAGS": "-Wl,--allow-shlib-undefined,--as-needed,-z,noexecstack,-z,relro,-z,now,-z,nodlopen", 62 "CMAKE_SHARED_LINKER_FLAGS": "-Wl,--allow-shlib-undefined,--as-needed,-z,noexecstack,-z,relro,-z,now,-z,nodlopen" 63 } 64 }, 65 { 66 "name": "flags-appleclang", 67 "hidden": true, 68 "cacheVariables": { 69 "CMAKE_CXX_FLAGS": "-fstack-protector-strong -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -Wcast-qual -Wformat=2 -Wundef -Werror=float-equal -Wshadow -Wcast-align -Wunused -Wnull-dereference -Wdouble-promotion -Wimplicit-fallthrough -Wextra-semi -Woverloaded-virtual -Wnon-virtual-dtor -Wold-style-cast" 70 } 71 }, 72 { 73 "name": "flags-msvc", 74 "description": "Note that all the flags after /W4 are required for MSVC to conform to the language standard", 75 "hidden": true, 76 "cacheVariables": { 77 "CMAKE_CXX_FLAGS": "/sdl /guard:cf /utf-8 /diagnostics:caret /w14165 /w44242 /w44254 /w44263 /w34265 /w34287 /w44296 /w44365 /w44388 /w44464 /w14545 /w14546 /w14547 /w14549 /w14555 /w34619 /w34640 /w24826 /w14905 /w14906 /w14928 /w45038 /W4 /permissive- /volatile:iso /Zc:inline /Zc:preprocessor /Zc:enumTypes /Zc:lambda /Zc:__cplusplus /Zc:externConstexpr /Zc:throwingNew /EHsc", 78 "CMAKE_EXE_LINKER_FLAGS": "/machine:x64 /guard:cf" 79 } 80 }, 81 { 82 "name": "ci-linux", 83 "inherits": ["flags-gcc-clang", "ci-std"], 84 "generator": "Unix Makefiles", 85 "hidden": true, 86 "cacheVariables": { 87 "CMAKE_BUILD_TYPE": "Release" 88 } 89 }, 90 { 91 "name": "ci-darwin", 92 "inherits": ["flags-appleclang", "ci-std"], 93 "generator": "Xcode", 94 "hidden": true 95 }, 96 { 97 "name": "ci-win64", 98 "inherits": ["flags-msvc", "ci-std"], 99 "generator": "Visual Studio 17 2022", 100 "architecture": "x64", 101 "hidden": true 102 }, 103 { 104 "name": "coverage-linux", 105 "binaryDir": "${sourceDir}/build/coverage", 106 "inherits": "ci-linux", 107 "hidden": true, 108 "cacheVariables": { 109 "ENABLE_COVERAGE": "ON", 110 "CMAKE_BUILD_TYPE": "Coverage", 111 "CMAKE_CXX_FLAGS_COVERAGE": "-Og -g --coverage -fkeep-inline-functions -fkeep-static-functions", 112 "CMAKE_EXE_LINKER_FLAGS_COVERAGE": "--coverage", 113 "CMAKE_SHARED_LINKER_FLAGS_COVERAGE": "--coverage" 114 } 115 }, 116 { 117 "name": "ci-coverage", 118 "inherits": ["coverage-linux", "dev-mode"], 119 "cacheVariables": { 120 "COVERAGE_HTML_COMMAND": "" 121 } 122 }, 123 { 124 "name": "ci-sanitize", 125 "binaryDir": "${sourceDir}/build/sanitize", 126 "inherits": ["ci-linux", "dev-mode"], 127 "cacheVariables": { 128 "CMAKE_BUILD_TYPE": "Sanitize", 129 "CMAKE_CXX_FLAGS_SANITIZE": "-U_FORTIFY_SOURCE -O2 -g -fsanitize=address,undefined -fno-omit-frame-pointer -fno-common" 130 } 131 }, 132 { 133 "name": "ci-build", 134 "binaryDir": "${sourceDir}/build", 135 "hidden": true 136 }, 137 { 138 "name": "ci-multi-config", 139 "description": "Speed up multi-config generators by generating only one configuration instead of the defaults", 140 "hidden": true, 141 "cacheVariables": { 142 "CMAKE_CONFIGURATION_TYPES": "Release" 143 } 144 }, 145 { 146 "name": "ci-macos", 147 "inherits": ["ci-build", "ci-darwin", "dev-mode", "ci-multi-config"] 148 }, 149 { 150 "name": "ci-ubuntu", 151 "inherits": ["ci-build", "ci-linux", "clang-tidy", "cppcheck", "dev-mode"] 152 }, 153 { 154 "name": "ci-windows", 155 "inherits": ["ci-build", "ci-win64", "dev-mode", "ci-multi-config"] 156 } 157 ] 158 }