Skip to content

Commit

Permalink
build: Disable Vulkan-Module by default
Browse files Browse the repository at this point in the history
After numerous reports of builds being broken due to the addition of the
Vulkan-Module support code in CMake, the option is being set to OFF by
default. This prevents projects which do not use the module from not being
able to build due to compiler, build system, and platform issues. Projects
wishing to enable modules can set the cmake option
VULKAN_HEADERS_ENABLE_MODULE=ON to re-enable the module support.

Add a warning in case a user decides to enable the module but the platform
doesn't support modules.
  • Loading branch information
charles-lunarg committed Oct 29, 2024
1 parent ab1ea90 commit f2eb740
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,13 @@ if ((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND (MSVC_VERSION GREATER_EQUAL "1941
set(COMPILER_SUPPORTS_CXX_MODULES TRUE)
endif()

option(VULKAN_HEADERS_ENABLE_MODULE "Enables building of the Vulkan C++ module. Default is true if supported by the CMake version and compilers" ${COMPILER_SUPPORTS_CXX_MODULES})
option(VULKAN_HEADERS_ENABLE_MODULE "Enables building of the Vulkan C++ module" OFF)

if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.28" AND VULKAN_HEADERS_ENABLE_MODULE)
if (VULKAN_HEADERS_ENABLE_MODULE AND (NOT COMPILER_SUPPORTS_CXX_MODULES OR CMAKE_VERSION VERSION_LESS "3.28"))
message(WARNING "Vulkan C++ module support is requested but was disabled due to lacking support on this platform")
endif()

if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.28" AND VULKAN_HEADERS_ENABLE_MODULE AND COMPILER_SUPPORTS_CXX_MODULES)
add_library(Vulkan-Module)
add_library(Vulkan::VulkanHppModule ALIAS Vulkan-Module)
target_sources(Vulkan-Module
Expand Down

0 comments on commit f2eb740

Please sign in to comment.