summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-11-13 23:26:55 +0100
committerGitHub <noreply@github.com>2021-11-13 23:26:55 +0100
commit0d4c8270d0d6a7a307c70cfa7d4d54fd5ae6be40 (patch)
tree1044fcd523e177273ee329cbcd59b99bedb5bd46 /Source/Core
parent3e8427991999a4a46b9cc5f75cc161b061deda33 (diff)
parent2209dc035574238907634492e4179125f71a00b1 (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.txt8
-rw-r--r--Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp4
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);