FindVulkan.cmake 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # Find Vulkan installation
  2. #
  3. # This module defines
  4. # Vulkan_INCLUDE_DIRS
  5. # Vulkan_LIBRARIES
  6. # Vulkan_FOUND
  7. set(Vulkan_INSTALL_DIRS "$ENV{VULKAN_SDK}" CACHE PATH "")
  8. if(WIN32)
  9. set(Vulkan_INCLUDE_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Include")
  10. if(BS_64BIT)
  11. set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Bin")
  12. else()
  13. set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Bin32")
  14. endif()
  15. else()
  16. set(Vulkan_INCLUDE_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/include")
  17. set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/lib")
  18. endif()
  19. message(STATUS "Looking for Vulkan installation...")
  20. find_path(Vulkan_INCLUDE_DIR vulkan/vulkan.h PATHS ${Vulkan_INCLUDE_SEARCH_DIRS})
  21. find_library(Vulkan_LIBRARY NAMES vulkan-1 PATHS ${Vulkan_LIBRARY_SEARCH_DIRS})
  22. if(Vulkan_INCLUDE_DIR AND Vulkan_LIBRARY)
  23. set(Vulkan_FOUND TRUE)
  24. endif()
  25. if(NOT Vulkan_FOUND)
  26. if(Vulkan_FIND_REQUIRED)
  27. message(FATAL_ERROR "Cannot find Vulkan installation. Try modifying the Vulkan_INSTALL_DIRS path.")
  28. else()
  29. message(WARNING "Cannot find Vulkan installation. Try modifying the Vulkan_INSTALL_DIRS path.")
  30. endif()
  31. else()
  32. message(STATUS "...Vulkan OK.")
  33. endif()
  34. if(Vulkan_FOUND)
  35. add_imported_library(Vulkan "${Vulkan_LIBRARY}" "${Vulkan_LIBRARY}")
  36. set_target_properties(Vulkan PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${Vulkan_INCLUDE_DIR}")
  37. endif()
  38. mark_as_advanced(
  39. Vulkan_INSTALL_DIRS
  40. Vulkan_INCLUDE_DIR
  41. Vulkan_LIBRARY)
  42. set(Vulkan_INCLUDE_DIRS ${Vulkan_INCLUDE_DIR})
  43. set(Vulkan_LIBRARIES Vulkan)