[desktop] feat: install firmware from ZIP (#52)

Closes #12

Adds a menu option to install firmware from a packed ZIP.

This PR additionally lays the groundwork to add data import/export via ZIP. In the future, a qt_common subproject should be added to handle common Qt tasks such as this.

Furthermore, to decrease dependency complexity, this also introduces CPM, a wrapper around FetchContent. In theory, this should also lay the groundwork for #8 as well.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/52
This commit is contained in:
crueter 2025-07-14 01:29:57 +02:00
parent 7b23cd0df4
commit f99488fe3e
Signed by: crueter
GPG key ID: 425ACD2D4830EBC6
8 changed files with 252 additions and 32 deletions

View file

@ -494,4 +494,25 @@ if (YUZU_ROOM)
target_link_libraries(yuzu PRIVATE yuzu-room)
endif()
# Extra deps
set(BUILD_SHARED_LIBS OFF)
include(CPM)
set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm)
CPMAddPackage(
URI "gh:stachenov/quazip@1.5"
PATCHES
${CMAKE_SOURCE_DIR}/.ci/patch/0001-quazip-strict.patch
)
if (NOT MSVC)
target_compile_options(QuaZip PRIVATE
-Wno-error=shadow
-Wno-error=missing-declarations
)
endif()
target_link_libraries(yuzu PRIVATE QuaZip::QuaZip)
create_target_directory_groups(yuzu)