Browse Source

[cmake] do not allow static moltenVK

Conflicts with sys moltenvk

Signed-off-by: crueter <crueter@eden-emu.dev>
pull/2694/head
crueter 4 months ago
parent
commit
c317c6537c
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 23
      externals/CMakeLists.txt
  2. 1
      src/yuzu/CMakeLists.txt

23
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()

1
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()

Loading…
Cancel
Save