diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 7dacba23b6..b2a1194f39 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -335,3 +335,27 @@ if (ARCHITECTURE_arm64 AND NOT TARGET sse2neon) add_library(sse2neon INTERFACE) target_include_directories(sse2neon INTERFACE sse2neon) endif() + +include(CPM) +set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm) +set(CPM_USE_LOCAL_PACKAGES ON) + +# QuaZip +if (ENABLE_QT) + set(QUAZIP_QT_MAJOR_VERSION 6) + set(QUAZIP_BZIP2 OFF) + + CPMAddPackage( + URI "gh:stachenov/quazip@1.5" + PATCHES + ${CMAKE_SOURCE_DIR}/.ci/patch/0001-quazip-strict.patch + ${CMAKE_SOURCE_DIR}/.ci/patch/0002-quazip-fetchcontent.patch + ) + + if (NOT MSVC) + target_compile_options(QuaZip PRIVATE + -Wno-error=shadow + -Wno-error=missing-declarations + ) + endif() +endif() diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index 09738b9e03..97161aa9be 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -495,29 +495,6 @@ if (YUZU_ROOM) endif() # Extra deps -set(BUILD_SHARED_LIBS OFF) - -include(CPM) -set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm) -set(CPM_USE_LOCAL_PACKAGES ON) - -set(QUAZIP_QT_MAJOR_VERSION 6) -set(QUAZIP_BZIP2 OFF) - -CPMAddPackage( - URI "gh:stachenov/quazip@1.5" - PATCHES - ${CMAKE_SOURCE_DIR}/.ci/patch/0001-quazip-strict.patch - ${CMAKE_SOURCE_DIR}/.ci/patch/0002-quazip-fetchcontent.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) diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 634c11bdce..6a575cfa87 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -4443,7 +4443,7 @@ void GMainWindow::OnInstallFirmwareFromZIP() QMessageBox::warning(this, tr("Firmware cleanup failed"), tr("Failed to clean up extracted firmware cache.\n" "Check write permissions in the system temp directory and try again.\nOS reported error: %1") - .arg(ec.message())); + .arg(QString::fromStdString(ec.message()))); } return;