diff --git a/CMakePresets.json b/CMakePresets.json index b53a27f180c..82cc1ddb4ef 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -38,11 +38,12 @@ "strategy": "external" }, "cacheVariables": { - "ENABLE_QT": "OFF" + "ENABLE_QT": "OFF", + "ENABLE_GUI_TARGETS": "OFF" }, "vendor": { "microsoft.com/VisualStudioSettings/CMake/1.0": { - "intelliSenseMode": "windows-clang-x64" + "intelliSenseMode": "windows-clang-x64" } }, "condition": { @@ -51,6 +52,20 @@ "rhs": "Windows" } }, + { + "hidden": true, + "name": "windows_ci", + "cacheVariables": { + "ENABLE_WINDOWS_CI": "ON" + } + }, + { + "hidden": true, + "name": "windows_dev", + "cacheVariables": { + "ENABLE_WINDOWS_CI": "OFF" + } + }, { "name": "default", "description": "Default build using Ninja generator", @@ -62,10 +77,10 @@ "rhs": "Windows" } }, + { + "hidden": true, "name": "windows_ninja", - "displayName": "Default with ClangCL and Ninja", - "description": "Windows build using Ninja generator (experimental)", "inherits": [ "default_base", "windows" @@ -77,9 +92,28 @@ } }, { + "hidden": false, + "name": "windows_ci_ninja", + "displayName": "Windows Continuous Integration (ClangCL and Ninja)", + "description": "Windows continuous integration build using Ninja (experimental)", + "inherits": [ + "windows_ninja", + "windows_ci" + ] + }, + { + "hidden": false, + "name": "windows_dev_ninja", + "displayName": "Window Development (ClangCL and Ninja)", + "description": "Windows development build using Ninja (experimental)", + "inherits": [ + "windows_ninja", + "windows_dev" + ] + }, + { + "hidden": true, "name": "windows_msbuild", - "displayName": "Default with ClangCL and MSBuild", - "description": "Default build using Visual Studio generator (experimental)", "inherits": [ "default_base", "windows" @@ -87,6 +121,16 @@ "generator": "Visual Studio 17 2022", "toolset": "ClangCL" }, + { + "hidden": false, + "name": "windows_dev_msbuild", + "displayName": "Window Development (ClangCL and MSBuild)", + "description": "Windows development build using MSBuild (experimental)", + "inherits": [ + "windows_msbuild", + "windows_dev" + ] + }, { "name": "Distribution", "inherits": "default", @@ -219,7 +263,7 @@ "displayName": "Build", "description": "Build the project in debug", "targets": [ - "all" + "all" ] }, { diff --git a/Meta/CMake/common_options.cmake b/Meta/CMake/common_options.cmake index ccc5c6568db..ee1f2446aa5 100644 --- a/Meta/CMake/common_options.cmake +++ b/Meta/CMake/common_options.cmake @@ -39,6 +39,7 @@ serenity_option(ENABLE_GUI_TARGETS ON CACHE BOOL "Enable building GUI targets") serenity_option(ENABLE_INSTALL_HEADERS ON CACHE BOOL "Enable installing headers") serenity_option(ENABLE_SWIFT OFF CACHE BOOL "Enable building Swift files") serenity_option(ENABLE_STD_STACKTRACE OFF CACHE BOOL "Force use of std::stacktrace instead of libbacktrace. If it is not supported the build will fail") +serenity_option(ENABLE_WINDOWS_CI OFF CACHE BOOL "Enable building targets supported on Windows for CI") if (ENABLE_SWIFT) include(${CMAKE_CURRENT_LIST_DIR}/Swift/swift-settings.cmake)