Merge topic 'FindVulkan-debug-libraries'
74bb57cae9
FindVulkan: Search for dxc / volk debug libraries7c7c7721e9
FindVulkan: Fix test Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !10475
This commit is contained in:
commit
0a69e10cbf
@ -458,23 +458,35 @@ if(MoltenVK IN_LIST Vulkan_FIND_COMPONENTS)
|
|||||||
endif()
|
endif()
|
||||||
if(volk IN_LIST Vulkan_FIND_COMPONENTS)
|
if(volk IN_LIST Vulkan_FIND_COMPONENTS)
|
||||||
find_library(Vulkan_volk_LIBRARY
|
find_library(Vulkan_volk_LIBRARY
|
||||||
NAMES volk
|
NAMES volk
|
||||||
HINTS
|
HINTS
|
||||||
${_Vulkan_hint_library_search_paths})
|
${_Vulkan_hint_library_search_paths})
|
||||||
mark_as_advanced(Vulkan_Volk_LIBRARY)
|
mark_as_advanced(Vulkan_volk_LIBRARY)
|
||||||
|
|
||||||
|
find_library(Vulkan_volk_DEBUG_LIBRARY
|
||||||
|
NAMES volkd
|
||||||
|
HINTS
|
||||||
|
${_Vulkan_hint_library_search_paths})
|
||||||
|
mark_as_advanced(Vulkan_volk_DEBUG_LIBRARY)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (dxc IN_LIST Vulkan_FIND_COMPONENTS)
|
if (dxc IN_LIST Vulkan_FIND_COMPONENTS)
|
||||||
find_library(Vulkan_dxc_LIBRARY
|
find_library(Vulkan_dxc_LIBRARY
|
||||||
NAMES dxcompiler
|
NAMES dxcompiler
|
||||||
HINTS
|
HINTS
|
||||||
${_Vulkan_hint_library_search_paths})
|
${_Vulkan_hint_library_search_paths})
|
||||||
mark_as_advanced(Vulkan_dxc_LIBRARY)
|
mark_as_advanced(Vulkan_dxc_LIBRARY)
|
||||||
|
|
||||||
|
find_library(Vulkan_dxc_DEBUG_LIBRARY
|
||||||
|
NAMES dxcompilerd
|
||||||
|
HINTS
|
||||||
|
${_Vulkan_hint_library_search_paths})
|
||||||
|
mark_as_advanced(Vulkan_dxc_DEBUG_LIBRARY)
|
||||||
|
|
||||||
find_program(Vulkan_dxc_EXECUTABLE
|
find_program(Vulkan_dxc_EXECUTABLE
|
||||||
NAMES dxc
|
NAMES dxc
|
||||||
HINTS
|
HINTS
|
||||||
${_Vulkan_hint_executable_search_paths})
|
${_Vulkan_hint_executable_search_paths})
|
||||||
mark_as_advanced(Vulkan_dxc_EXECUTABLE)
|
mark_as_advanced(Vulkan_dxc_EXECUTABLE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -828,36 +840,57 @@ if(Vulkan_FOUND)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(Vulkan_volk_LIBRARY AND NOT TARGET Vulkan::volk)
|
if((Vulkan_volk_LIBRARY OR Vulkan_volk_DEBUG_LIBRARY) AND NOT TARGET Vulkan::volk)
|
||||||
add_library(Vulkan::volk STATIC IMPORTED)
|
add_library(Vulkan::volk STATIC IMPORTED)
|
||||||
set_property(TARGET Vulkan::volk
|
set_property(TARGET Vulkan::volk
|
||||||
PROPERTY
|
PROPERTY
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${Vulkan_INCLUDE_DIRS}")
|
INTERFACE_INCLUDE_DIRECTORIES "${Vulkan_INCLUDE_DIRS}")
|
||||||
set_property(TARGET Vulkan::volk APPEND
|
if(Vulkan_volk_LIBRARY)
|
||||||
PROPERTY
|
set_property(TARGET Vulkan::volk APPEND
|
||||||
IMPORTED_CONFIGURATIONS Release)
|
PROPERTY
|
||||||
set_property(TARGET Vulkan::volk APPEND
|
IMPORTED_CONFIGURATIONS Release)
|
||||||
PROPERTY
|
set_property(TARGET Vulkan::volk
|
||||||
IMPORTED_LOCATION_RELEASE "${Vulkan_volk_LIBRARY}")
|
PROPERTY
|
||||||
|
IMPORTED_LOCATION_RELEASE "${Vulkan_volk_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
if(Vulkan_volk_DEBUG_LIBRARY)
|
||||||
|
set_property(TARGET Vulkan::volk APPEND
|
||||||
|
PROPERTY
|
||||||
|
IMPORTED_CONFIGURATIONS Debug)
|
||||||
|
set_property(TARGET Vulkan::volk
|
||||||
|
PROPERTY
|
||||||
|
IMPORTED_LOCATION_DEBUG "${Vulkan_volk_DEBUG_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
if (NOT WIN32)
|
if (NOT WIN32)
|
||||||
set_property(TARGET Vulkan::volk APPEND
|
set_property(TARGET Vulkan::volk APPEND
|
||||||
PROPERTY
|
PROPERTY
|
||||||
IMPORTED_LINK_INTERFACE_LIBRARIES dl)
|
IMPORTED_LINK_INTERFACE_LIBRARIES dl)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (Vulkan_dxc_LIBRARY AND NOT TARGET Vulkan::dxc_lib)
|
if ((Vulkan_dxc_LIBRARY OR Vulkan_dxc_DEBUG_LIBRARY) AND NOT TARGET Vulkan::dxc_lib)
|
||||||
add_library(Vulkan::dxc_lib STATIC IMPORTED)
|
add_library(Vulkan::dxc_lib STATIC IMPORTED)
|
||||||
set_property(TARGET Vulkan::dxc_lib
|
set_property(TARGET Vulkan::dxc_lib
|
||||||
PROPERTY
|
PROPERTY
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${Vulkan_INCLUDE_DIRS}")
|
INTERFACE_INCLUDE_DIRECTORIES "${Vulkan_INCLUDE_DIRS}")
|
||||||
set_property(TARGET Vulkan::dxc_lib APPEND
|
if(Vulkan_dxc_LIBRARY)
|
||||||
PROPERTY
|
set_property(TARGET Vulkan::dxc_lib APPEND
|
||||||
IMPORTED_CONFIGURATIONS Release)
|
PROPERTY
|
||||||
set_property(TARGET Vulkan::dxc_lib APPEND
|
IMPORTED_CONFIGURATIONS Release)
|
||||||
PROPERTY
|
set_property(TARGET Vulkan::dxc_lib
|
||||||
IMPORTED_LOCATION_RELEASE "${Vulkan_dxc_LIBRARY}")
|
PROPERTY
|
||||||
|
IMPORTED_LOCATION_RELEASE "${Vulkan_dxc_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
if(Vulkan_dxc_DEBUG_LIBRARY)
|
||||||
|
set_property(TARGET Vulkan::dxc_lib APPEND
|
||||||
|
PROPERTY
|
||||||
|
IMPORTED_CONFIGURATIONS Debug)
|
||||||
|
set_property(TARGET Vulkan::dxc_lib
|
||||||
|
PROPERTY
|
||||||
|
IMPORTED_LOCATION_DEBUG "${Vulkan_dxc_DEBUG_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(Vulkan_dxc_EXECUTABLE AND NOT TARGET Vulkan::dxc_exe)
|
if(Vulkan_dxc_EXECUTABLE AND NOT TARGET Vulkan::dxc_exe)
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
|
#include <cassert>
|
||||||
|
#include <cstdint>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# include <Windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "dxc/dxcapi.h"
|
#include "dxc/dxcapi.h"
|
||||||
#include "printf.h"
|
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,7 @@ int main()
|
|||||||
try {
|
try {
|
||||||
|
|
||||||
// initialize dynamic dispatcher
|
// initialize dynamic dispatcher
|
||||||
vk::DynamicLoader dl;
|
vk::detail::DynamicLoader dl;
|
||||||
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr =
|
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr =
|
||||||
dl.getProcAddress<PFN_vkGetInstanceProcAddr>("vkGetInstanceProcAddr");
|
dl.getProcAddress<PFN_vkGetInstanceProcAddr>("vkGetInstanceProcAddr");
|
||||||
VULKAN_HPP_DEFAULT_DISPATCHER.init(vkGetInstanceProcAddr);
|
VULKAN_HPP_DEFAULT_DISPATCHER.init(vkGetInstanceProcAddr);
|
||||||
|
Loading…
Reference in New Issue
Block a user