diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 93c6338498..eac1f1aece 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -415,27 +415,14 @@ if (APPLE) message(STATUS "Using bundled MoltenVK") AddJsonPackage(moltenvk) - # TODO: is this portable? - set(MVK_STATIC "${moltenvk_SOURCE_DIR}/MoltenVK/static/MoltenVK.xcframework/macos-arm64_x86_64/libMoltenVK.a") set(MVK_DYLIB "${moltenvk_SOURCE_DIR}/MoltenVK/dylib/${platform}/libMoltenVK.dylib") # prefer static lib if it exists for smaller executable size - if (EXISTS "${MVK_STATIC}") - # Using static MoltenVK requires linking to a few Apple frameworks - find_library(IOSURFACE_LIBRARY IOSurface REQUIRED) - find_library(QUARTZCORE_LIBRARY QuartzCore REQUIRED) - - add_library(MoltenVK::MoltenVK STATIC IMPORTED GLOBAL) - set_target_properties(MoltenVK::MoltenVK PROPERTIES - IMPORTED_LOCATION "${MVK_STATIC}" - ) + add_library(moltenvk SHARED IMPORTED) + set_target_properties(moltenvk PROPERTIES + IMPORTED_LOCATION "${MVK_DYLIB}" + ) - target_link_libraries(MoltenVK::MoltenVK INTERFACE ${IOSURFACE_LIBRARY} ${QUARTZCORE_LIBRARY}) - else() - add_library(MoltenVK::MoltenVK SHARED IMPORTED GLOBAL) - set_target_properties(MoltenVK::MoltenVK PROPERTIES - IMPORTED_LOCATION "${MVK_DYLIB}" - ) - endif() + add_library(MoltenVK::MoltenVK ALIAS moltenvk) endif() endif() diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index 6c305ed29d..bfa93dd6c6 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -375,6 +375,7 @@ if (APPLE) XCODE_FILE_ATTRIBUTES "CodeSignOnCopy") target_sources(yuzu PRIVATE "${MOLTENVK_LIBRARY}") + target_link_libraries(yuzu PRIVATE "${MOLTENVK_LIBRARY}") endif() endif()