CMake reorg, use my updated modules, CI vvl
Some checks failed
eden-license / license-header (pull_request) Failing after 24s

Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
crueter 2025-10-07 17:10:37 -04:00
parent d086d75cab
commit 21302cbc3e
Signed by: crueter
GPG key ID: 425ACD2D4830EBC6
13 changed files with 174 additions and 427 deletions

View file

@ -398,3 +398,43 @@ if (ARCHITECTURE_arm64 AND NOT TARGET sse2neon)
add_library(sse2neon INTERFACE)
target_include_directories(sse2neon INTERFACE sse2neon)
endif()
# MoltenVK
if (APPLE)
find_library(MOLTENVK_LIBRARY MoltenVK)
if (NOT MOLTENVK_LIBRARY OR YUZU_USE_BUNDLED_MOLTENVK)
message(STATUS "Using bundled MoltenVK")
# TODO: is this portable?
set(MVK_STATIC "${MOLTENVK_DIR}/MoltenVK/static/MoltenVK.xcframework/macos-arm64_x86_64/libMoltenVK.a")
set(MVK_DYLIB "${MOLTENVK_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)
set_target_properties(MoltenVK::MoltenVK PROPERTIES
IMPORTED_LOCATION "${MVK_STATIC}"
)
target_link_libraries(MoltenVK::MoltenVK INTERFACE ${IOSURFACE_LIBRARY} ${QUARTZCORE_LIBRARY})
else()
add_library(MoltenVK::MoltenVK SHARED IMPORTED)
set_target_properties(MoltenVK::MoltenVK PROPERTIES
IMPORTED_LOCATION "${MVK_DYLIB}"
)
endif()
target_link_libraries(yuzu PRIVATE MoltenVK::MoltenVK)
else()
message(STATUS "Using MoltenVK at ${MOLTENVK_LIBRARY}.")
set_source_files_properties(${MOLTENVK_LIBRARY} PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks
XCODE_FILE_ATTRIBUTES "CodeSignOnCopy")
target_sources(yuzu ${MOLTENVK_LIBRARY})
endif()
endif()