FindVulkan.cmake 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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_CL_64)
  11. find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS
  12. "$ENV{VULKAN_SDK}/Bin"
  13. "$ENV{VK_SDK_PATH}/Bin")
  14. find_library(VULKAN_STATIC_LIBRARY NAMES vkstatic.1 HINTS
  15. "$ENV{VULKAN_SDK}/Bin"
  16. "$ENV{VK_SDK_PATH}/Bin")
  17. else()
  18. find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS
  19. "$ENV{VULKAN_SDK}/Bin32"
  20. "$ENV{VK_SDK_PATH}/Bin32")
  21. endif()
  22. elseif (APPLE)
  23. find_library(VULKAN_LIBRARY MoltenVK)
  24. if (VULKAN_LIBRARY)
  25. set(VULKAN_STATIC_LIBRARY ${VULKAN_LIBRARY})
  26. find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS
  27. "${VULKAN_LIBRARY}/Headers")
  28. endif()
  29. else()
  30. find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS
  31. "$ENV{VULKAN_SDK}/include")
  32. find_library(VULKAN_LIBRARY NAMES vulkan HINTS
  33. "$ENV{VULKAN_SDK}/lib")
  34. endif()
  35. include(FindPackageHandleStandardArgs)
  36. find_package_handle_standard_args(Vulkan DEFAULT_MSG VULKAN_LIBRARY VULKAN_INCLUDE_DIR)
  37. mark_as_advanced(VULKAN_INCLUDE_DIR VULKAN_LIBRARY VULKAN_STATIC_LIBRARY)