FindVulkan.cmake 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # Find Vulkan
  2. #
  3. # VULKAN_INCLUDE_DIR
  4. # VULKAN_LIBRARY
  5. # VULKAN_FOUND
  6. if (WIN32)
  7. find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS
  8. "$ENV{VULKAN_SDK}/Include"
  9. "$ENV{VK_SDK_PATH}/Include")
  10. if (CMAKE_SIZEOF_VOID_P EQUAL 8)
  11. find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS
  12. "$ENV{VULKAN_SDK}/Lib"
  13. "$ENV{VULKAN_SDK}/Bin"
  14. "$ENV{VK_SDK_PATH}/Bin")
  15. find_library(VULKAN_STATIC_LIBRARY NAMES vkstatic.1 HINTS
  16. "$ENV{VULKAN_SDK}/Lib"
  17. "$ENV{VULKAN_SDK}/Bin"
  18. "$ENV{VK_SDK_PATH}/Bin")
  19. else()
  20. find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS
  21. "$ENV{VULKAN_SDK}/Lib32"
  22. "$ENV{VULKAN_SDK}/Bin32"
  23. "$ENV{VK_SDK_PATH}/Bin32")
  24. find_library(VULKAN_STATIC_LIBRARY NAMES vkstatic.1 HINTS
  25. "$ENV{VULKAN_SDK}/Lib32"
  26. "$ENV{VULKAN_SDK}/Bin32"
  27. "$ENV{VK_SDK_PATH}/Bin32")
  28. endif()
  29. elseif (APPLE)
  30. set(CMAKE_FIND_FRAMEWORK NEVER)
  31. find_library(VULKAN_LIBRARY MoltenVK)
  32. set(CMAKE_FIND_FRAMEWORK ONLY)
  33. find_library(VULKAN_STATIC_LIBRARY MoltenVK)
  34. find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS
  35. "${VULKAN_LIBRARY}/Headers")
  36. else()
  37. find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS
  38. "$ENV{VULKAN_SDK}/include")
  39. find_library(VULKAN_LIBRARY NAMES vulkan HINTS
  40. "$ENV{VULKAN_SDK}/lib")
  41. endif()
  42. include(FindPackageHandleStandardArgs)
  43. find_package_handle_standard_args(Vulkan DEFAULT_MSG VULKAN_LIBRARY VULKAN_INCLUDE_DIR)
  44. mark_as_advanced(VULKAN_INCLUDE_DIR VULKAN_LIBRARY VULKAN_STATIC_LIBRARY)