cmake: Remove VULKAN_HEADERS_INSTALL

VULKAN_HEADERS_INSTALL was added since it was believed there was
a valid use case for it.

After looking into the use case that provoked this change there is
no reason to keep VULKAN_HEADERS_INSTALL as an option.

Here is the use case we do NOT want to support:
https://github.com/KhronosGroup/Vulkan-Headers/pull/416#issuecomment-1622318949

Fundamentally this problem is caused add_subdirectory/find_package
not being able to work together flawlessly.

Which isn't the responsibility of Vulkan-Headers to fix.

It's the responsibility of projects that consume Vulkan-Headers
to account for either method.

As described by the CMake maintainers:
https://discourse.cmake.org/t/idiomatic-way-to-handle-packages-and-add-subdirectory/8400
This commit is contained in:
Juan Ramos 2023-07-05 15:16:20 -06:00 committed by Juan Ramos
parent 6f34ca5a37
commit 482af6d865
2 changed files with 4 additions and 12 deletions

View file

@ -8,12 +8,9 @@ if (NOT TARGET Vulkan::Headers)
message(FATAL_ERROR "Vulkan::Headers target not defined")
endif()
# By default installation for a subproject should be disabled.
# This makes it easier to consume for most projects.
# Consuming the vulkan-headers via add_subdirectory and installing
# them is the more niche use case.
if (VULKAN_HEADERS_INSTALL)
message(FATAL_ERROR "VULKAN_HEADERS_INSTALL should be OFF!")
# Consuming vulkan-headers via add_subdirectory should NOT add installation code to the parent CMake project.
if (DEFINED CMAKE_INSTALL_INCLUDEDIR)
message(FATAL_ERROR "CMAKE_INSTALL_INCLUDEDIR was defined!")
endif()
add_library(foobar STATIC)