From 6a6433bb117c4ff600eda48b4e00eb1380e7da15 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Mon, 9 May 2022 15:43:16 +0200 Subject: [PATCH] Added alternative way to get vulkan headers as submodule Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- .gitmodules | 6 ++++++ CMakeLists.txt | 1 + config/lib/Vulkan.cmake | 21 ++++++++++++++++++++- lib/Vulkan-Headers | 1 + lib/Vulkan-Hpp | 1 + 5 files changed, 29 insertions(+), 1 deletion(-) create mode 160000 lib/Vulkan-Headers create mode 160000 lib/Vulkan-Hpp diff --git a/.gitmodules b/.gitmodules index cc3bf1fc..ef5fa3cf 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,3 +28,9 @@ [submodule "modules/upscaling/lib/FidelityFX-FSR"] path = modules/upscaling/lib/FidelityFX-FSR url = https://github.com/GPUOpen-Effects/FidelityFX-FSR.git +[submodule "lib/Vulkan-Headers"] + path = lib/Vulkan-Headers + url = https://github.com/KhronosGroup/Vulkan-Headers.git +[submodule "lib/Vulkan-Hpp"] + path = lib/Vulkan-Hpp + url = https://github.com/KhronosGroup/Vulkan-Hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index d65f3735..9c3f6df3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,6 +98,7 @@ endif() include(${vkcv_config}/Sources.cmake) message(STATUS "Framework:") +message(" - Includes: [ ${vkcv_includes} ]") message(" - Libraries: [ ${vkcv_libraries} ]") message(" - Flags: [ ${vkcv_flags} ]") diff --git a/config/lib/Vulkan.cmake b/config/lib/Vulkan.cmake index e8fe4aee..5100d1b7 100644 --- a/config/lib/Vulkan.cmake +++ b/config/lib/Vulkan.cmake @@ -2,7 +2,26 @@ find_package(Vulkan REQUIRED) if (Vulkan_FOUND) - list(APPEND vkcv_includes ${Vulkan_INCLUDE_DIR}) + if (NOT EXISTS ${Vulkan_INCLUDE_DIR}/vulkan/vulkan.h) + use_git_submodule("${vkcv_lib_path}/Vulkan-Headers" vulkan_headers_status) + + if (${vulkan_headers_status}) + list(APPEND vkcv_includes ${vkcv_lib}/Vulkan-Headers/include) + endif() + else() + list(APPEND vkcv_includes ${Vulkan_INCLUDE_DIR}) + endif() + + if (NOT EXISTS ${Vulkan_INCLUDE_DIR}/vulkan/vulkan.hpp) + use_git_submodule("${vkcv_lib_path}/Vulkan-Hpp" vulkan_hpp_status) + + if (${vulkan_hpp_status}) + list(APPEND vkcv_includes ${vkcv_lib}/Vulkan-Hpp) + endif() + else() + list(APPEND vkcv_includes ${Vulkan_INCLUDE_DIR}) + endif() + list(APPEND vkcv_libraries ${Vulkan_LIBRARIES}) message(${vkcv_config_msg} " Vulkan - ") diff --git a/lib/Vulkan-Headers b/lib/Vulkan-Headers new file mode 160000 index 00000000..8ba8294c --- /dev/null +++ b/lib/Vulkan-Headers @@ -0,0 +1 @@ +Subproject commit 8ba8294c86d0e99fcb457bedbd573dd678ccc9b3 diff --git a/lib/Vulkan-Hpp b/lib/Vulkan-Hpp new file mode 160000 index 00000000..ae1b0c36 --- /dev/null +++ b/lib/Vulkan-Hpp @@ -0,0 +1 @@ +Subproject commit ae1b0c36df0943795cd621a37e7f7bfd00ac958a -- GitLab