CMake: Expose Windows CI utilities

This will allow us to gradually build up official support for Windows,
as only targets we have explicitly marked as supported on windows will
be built and ran during CI.
This commit is contained in:
ayeteadoe 2025-05-19 16:15:25 -07:00 committed by Andrew Kaster
commit a11242f3de
Notes: github-actions[bot] 2025-05-20 16:59:52 +00:00
2 changed files with 52 additions and 7 deletions

View file

@ -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"
]
},
{

View file

@ -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)