diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b8f60089d..f8e8516dbc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,7 +60,7 @@ endif() if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") option(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" OFF) else() - option(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" ON) + option(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" ON) endif() if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index 09738b9e03..bab6a6c4f5 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -495,29 +495,7 @@ 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() - +add_subdirectory(externals) target_link_libraries(yuzu PRIVATE QuaZip::QuaZip) create_target_directory_groups(yuzu) diff --git a/src/yuzu/externals/CMakeLists.txt b/src/yuzu/externals/CMakeLists.txt new file mode 100644 index 0000000000..ac17308e09 --- /dev/null +++ b/src/yuzu/externals/CMakeLists.txt @@ -0,0 +1,31 @@ +# Disable tests in all externals supporting the standard option name +set(BUILD_TESTING OFF) + +# Build only static externals +set(BUILD_SHARED_LIBS OFF) + +# QuaZip +set(QUAZIP_QT_MAJOR_VERSION 6) +set(QUAZIP_BZIP2 OFF) + +include(CPM) +set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm) +set(CPM_USE_LOCAL_PACKAGES ON) + +CPMAddPackage( + NAME QuaZip-Qt6 + VERSION 1.3 + GIT_REPOSITORY "https://github.com/stachenov/quazip.git" + GIT_TAG v1.5 + PATCHES + ${CMAKE_SOURCE_DIR}/.ci/patch/0001-quazip-strict.patch + ${CMAKE_SOURCE_DIR}/.ci/patch/0002-quazip-fetchcontent.patch +) + +if (NOT MSVC AND NOT "QuaZip-Qt6" IN_LIST CPM_PACKAGES) + message(STATUS "QUAZIP DIR: ${CPM_PACKAGES}") + target_compile_options(QuaZip PRIVATE + -Wno-error=shadow + -Wno-error=missing-declarations + ) +endif() 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;