diff --git a/.gitignore b/.gitignore index edd4b0867362..24c28f790820 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ build/ cmake_install.cmake fmt-*.cmake fmt.pc +run-msbuild.bat +/out diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 000000000000..f849f48e833a --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,66 @@ +{ + "version": 2, + "cmakeMinimumRequired": { + "major": 3, + "minor": 20, + "patch": 0 + }, + "configurePresets": [ + { + "name": "windows-x64-v143-debug-cpp20", + "displayName": "Windows 2022 x64 Debug C++20", + "generator": "Visual Studio 17 2022", + "binaryDir": "${sourceDir}/out/${presetName}", + "architecture": "x64", + "toolset": "v143", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "CMAKE_CXX_STANDARD": "20" + } + }, + { + "name": "windows-x64-v143-release-cpp20", + "displayName": "Windows 2022 x64 Release C++20", + "generator": "Visual Studio 17 2022", + "binaryDir": "${sourceDir}/out/${presetName}", + "architecture": "x64", + "toolset": "v143", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release", + "CMAKE_CXX_STANDARD": "20" + } + }, + { + "name": "linux-base", + "hidden": true, + "generator": "Unix Makefiles", + "cacheVariables": { + "CMAKE_CXX_VISIBILITY_PRESET": "hidden", + "CMAKE_VISIBILITY_INLINES_HIDDEN": "ON", + "FMT_DOC": "OFF", + "FMT_PEDANTIC": "ON", + "FMT_WERROR": "ON" + } + }, + { + "name": "linux-release-cpp20", + "inherits": "linux-base", + "displayName": "Linux Release C++20", + "binaryDir": "${sourceDir}/out/${presetName}", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release", + "CMAKE_CXX_STANDARD": "20" + } + }, + { + "name": "linux-debug-cpp20", + "inherits": "linux-base", + "displayName": "Linux Debug C++20", + "binaryDir": "${sourceDir}/out/${presetName}", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "CMAKE_CXX_STANDARD": "20" + } + } + ] +}