[desktop] fix qt externals

Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
crueter 2025-07-14 16:34:44 -04:00
parent e025391f18
commit 706ae18588
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
4 changed files with 35 additions and 32 deletions

View file

@ -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")
@ -452,6 +452,8 @@ set(FFmpeg_COMPONENTS
avutil
swscale)
add_subdirectory(externals)
if (ENABLE_QT)
if (YUZU_USE_BUNDLED_QT)
download_qt(6.8.3)
@ -498,9 +500,6 @@ if (ENABLE_QT)
message(STATUS "Using host Qt at ${QT_HOST_PATH}")
endif()
# Qt has to download first for QuaZip
add_subdirectory(externals)
function(set_yuzu_qt_components)
# Best practice is to ask for all components at once, so they are from the same version
set(YUZU_QT_COMPONENTS2 Core Widgets Concurrent)

View file

@ -335,31 +335,3 @@ if (ARCHITECTURE_arm64 AND NOT TARGET sse2neon)
add_library(sse2neon INTERFACE)
target_include_directories(sse2neon INTERFACE sse2neon)
endif()
# QuaZip
if (ENABLE_QT)
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()
endif()

View file

@ -495,6 +495,7 @@ if (YUZU_ROOM)
endif()
# Extra deps
add_subdirectory(externals)
target_link_libraries(yuzu PRIVATE QuaZip::QuaZip)
create_target_directory_groups(yuzu)

31
src/yuzu/externals/CMakeLists.txt vendored Normal file
View file

@ -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()