diff --git a/CMakeLists.txt b/CMakeLists.txt index f828f20bd2..c49b8bf8e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -582,32 +582,14 @@ if (ENABLE_QT) else() AddQt(6.9.3) endif() - - set(YUZU_STATIC_BUILD ON) else() message(STATUS "Using system Qt") if (NOT Qt6_DIR) set(Qt6_DIR "" CACHE PATH "Additional path to search for Qt6 libraries like C:/Qt/6.8.3/msvc2022_64/lib/cmake/Qt6") endif() list(APPEND CMAKE_PREFIX_PATH "${Qt6_DIR}") - endif() - find_package(Qt6 CONFIG REQUIRED COMPONENTS Widgets Charts Concurrent) - - if (YUZU_USE_QT_MULTIMEDIA) - find_package(Qt6 REQUIRED COMPONENTS Multimedia) - endif() - - if (PLATFORM_LINUX OR PLATFORM_FREEBSD) - # yes Qt, we get it - set(QT_NO_PRIVATE_MODULE_WARNING ON) - find_package(Qt6 REQUIRED COMPONENTS DBus OPTIONAL_COMPONENTS GuiPrivate) - elseif (UNIX AND NOT APPLE) - find_package(Qt6 REQUIRED COMPONENTS DBus Gui) - endif() - - if (ENABLE_QT_TRANSLATION) - find_package(Qt6 REQUIRED COMPONENTS LinguistTools) + find_package(Qt6 REQUIRED) endif() if (NOT DEFINED QT_TARGET_PATH) @@ -631,16 +613,22 @@ if (ENABLE_QT) ## Components ## # Best practice is to ask for all components at once, so they are from the same version - set(YUZU_QT_COMPONENTS Core Widgets Charts Concurrent) - if (PLATFORM_LINUX) + set(YUZU_QT_COMPONENTS Core Widgets Charts Concurrent Gui) + if (PLATFORM_LINUX OR PLATFORM_FREEBSD) list(APPEND YUZU_QT_COMPONENTS DBus) + # yes Qt, we get it + set(QT_NO_PRIVATE_MODULE_WARNING ON) + list(APPEND YUZU_QT_OPTIONAL GuiPrivate) endif() + if (YUZU_USE_QT_MULTIMEDIA) list(APPEND YUZU_QT_COMPONENTS Multimedia) endif() + if (YUZU_USE_QT_WEB_ENGINE) list(APPEND YUZU_QT_COMPONENTS WebEngineCore WebEngineWidgets) endif() + if (ENABLE_QT_TRANSLATION) list(APPEND YUZU_QT_COMPONENTS LinguistTools) endif() diff --git a/CMakeModules/CPMUtil.cmake b/CMakeModules/CPMUtil.cmake index b992f24083..b98595ac2e 100644 --- a/CMakeModules/CPMUtil.cmake +++ b/CMakeModules/CPMUtil.cmake @@ -715,8 +715,8 @@ function(AddCIPackage) "${${ARTIFACT_PACKAGE}_SOURCE_DIR}" PARENT_SCOPE) if (PKG_ARGS_MODULE) - list(APPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}") - set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE) + list(PREPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}") + Propagate(CMAKE_PREFIX_PATH) endif() else() find_package(${ARTIFACT_PACKAGE} ${ARTIFACT_MIN_VERSION} REQUIRED) @@ -730,7 +730,7 @@ function(AddQt version) endif() AddCIPackage( - NAME Qt + NAME qt PACKAGE Qt6 VERSION ${version} MIN_VERSION 6 @@ -740,5 +740,8 @@ function(AddQt version) freebsd-amd64 solaris-amd64 openbsd-amd64 MODULE) - set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE) + find_package(Qt6 REQUIRED PATHS ${Qt6_SOURCE_DIR} NO_DEFAULT_PATH) + + Propagate(CMAKE_PREFIX_PATH) + Propagate(Qt6_SOURCE_DIR) endfunction() diff --git a/cpmfile.json b/cpmfile.json index 1bb29afae4..ead839de2e 100644 --- a/cpmfile.json +++ b/cpmfile.json @@ -112,7 +112,8 @@ "options": [ "QUAZIP_QT_MAJOR_VERSION 6", "QUAZIP_INSTALL OFF", - "QUAZIP_ENABLE_QTEXTCODEC OFF" + "QUAZIP_ENABLE_QTEXTCODEC OFF", + "QUAZIP_BZIP2 OFF" ] } }