FindVulkan.cmake 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # Once done these will be defined:
  2. #
  3. # VULKAN_FOUND
  4. # VULKAN_INCLUDE_DIRS
  5. # VULKAN_LIBRARIES
  6. #
  7. # For use in OBS:
  8. #
  9. # VULKAN_INCLUDE_DIR
  10. find_package(PkgConfig QUIET)
  11. if (PKG_CONFIG_FOUND)
  12. pkg_check_modules(_VULKAN QUIET vulkan)
  13. endif()
  14. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  15. set(_lib_suffix 64)
  16. else()
  17. set(_lib_suffix 32)
  18. endif()
  19. find_path(VULKAN_INCLUDE_DIR
  20. NAMES vulkan/vulkan.h
  21. HINTS
  22. ENV vulkanPath${_lib_suffix}
  23. ENV vulkanPath
  24. ENV DepsPath${_lib_suffix}
  25. ENV DepsPath
  26. ENV VULKAN_SDK
  27. ${vulkanPath${_lib_suffix}}
  28. ${vulkanPath}
  29. ${DepsPath${_lib_suffix}}
  30. ${DepsPath}
  31. ${_VULKAN_INCLUDE_DIRS}
  32. PATHS
  33. /usr/include /usr/local/include /opt/local/include /sw/include
  34. PATH_SUFFIXES
  35. include)
  36. find_library(VULKAN_LIB
  37. NAMES ${_VULKAN_LIBRARIES} vulkan-1 vulkan libvulkan
  38. HINTS
  39. ENV vulkanPath${_lib_suffix}
  40. ENV vulkanPath
  41. ENV DepsPath${_lib_suffix}
  42. ENV DepsPath
  43. ENV VULKAN_SDK
  44. ${vulkanPath${_lib_suffix}}
  45. ${vulkanPath}
  46. ${DepsPath${_lib_suffix}}
  47. ${DepsPath}
  48. ${_VULKAN_LIBRARY_DIRS}
  49. PATHS
  50. /usr/lib /usr/local/lib /opt/local/lib /sw/lib
  51. PATH_SUFFIXES
  52. lib${_lib_suffix} lib
  53. libs${_lib_suffix} libs
  54. bin${_lib_suffix} bin
  55. ../lib${_lib_suffix} ../lib
  56. ../libs${_lib_suffix} ../libs
  57. ../bin${_lib_suffix} ../bin)
  58. include(FindPackageHandleStandardArgs)
  59. find_package_handle_standard_args(Vulkan DEFAULT_MSG VULKAN_LIB VULKAN_INCLUDE_DIR)
  60. mark_as_advanced(VULKAN_INCLUDE_DIR VULKAN_LIB)
  61. if(VULKAN_FOUND)
  62. set(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR})
  63. set(VULKAN_LIBRARIES ${VULKAN_LIB})
  64. endif()