diff options
| author | Léo Lam <leo@leolam.fr> | 2021-11-13 23:26:55 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-13 23:26:55 +0100 |
| commit | 0d4c8270d0d6a7a307c70cfa7d4d54fd5ae6be40 (patch) | |
| tree | 1044fcd523e177273ee329cbcd59b99bedb5bd46 /Source/Core | |
| parent | 3e8427991999a4a46b9cc5f75cc161b061deda33 (diff) | |
| parent | 2209dc035574238907634492e4179125f71a00b1 (diff) | |
Merge pull request #9981 from OatmealDome/mvk-external-project
MoltenVK: Use an external project instead of a pre-compiled dylib
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinQt/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/Source/Core/DolphinQt/CMakeLists.txt b/Source/Core/DolphinQt/CMakeLists.txt index 8b3c7b77be..ec854d5d42 100644 --- a/Source/Core/DolphinQt/CMakeLists.txt +++ b/Source/Core/DolphinQt/CMakeLists.txt @@ -528,8 +528,12 @@ if(APPLE) endforeach() # Copy MoltenVK into the bundle - target_sources(dolphin-emu PRIVATE "${CMAKE_SOURCE_DIR}/Externals/MoltenVK/libvulkan.dylib") - set_source_files_properties("${CMAKE_SOURCE_DIR}/Externals/MoltenVK/libvulkan.dylib" PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks) + if(ENABLE_VULKAN) + add_dependencies(dolphin-emu MoltenVK) + ExternalProject_Get_Property(MoltenVK SOURCE_DIR) + target_sources(dolphin-emu PRIVATE "${SOURCE_DIR}/Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib") + set_source_files_properties("${SOURCE_DIR}/Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib" PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks GENERATED ON) + endif() # Update library references to make the bundle portable include(DolphinPostprocessBundle) diff --git a/Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp b/Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp index e36ef7af28..7c94da05e7 100644 --- a/Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp +++ b/Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp @@ -43,8 +43,8 @@ static bool OpenVulkanLibrary() if (libvulkan_env && s_vulkan_module.Open(libvulkan_env)) return true; - // Use the libvulkan.dylib from the application bundle. - std::string filename = File::GetBundleDirectory() + "/Contents/Frameworks/libvulkan.dylib"; + // Use the libMoltenVK.dylib from the application bundle. + std::string filename = File::GetBundleDirectory() + "/Contents/Frameworks/libMoltenVK.dylib"; return s_vulkan_module.Open(filename.c_str()); #else std::string filename = Common::DynamicLibrary::GetVersionedFilename("vulkan", 1); |
