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
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
2 changed files with
6 additions and
18 deletions
-
externals/CMakeLists.txt
-
src/yuzu/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() |
|
|
|
@ -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() |
|
|
|
|
|
|
|
|