diff options
Diffstat (limited to 'CMakePresets.json')
| -rw-r--r-- | CMakePresets.json | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 000000000..c23fbada1 --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,197 @@ +{ + "version": 6, + "cmakeMinimumRequired": { + "major": 3, + "minor": 20, + "patch": 0 + }, + "configurePresets": [ + { + "name": "default", + "description": "Default build using Ninja Multi-Config generator", + "generator": "Ninja Multi-Config", + "binaryDir": "${sourceDir}/build" + }, + { + "name": "msvc-base", + "hidden": true, + "inherits": "default", + "description": "Options specific for MSVC", + "cacheVariables": { + "CMAKE_C_FLAGS_INIT": "-D_ITERATOR_DEBUG_LEVEL=0 /MP", + "CMAKE_CXX_FLAGS_INIT": "-D_ITERATOR_DEBUG_LEVEL=0 /MP" + } + }, + { + "name": "vs2019", + "inherits": "msvc-base", + "description": "Visual Studio 2019 project", + "generator": "Visual Studio 16 2019" + }, + { + "name": "vs2022", + "inherits": "msvc-base", + "description": "Visual Studio 2022 project", + "generator": "Visual Studio 17 2022" + }, + { + "name": "single-component", + "inherits": "default", + "description": "configure to package a single component", + "cacheVariables": { + "CPACK_ARCHIVE_COMPONENT_INSTALL": "ON" + } + }, + { + "name": "slang-llvm", + "inherits": "single-component", + "description": "Build slang-llvm from the system LLVM", + "cacheVariables": { + "SLANG_SLANG_LLVM_FLAVOR": "USE_SYSTEM_LLVM" + } + } + ], + "buildPresets": [ + { + "name": "debug", + "configurePreset": "default", + "configuration": "Debug" + }, + { + "name": "release", + "configurePreset": "default", + "configuration": "Release" + }, + { + "name": "generators", + "inherits": "release", + "configurePreset": "single-component", + "targets": [ + "all-generators" + ] + }, + { + "name": "slang-llvm", + "inherits": "release", + "configurePreset": "slang-llvm", + "targets": [ + "slang-llvm" + ] + } + ], + "packagePresets": [ + { + "name": "base", + "hidden": true, + "configurePreset": "default", + "generators": [ + "ZIP" + ], + "variables": { + "CPACK_PACKAGE_FILE_NAME": "slang" + } + }, + { + "name": "release", + "inherits": "base", + "configurations": [ + "Release" + ], + "packageDirectory": "dist-release" + }, + { + "name": "debug", + "inherits": "base", + "configurations": [ + "Debug" + ], + "packageDirectory": "dist-debug" + }, + { + "name": "generators", + "inherits": "release", + "configurePreset": "single-component", + "variables": { + "CPACK_COMPONENTS_ALL": "generators" + } + }, + { + "name": "slang-llvm", + "inherits": "release", + "configurePreset": "slang-llvm", + "variables": { + "CPACK_COMPONENTS_ALL": "slang-llvm" + } + } + ], + "workflowPresets": [ + { + "name": "debug", + "steps": [ + { + "type": "configure", + "name": "default" + }, + { + "type": "build", + "name": "debug" + }, + { + "type": "package", + "name": "debug" + } + ] + }, + { + "name": "release", + "steps": [ + { + "type": "configure", + "name": "default" + }, + { + "type": "build", + "name": "release" + }, + { + "type": "package", + "name": "release" + } + ] + }, + { + "name": "generators", + "steps": [ + { + "type": "configure", + "name": "single-component" + }, + { + "type": "build", + "name": "generators" + }, + { + "type": "package", + "name": "generators" + } + ] + }, + { + "name": "slang-llvm", + "steps": [ + { + "type": "configure", + "name": "slang-llvm" + }, + { + "type": "build", + "name": "slang-llvm" + }, + { + "type": "package", + "name": "slang-llvm" + } + ] + } + ] +} |
