瀏覽代碼

Tests/RunCMake/cmake_language: test GET_EXPERIMENTAL_FEATURE_ENABLED

Ben Boeckel 1 年之前
父節點
當前提交
8fd089018d

+ 6 - 0
Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set-stderr.txt

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

+ 11 - 0
Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set.cmake

@@ -0,0 +1,11 @@
+set(CMAKE_EXPERIMENTAL_EXPORT_PACKAGE_DEPENDENCIES
+  "1942b4fa-b2c5-4546-9385-83f254070067")
+
+cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED
+  "ExportPackageDependencies"
+  feature_present)
+
+if (NOT feature_present STREQUAL "TRUE")
+  message(FATAL_ERROR
+    "Expected the `ExportPackageDependencies` feature to be enabled.")
+endif ()

+ 8 - 0
Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-unset.cmake

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

+ 1 - 0
Tests/RunCMake/cmake_language/Experimental/Unknown-result.txt

@@ -0,0 +1 @@
+1

+ 4 - 0
Tests/RunCMake/cmake_language/Experimental/Unknown-stderr.txt

@@ -0,0 +1,4 @@
+CMake Error at Experimental/Unknown.cmake:1 \(cmake_language\):
+  cmake_language Experimental feature name "Unknown" does not exist.
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)

+ 8 - 0
Tests/RunCMake/cmake_language/Experimental/Unknown.cmake

@@ -0,0 +1,8 @@
+cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED
+  "Unknown"
+  feature_present)
+
+if (NOT feature_present STREQUAL "")
+  message(FATAL_ERROR
+    "Got a result for the `Unknown` experimental feature.")
+endif ()

+ 6 - 0
Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set-stderr.txt

@@ -0,0 +1,6 @@
+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:3 \(include\)
+This warning is for project developers.  Use -Wno-dev to suppress it.

+ 11 - 0
Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set.cmake

@@ -0,0 +1,11 @@
+set(CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER
+  "5c2d848d-4efa-4529-a768-efd57171bf68")
+
+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 ()

+ 8 - 0
Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-unset.cmake

@@ -0,0 +1,8 @@
+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 ()

+ 6 - 0
Tests/RunCMake/cmake_language/RunCMakeTest.cmake

@@ -156,3 +156,9 @@ run_cmake_command(
     -DCMAKE_MESSAGE_LOG_LEVEL=TRACE
     -DCMAKE_MESSAGE_LOG_LEVEL=TRACE
     -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
     -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
   )
   )
+
+run_cmake(Experimental/ExportPackageDependencies-set)
+run_cmake(Experimental/ExportPackageDependencies-unset)
+run_cmake(Experimental/WindowsKernelModeDriver-set)
+run_cmake(Experimental/WindowsKernelModeDriver-unset)
+run_cmake(Experimental/Unknown)