1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-15 20:46:37 +08:00

cmExperimental: remove the flag for Windows Kernel Mode Driver support

Enable setting `CMAKE_SYSTEM_NAME` to `WindowsKernelModeDriver` without
an experimental gate.
This commit is contained in:
Brad King
2025-07-09 09:50:04 -04:00
parent 9953069215
commit 2f5dce1b40
10 changed files with 1 additions and 92 deletions

View File

@@ -1,7 +1 @@
# undocumented, do not use outside of CMake
cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED "WindowsKernelModeDriver" _cmake_windows_kernel_mode_driver_enabled)
if(NOT _cmake_windows_kernel_mode_driver_enabled)
message(FATAL_ERROR "Windows kernel-mode driver experimental support is not enabled.")
endif()
set(_CMAKE_FEATURE_DETECTION_TARGET_TYPE STATIC_LIBRARY)

View File

@@ -29,14 +29,6 @@ cmExperimental::FeatureData const LookupTable[] = {
"only for experimentation and feedback to CMake developers.",
{},
cmExperimental::TryCompileCondition::Always },
// WindowsKernelModeDriver
{ "WindowsKernelModeDriver",
"9157bf90-2313-44d6-aefa-67cd83c8be7c",
"CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER",
"CMake's Windows kernel-mode driver support is experimental. It is meant "
"only for experimentation and feedback to CMake developers.",
{},
cmExperimental::TryCompileCondition::Always },
// CxxImportStd
{ "CxxImportStd",
"d0edc3af-4c50-42ea-a356-e2862fe7a444",

View File

@@ -18,7 +18,6 @@ public:
enum class Feature
{
ExportPackageDependencies,
WindowsKernelModeDriver,
CxxImportStd,
ImportPackageInfo,
ExportPackageInfo,

View File

@@ -478,9 +478,7 @@ bool cmGlobalVisualStudio10Generator::InitializeSystem(cmMakefile* mf)
if (!this->InitializeWindowsStore(mf)) {
return false;
}
} else if (this->SystemName == "WindowsKernelModeDriver"_s &&
cmExperimental::HasSupportEnabled(
*mf, cmExperimental::Feature::WindowsKernelModeDriver)) {
} else if (this->SystemName == "WindowsKernelModeDriver"_s) {
this->SystemIsWindowsKernelModeDriver = true;
if (!this->InitializeWindowsKernelModeDriver(mf)) {
return false;

View File

@@ -1,6 +0,0 @@
^CMake Warning \(dev\) at Experimental/WindowsKernelModeDriver-set.cmake:4 \(cmake_language\):
CMake's Windows kernel-mode driver support is experimental. It is meant
only for experimentation and feedback to CMake developers.
Call Stack \(most recent call first\):
CMakeLists.txt:[0-9]+ \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.$

View File

@@ -1,11 +0,0 @@
set(CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER
"9157bf90-2313-44d6-aefa-67cd83c8be7c")
cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED
"WindowsKernelModeDriver"
feature_present)
if (NOT feature_present STREQUAL "TRUE")
message(FATAL_ERROR
"Expected the `WindowsKernelModeDriver` feature to be enabled.")
endif ()

View File

@@ -1,8 +0,0 @@
cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED
"WindowsKernelModeDriver"
feature_present)
if (NOT feature_present STREQUAL "FALSE")
message(FATAL_ERROR
"Expected the `WindowsKernelModeDriver` feature to be disabled.")
endif ()

View File

@@ -1,25 +0,0 @@
^CMake Warning \(dev\) at Experimental/WindowsKernelModeDriver-wrong\.cmake:4 \(cmake_language\):
CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER is set to incorrect value
01234567-0123-0123-0123-0123456789ab
See 'Help/dev/experimental\.rst' in the source tree of this version of CMake
for documentation of the experimental feature and the corresponding
activation value\. This project's code may require changes to work with
this CMake's version of the feature\.
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)
This warning is for project developers\. Use -Wno-dev to suppress it\.
+
CMake Warning \(dev\) at Experimental/WindowsKernelModeDriver-wrong\.cmake:19 \(cmake_language\):
CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER is set to incorrect value
76543210-3210-3210-3210-ba9876543210
See 'Help/dev/experimental\.rst' in the source tree of this version of CMake
for documentation of the experimental feature and the corresponding
activation value\. This project's code may require changes to work with
this CMake's version of the feature\.
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)
This warning is for project developers\. Use -Wno-dev to suppress it\.$

View File

@@ -1,21 +0,0 @@
set(CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER
"01234567-0123-0123-0123-0123456789ab")
cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED
"WindowsKernelModeDriver"
feature_present)
if (NOT feature_present STREQUAL "FALSE")
message(FATAL_ERROR
"Expected the `WindowsKernelModeDriver` feature to be disabled.")
endif ()
# Test if/when warning is repeated.
cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED
"WindowsKernelModeDriver"
feature_present)
set(CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER
"76543210-3210-3210-3210-ba9876543210")
cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED
"WindowsKernelModeDriver"
feature_present)

View File

@@ -163,7 +163,4 @@ run_cmake(Experimental/CxxImportStd-wrong)
run_cmake(Experimental/ExportPackageDependencies-set)
run_cmake(Experimental/ExportPackageDependencies-unset)
run_cmake(Experimental/ExportPackageDependencies-wrong)
run_cmake(Experimental/WindowsKernelModeDriver-set)
run_cmake(Experimental/WindowsKernelModeDriver-unset)
run_cmake(Experimental/WindowsKernelModeDriver-wrong)
run_cmake(Experimental/Unknown)