summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/release/3.24.rst5
-rw-r--r--Modules/FindVulkan.cmake10
2 files changed, 15 insertions, 0 deletions
diff --git a/Help/release/3.24.rst b/Help/release/3.24.rst
index 3141255..7db9c91 100644
--- a/Help/release/3.24.rst
+++ b/Help/release/3.24.rst
@@ -317,6 +317,11 @@ Deprecated and Removed Features
* The :module:`FindGLUT` module no longer provides the undocumented
``GLUT_LIBRARY`` and ``GLUT_INCLUDE_PATH`` result variables.
+* The :module:`FindVulkan` module no longer silently ignores unknown
+ components requested by a ``find_package(Vulkan REQUIRED ...)`` call.
+ With the addition of support for components, requests for unknown
+ components now produce an error.
+
Other Changes
=============
diff --git a/Modules/FindVulkan.cmake b/Modules/FindVulkan.cmake
index 2f69234..3817987 100644
--- a/Modules/FindVulkan.cmake
+++ b/Modules/FindVulkan.cmake
@@ -222,6 +222,16 @@ environment.
cmake_policy(PUSH)
cmake_policy(SET CMP0057 NEW)
+# Provide compatibility with a common invalid component request that
+# was silently ignored prior to CMake 3.24.
+if("FATAL_ERROR" IN_LIST Vulkan_FIND_COMPONENTS)
+ message(AUTHOR_WARNING
+ "Ignoring unknown component 'FATAL_ERROR'.\n"
+ "The find_package() command documents no such argument."
+ )
+ list(REMOVE_ITEM Vulkan_FIND_COMPONENTS "FATAL_ERROR")
+endif()
+
# For backward compatibility as `FindVulkan` in previous CMake versions allow to retrieve `glslc`
# and `glslangValidator` without requesting the corresponding component.
if(NOT glslc IN_LIST Vulkan_FIND_COMPONENTS)