Bladeren bron

cmake: Add FindVulkan module

jp9000 5 jaren geleden
bovenliggende
commit
e55a2b4331
1 gewijzigde bestanden met toevoegingen van 70 en 0 verwijderingen
  1. 70 0
      cmake/Modules/FindVulkan.cmake

+ 70 - 0
cmake/Modules/FindVulkan.cmake

@@ -0,0 +1,70 @@
+# Once done these will be defined:
+#
+#  VULKAN_FOUND
+#  VULKAN_INCLUDE_DIRS
+#  VULKAN_LIBRARIES
+#
+# For use in OBS: 
+#
+#  VULKAN_INCLUDE_DIR
+
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_VULKAN QUIET vulkan)
+endif()
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
+else()
+	set(_lib_suffix 32)
+endif()
+
+find_path(VULKAN_INCLUDE_DIR
+	NAMES vulkan/vulkan.h
+	HINTS
+		ENV vulkanPath${_lib_suffix}
+		ENV vulkanPath
+		ENV DepsPath${_lib_suffix}
+		ENV DepsPath
+		ENV VULKAN_SDK
+		${vulkanPath${_lib_suffix}}
+		${vulkanPath}
+		${DepsPath${_lib_suffix}}
+		${DepsPath}
+		${_VULKAN_INCLUDE_DIRS}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include
+	PATH_SUFFIXES
+		include)
+
+find_library(VULKAN_LIB
+	NAMES ${_VULKAN_LIBRARIES} vulkan-1 vulkan libvulkan
+	HINTS
+		ENV vulkanPath${_lib_suffix}
+		ENV vulkanPath
+		ENV DepsPath${_lib_suffix}
+		ENV DepsPath
+		ENV VULKAN_SDK
+		${vulkanPath${_lib_suffix}}
+		${vulkanPath}
+		${DepsPath${_lib_suffix}}
+		${DepsPath}
+		${_VULKAN_LIBRARY_DIRS}
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib
+	PATH_SUFFIXES
+		lib${_lib_suffix} lib
+		libs${_lib_suffix} libs
+		bin${_lib_suffix} bin
+		../lib${_lib_suffix} ../lib
+		../libs${_lib_suffix} ../libs
+		../bin${_lib_suffix} ../bin)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(vulkan DEFAULT_MSG VULKAN_LIB VULKAN_INCLUDE_DIR)
+mark_as_advanced(VULKAN_INCLUDE_DIR VULKAN_LIB)
+
+if(VULKAN_FOUND)
+	set(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR})
+	set(VULKAN_LIBRARIES ${VULKAN_LIB})
+endif()