FindVulkan.cmake 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Find Vulkan installation
  2. #
  3. # This module defines
  4. # Vulkan_INCLUDE_DIRS
  5. # Vulkan_LIBRARIES_DEBUG
  6. # Vulkan_LIBRARIES_OPTIMIZED
  7. # Vulkan_LIBRARY_DIRS
  8. # Vulkan_FOUND
  9. # TODO: Set default install paths for mac/unix
  10. # TODO: Don't hardcode the version (instead use regex or GLOB to match latest)
  11. set(Vulkan_INSTALL_DIRS "C:/VulkanSDK/1.0.30.0" CACHE PATH "")
  12. set(Vulkan_INCLUDE_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Include")
  13. if(BS_64BIT)
  14. set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Bin")
  15. else()
  16. set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Bin32")
  17. endif()
  18. message(STATUS "Looking for Vulkan installation...")
  19. find_path(Vulkan_INCLUDE_DIR vulkan/vulkan.h PATHS ${Vulkan_INCLUDE_SEARCH_DIRS})
  20. find_library(Vulkan_LIBRARY_OPTIMIZED NAMES vulkan-1 PATHS ${Vulkan_LIBRARY_SEARCH_DIRS})
  21. find_library(Vulkan_LIBRARY_DEBUG NAMES vulkan-1 PATHS ${Vulkan_LIBRARY_SEARCH_DIRS})
  22. if(Vulkan_INCLUDE_DIR AND Vulkan_LIBRARY_OPTIMIZED AND Vulkan_LIBRARY_DEBUG)
  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. mark_as_advanced(Vulkan_INSTALL_DIRS Vulkan_INCLUDE_DIR Vulkan_LIBRARY_OPTIMIZED Vulkan_LIBRARY_DEBUG)
  35. set(Vulkan_INCLUDE_DIRS ${Vulkan_INCLUDE_DIR})
  36. set(Vulkan_LIBRARIES_OPTIMIZED ${Vulkan_LIBRARY_OPTIMIZED})
  37. set(Vulkan_LIBRARIES_DEBUG ${Vulkan_LIBRARY_DEBUG})