[Bf-blender-cvs] [1b04b5cf08d] temp-ghost-vulkan: Find MoltenVK (WIP).

Jeroen Bakker noreply at git.blender.org
Tue Nov 1 08:43:08 CET 2022


Commit: 1b04b5cf08d429c4f23e506d04fbca2cc50f26db
Author: Jeroen Bakker
Date:   Fri Oct 21 11:40:44 2022 +0200
Branches: temp-ghost-vulkan
https://developer.blender.org/rB1b04b5cf08d429c4f23e506d04fbca2cc50f26db

Find MoltenVK (WIP).

===================================================================

A	build_files/cmake/Modules/FindVulkan.cmake
M	build_files/cmake/platform/platform_apple.cmake
M	intern/ghost/CMakeLists.txt

===================================================================

diff --git a/build_files/cmake/Modules/FindVulkan.cmake b/build_files/cmake/Modules/FindVulkan.cmake
new file mode 100644
index 00000000000..e8e75ddffb3
--- /dev/null
+++ b/build_files/cmake/Modules/FindVulkan.cmake
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2022 Blender Foundation.
+
+# - Find Vulkan library
+# Find the native USD includes and libraries
+# This module defines
+#  VULKAN_INCLUDE_DIRS, where to find Vulkan headers.
+#  VULKAN_LIBRARIES, libraries to link against to use USD.
+#  VULKAN_ROOT_DIR, The base directory to search for USD.
+#                    This can also be an environment variable.
+#  VULKAN_FOUND, If false, do not try to use USD.
+#
+
+# If VULKAN_ROOT_DIR was defined in the environment, use it.
+IF(NOT VULKAN_ROOT_DIR AND NOT $ENV{VULKAN_ROOT_DIR} STREQUAL "")
+ SET(VULKAN_ROOT_DIR $ENV{VULKAN_ROOT_DIR})
+ENDIF()
+
+SET(_vulkan_SEARCH_DIRS
+  ${VULKAN_ROOT_DIR}
+)
+
+FIND_PATH(VULKAN_INCLUDE_DIR
+  NAMES
+    MoltenVK/vk_mvk_moltenvk.h
+    
+  HINTS
+    ${_vulkan_SEARCH_DIRS}/MoltenVK/
+  PATH_SUFFIXES
+    include
+  DOC "MoltenVK header files"
+)
+
+FIND_LIBRARY(VULKAN_LIBRARY
+  NAMES
+    MoltenVK
+  NAMES_PER_DIR
+  HINTS
+    ${_vulkan_SEARCH_DIRS}/MoltenVK/dylib/
+  PATH_SUFFIXES
+    macOS
+  DOC "MolkenVK MacOS Vulkan translation layer library"
+)
+
+IF(${VULKAN_LIBRARY_NOTFOUND})
+  SET(VULKAN_FOUND FALSE)
+ELSE()
+  INCLUDE(FindPackageHandleStandardArgs)
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(VULKAN DEFAULT_MSG VULKAN_LIBRARY VULKAN_INCLUDE_DIR)
+
+  IF(VULKAN_FOUND)
+    SET(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR})
+    SET(VULKAN_LIBRARIES ${VULKAN_LIBRARY})
+  ENDIF()
+
+ENDIF()
+
+MARK_AS_ADVANCED(
+  VULKAN_INCLUDE_DIR
+  VULKAN_LIBRARY
+)
+
+UNSET(_vulkan_SEARCH_DIRS)
\ No newline at end of file
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
index 1b6278f6cbb..bdb3974a68c 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -101,7 +101,7 @@ if(WITH_USD)
 endif()
 
 if(WITH_VULKAN_BACKEND)
-  find_package_wrapper(Vulkan REQUIRED)
+  find_package(VULKAN REQUIRED)
 endif()
 
 if(WITH_OPENSUBDIV)
diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt
index 37c5fa74f2d..84424e740fa 100644
--- a/intern/ghost/CMakeLists.txt
+++ b/intern/ghost/CMakeLists.txt
@@ -84,7 +84,7 @@ if(WITH_VULKAN_BACKEND)
   )
 
   list(APPEND INC_SYS
-    ${Vulkan_INCLUDE_DIRS}
+    ${VULKAN_INCLUDE_DIR}
   )
 endif()



More information about the Bf-blender-cvs mailing list