cmake: Add VK_BOOTSTRAP_VULKAN_HEADER_DIR build option

This commit is contained in:
Charles Giessen 2021-03-01 20:59:49 -07:00 committed by Charles Giessen
parent 07ae8845a7
commit 4211068f10

View File

@ -2,19 +2,27 @@ cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
project(VulkanBootstrap) project(VulkanBootstrap)
add_library(vk-boostrap-vulkan-headers INTERFACE) add_library(vk-boostrap-vulkan-headers INTERFACE)
find_package(Vulkan QUIET)
if(${Vulkan_INCLUDE_DIR} STREQUAL "Vulkan_INCLUDE_DIR-NOTFOUND") set(VK_BOOTSTRAP_VULKAN_HEADER_DIR "" CACHE STRING "Specify the location of the Vulkan-Headers include directory.")
include(FetchContent) mark_as_advanced(VK_BOOTSTRAP_VULKAN_HEADER_DIR)
FetchContent_Declare(
VulkanHeaders if(NOT "${VK_BOOTSTRAP_VULKAN_HEADER_DIR}" STREQUAL "")
GIT_REPOSITORY https://github.com/KhronosGroup/Vulkan-Headers target_include_directories(vk-boostrap-vulkan-headers INTERFACE ${VK_BOOTSTRAP_VULKAN_HEADER_DIR})
GIT_TAG v1.2.171 else ()
) find_package(Vulkan QUIET)
FetchContent_MakeAvailable(VulkanHeaders)
target_link_libraries(vk-boostrap-vulkan-headers INTERFACE Vulkan::Headers) if(${Vulkan_INCLUDE_DIR} STREQUAL "Vulkan_INCLUDE_DIR-NOTFOUND")
else() include(FetchContent)
set_target_properties(vk-boostrap-vulkan-headers PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${Vulkan_INCLUDE_DIR}) FetchContent_Declare(
VulkanHeaders
GIT_REPOSITORY https://github.com/KhronosGroup/Vulkan-Headers
GIT_TAG v1.2.171
)
FetchContent_MakeAvailable(VulkanHeaders)
target_link_libraries(vk-boostrap-vulkan-headers INTERFACE Vulkan::Headers)
else()
set_target_properties(vk-boostrap-vulkan-headers PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${Vulkan_INCLUDE_DIR})
endif()
endif() endif()
add_library(vk-bootstrap src/VkBootstrap.h src/VkBootstrap.cpp) add_library(vk-bootstrap src/VkBootstrap.h src/VkBootstrap.cpp)