Browse Source
[cmake] Bundle KosmicKrisp, MoltenVK, and Vulkan Loader
For future testing.
Signed-off-by: crueter <crueter@eden-emu.dev>
kosmickrisp
crueter
7 days ago
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
4 changed files with
26 additions and
25 deletions
-
CMakeLists.txt
-
externals/CMakeLists.txt
-
externals/cpmfile.json
-
src/yuzu/CMakeLists.txt
|
|
|
@ -448,6 +448,11 @@ if (NOT YUZU_STATIC_ROOM) |
|
|
|
if (NOT TARGET Opus::opus) |
|
|
|
add_library(Opus::opus ALIAS opus) |
|
|
|
endif() |
|
|
|
|
|
|
|
if (APPLE) |
|
|
|
# KosmicKrisp |
|
|
|
AddJsonPackage(kosmickrisp) |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
|
|
|
|
if(NOT TARGET Boost::headers) |
|
|
|
|
|
|
|
@ -396,17 +396,3 @@ if (ANDROID) |
|
|
|
|
|
|
|
add_library(oboe::oboe ALIAS oboe) |
|
|
|
endif() |
|
|
|
|
|
|
|
if (APPLE) |
|
|
|
# moltenvk |
|
|
|
if (NOT YUZU_USE_BUNDLED_MOLTENVK) |
|
|
|
find_library(MOLTENVK_LIBRARY MoltenVK) |
|
|
|
endif() |
|
|
|
|
|
|
|
# TODO: kosmickrisp? |
|
|
|
if (NOT MOLTENVK_LIBRARY OR YUZU_USE_BUNDLED_MOLTENVK) |
|
|
|
AddJsonPackage(moltenvk) |
|
|
|
|
|
|
|
set(MOLTENVK_LIBRARY "${moltenvk_SOURCE_DIR}/MoltenVK/dylib/macOS/libMoltenVK.dylib" CACHE STRING "" FORCE) |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
@ -185,12 +185,14 @@ |
|
|
|
"bundled": true, |
|
|
|
"skip_updates": "true" |
|
|
|
}, |
|
|
|
"moltenvk": { |
|
|
|
"repo": "V380-Ori/Ryujinx.MoltenVK", |
|
|
|
"tag": "v%VERSION%-ryujinx", |
|
|
|
"git_version": "1.4.1", |
|
|
|
"artifact": "MoltenVK-macOS.tar", |
|
|
|
"hash": "5695b36ca5775819a71791557fcb40a4a5ee4495be6b8442e0b666d0c436bec02aae68cc6210183f7a5c986bdbec0e117aecfad5396e496e9c2fd5c89133a347", |
|
|
|
|
|
|
|
"kosmickrisp": { |
|
|
|
"package": "KosmicKrisp", |
|
|
|
"repo": "crueter-ci/KosmicKrisp", |
|
|
|
"hash": "2df127265580aca955d1ac226e159819802f680d4cdd5508c42784c1e2296ef55322ddaec44b2b71e9528f56a3a2c6db28ae9d4a18cbe75a77411251a3e8b07e", |
|
|
|
"git_version": "26.0.0", |
|
|
|
"tag": "v%VERSION%", |
|
|
|
"artifact": "KosmicKrisp-%VERSION%.tar.zst", |
|
|
|
"bundled": true |
|
|
|
}, |
|
|
|
"gamemode": { |
|
|
|
|
|
|
|
@ -375,14 +375,22 @@ if (APPLE) |
|
|
|
set_target_properties(yuzu PROPERTIES MACOSX_BUNDLE TRUE) |
|
|
|
set_target_properties(yuzu PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist) |
|
|
|
|
|
|
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib") |
|
|
|
find_library(MOLTENVK_LIBRARY MoltenVK REQUIRED) |
|
|
|
message(STATUS "Using MoltenVK at ${MOLTENVK_LIBRARY}.") |
|
|
|
set(KK_LIBS |
|
|
|
"${KosmicKrisp_SOURCE_DIR}/lib/libMoltenVK.dylib" |
|
|
|
"${KosmicKrisp_SOURCE_DIR}/lib/libvulkan.1.dylib" |
|
|
|
"${KosmicKrisp_SOURCE_DIR}/lib/libvulkan_kosmickrisp.dylib") |
|
|
|
|
|
|
|
set_source_files_properties(${MOLTENVK_LIBRARY} PROPERTIES |
|
|
|
set_source_files_properties(${KK_LIBS} PROPERTIES |
|
|
|
MACOSX_PACKAGE_LOCATION Frameworks |
|
|
|
XCODE_FILE_ATTRIBUTES "CodeSignOnCopy") |
|
|
|
target_sources(yuzu PRIVATE ${MOLTENVK_LIBRARY}) |
|
|
|
|
|
|
|
target_sources(yuzu PRIVATE ${KK_LIBS}) |
|
|
|
|
|
|
|
add_custom_command(TARGET yuzu POST_BUILD |
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory |
|
|
|
"${KosmicKrisp_SOURCE_DIR}/vulkan" |
|
|
|
"$<TARGET_FILE_DIR:yuzu>/../Resources/vulkan" |
|
|
|
COMMENT "Copying Vulkan ICDs") |
|
|
|
elseif(WIN32) |
|
|
|
# compile as a win32 gui application instead of a console application |
|
|
|
target_link_libraries(yuzu PRIVATE Qt6::EntryPointPrivate) |
|
|
|
|