Browse Source
qt: 6.7.3 Implementation
qt: 6.7.3 Implementation
Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>pull/15/merge
11 changed files with 404 additions and 337 deletions
-
277CMakeLists.txt
-
125CMakeModules/CopyYuzuQt5Deps.cmake
-
61CMakeModules/CopyYuzuQt6Deps.cmake
-
176CMakeModules/DownloadExternals.cmake
-
31CMakeModules/aqt_config.ini
-
22src/yuzu/CMakeLists.txt
-
14src/yuzu/bootmanager.cpp
-
16src/yuzu/configuration/configure_touch_from_button.cpp
-
6src/yuzu/configuration/configure_ui.cpp
-
6src/yuzu/game_list.cpp
-
7src/yuzu/main.cpp
@ -1,125 +0,0 @@ |
|||
# SPDX-FileCopyrightText: 2016 Citra Emulator Project |
|||
# SPDX-License-Identifier: GPL-2.0-or-later |
|||
|
|||
function(copy_yuzu_Qt5_deps target_dir) |
|||
include(WindowsCopyFiles) |
|||
if (MSVC) |
|||
set(DLL_DEST "$<TARGET_FILE_DIR:${target_dir}>/") |
|||
set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") |
|||
else() |
|||
set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/") |
|||
set(Qt5_DLL_DIR "${Qt5_DIR}/../../../lib/") |
|||
endif() |
|||
set(Qt5_PLATFORMS_DIR "${Qt5_DIR}/../../../plugins/platforms/") |
|||
set(Qt5_PLATFORMTHEMES_DIR "${Qt5_DIR}/../../../plugins/platformthemes/") |
|||
set(Qt5_PLATFORMINPUTCONTEXTS_DIR "${Qt5_DIR}/../../../plugins/platforminputcontexts/") |
|||
set(Qt5_MEDIASERVICE_DIR "${Qt5_DIR}/../../../plugins/mediaservice/") |
|||
set(Qt5_XCBGLINTEGRATIONS_DIR "${Qt5_DIR}/../../../plugins/xcbglintegrations/") |
|||
set(Qt5_STYLES_DIR "${Qt5_DIR}/../../../plugins/styles/") |
|||
set(Qt5_IMAGEFORMATS_DIR "${Qt5_DIR}/../../../plugins/imageformats/") |
|||
set(Qt5_RESOURCES_DIR "${Qt5_DIR}/../../../resources/") |
|||
set(PLATFORMS ${DLL_DEST}plugins/platforms/) |
|||
set(MEDIASERVICE ${DLL_DEST}mediaservice/) |
|||
set(STYLES ${DLL_DEST}plugins/styles/) |
|||
set(IMAGEFORMATS ${DLL_DEST}plugins/imageformats/) |
|||
if (MSVC) |
|||
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} |
|||
Qt5Core$<$<CONFIG:Debug>:d>.* |
|||
Qt5Gui$<$<CONFIG:Debug>:d>.* |
|||
Qt5Widgets$<$<CONFIG:Debug>:d>.* |
|||
Qt5Network$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
if (YUZU_USE_QT_MULTIMEDIA) |
|||
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} |
|||
Qt5Multimedia$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
endif() |
|||
if (YUZU_USE_QT_WEB_ENGINE) |
|||
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} |
|||
Qt5Network$<$<CONFIG:Debug>:d>.* |
|||
Qt5Positioning$<$<CONFIG:Debug>:d>.* |
|||
Qt5PrintSupport$<$<CONFIG:Debug>:d>.* |
|||
Qt5Qml$<$<CONFIG:Debug>:d>.* |
|||
Qt5QmlModels$<$<CONFIG:Debug>:d>.* |
|||
Qt5Quick$<$<CONFIG:Debug>:d>.* |
|||
Qt5QuickWidgets$<$<CONFIG:Debug>:d>.* |
|||
Qt5WebChannel$<$<CONFIG:Debug>:d>.* |
|||
Qt5WebEngineCore$<$<CONFIG:Debug>:d>.* |
|||
Qt5WebEngineWidgets$<$<CONFIG:Debug>:d>.* |
|||
QtWebEngineProcess$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
|
|||
windows_copy_files(${target_dir} ${Qt5_RESOURCES_DIR} ${DLL_DEST} |
|||
icudtl.dat |
|||
qtwebengine_devtools_resources.pak |
|||
qtwebengine_resources.pak |
|||
qtwebengine_resources_100p.pak |
|||
qtwebengine_resources_200p.pak |
|||
) |
|||
endif () |
|||
windows_copy_files(yuzu ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*) |
|||
windows_copy_files(yuzu ${Qt5_STYLES_DIR} ${STYLES} qwindowsvistastyle$<$<CONFIG:Debug>:d>.*) |
|||
windows_copy_files(yuzu ${Qt5_IMAGEFORMATS_DIR} ${IMAGEFORMATS} |
|||
qjpeg$<$<CONFIG:Debug>:d>.* |
|||
qgif$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
windows_copy_files(yuzu ${Qt5_MEDIASERVICE_DIR} ${MEDIASERVICE} |
|||
dsengine$<$<CONFIG:Debug>:d>.* |
|||
wmfengine$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
else() |
|||
set(Qt5_DLLS |
|||
"${Qt5_DLL_DIR}libQt5Core.so.5" |
|||
"${Qt5_DLL_DIR}libQt5DBus.so.5" |
|||
"${Qt5_DLL_DIR}libQt5Gui.so.5" |
|||
"${Qt5_DLL_DIR}libQt5Widgets.so.5" |
|||
"${Qt5_DLL_DIR}libQt5XcbQpa.so.5" |
|||
"${Qt5_DLL_DIR}libicudata.so.60" |
|||
"${Qt5_DLL_DIR}libicui18n.so.60" |
|||
"${Qt5_DLL_DIR}libicuuc.so.60" |
|||
) |
|||
set(Qt5_IMAGEFORMAT_DLLS |
|||
"${Qt5_IMAGEFORMATS_DIR}libqjpeg.so" |
|||
"${Qt5_IMAGEFORMATS_DIR}libqgif.so" |
|||
"${Qt5_IMAGEFORMATS_DIR}libqico.so" |
|||
) |
|||
set(Qt5_PLATFORMTHEME_DLLS |
|||
"${Qt5_PLATFORMTHEMES_DIR}libqgtk3.so" |
|||
"${Qt5_PLATFORMTHEMES_DIR}libqxdgdesktopportal.so" |
|||
) |
|||
set(Qt5_PLATFORM_DLLS |
|||
"${Qt5_PLATFORMS_DIR}libqxcb.so" |
|||
) |
|||
set(Qt5_PLATFORMINPUTCONTEXT_DLLS |
|||
"${Qt5_PLATFORMINPUTCONTEXTS_DIR}libcomposeplatforminputcontextplugin.so" |
|||
"${Qt5_PLATFORMINPUTCONTEXTS_DIR}libibusplatforminputcontextplugin.so" |
|||
) |
|||
set(Qt5_XCBGLINTEGRATION_DLLS |
|||
"${Qt5_XCBGLINTEGRATIONS_DIR}libqxcb-glx-integration.so" |
|||
) |
|||
foreach(LIB ${Qt5_DLLS}) |
|||
file(COPY ${LIB} DESTINATION "${DLL_DEST}/lib" FOLLOW_SYMLINK_CHAIN) |
|||
endforeach() |
|||
foreach(LIB ${Qt5_IMAGEFORMAT_DLLS}) |
|||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/imageformats/" FOLLOW_SYMLINK_CHAIN) |
|||
endforeach() |
|||
foreach(LIB ${Qt5_PLATFORMTHEME_DLLS}) |
|||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platformthemes/" FOLLOW_SYMLINK_CHAIN) |
|||
endforeach() |
|||
foreach(LIB ${Qt5_PLATFORM_DLLS}) |
|||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platforms/" FOLLOW_SYMLINK_CHAIN) |
|||
endforeach() |
|||
foreach(LIB ${Qt5_PLATFORMINPUTCONTEXT_DLLS}) |
|||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platforminputcontexts/" FOLLOW_SYMLINK_CHAIN) |
|||
endforeach() |
|||
foreach(LIB ${Qt5_XCBGLINTEGRATION_DLLS}) |
|||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/xcbglintegrations/" FOLLOW_SYMLINK_CHAIN) |
|||
endforeach() |
|||
|
|||
endif() |
|||
# Create an empty qt.conf file. Qt will detect that this file exists, and use the folder that its in as the root folder. |
|||
# This way it'll look for plugins in the root/plugins/ folder |
|||
add_custom_command(TARGET yuzu POST_BUILD |
|||
COMMAND ${CMAKE_COMMAND} -E touch ${DLL_DEST}qt.conf |
|||
) |
|||
endfunction(copy_yuzu_Qt5_deps) |
|||
@ -0,0 +1,61 @@ |
|||
# SPDX-FileCopyrightText: 2024 Citron HomeBrew Emulator Project |
|||
# SPDX-FileCopyrightText: 2024 kleidis |
|||
|
|||
function(copy_yuzu_Qt6_deps target_dir) |
|||
include(WindowsCopyFiles) |
|||
if (MSVC) |
|||
set(DLL_DEST "$<TARGET_FILE_DIR:${target_dir}>/") |
|||
set(Qt6_DLL_DIR "${Qt6_DIR}/../../../bin") |
|||
else() |
|||
set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/") |
|||
set(Qt6_DLL_DIR "${Qt6_DIR}/../../../lib/") |
|||
endif() |
|||
set(Qt6_PLATFORMS_DIR "${Qt6_DIR}/../../../plugins/platforms/") |
|||
set(Qt6_STYLES_DIR "${Qt6_DIR}/../../../plugins/styles/") |
|||
set(Qt6_IMAGEFORMATS_DIR "${Qt6_DIR}/../../../plugins/imageformats/") |
|||
set(Qt6_RESOURCES_DIR "${Qt6_DIR}/../../../resources/") |
|||
set(PLATFORMS ${DLL_DEST}plugins/platforms/) |
|||
set(STYLES ${DLL_DEST}plugins/styles/) |
|||
set(IMAGEFORMATS ${DLL_DEST}plugins/imageformats/) |
|||
|
|||
if (MSVC) |
|||
windows_copy_files(${target_dir} ${Qt6_DLL_DIR} ${DLL_DEST} |
|||
Qt6Core$<$<CONFIG:Debug>:d>.* |
|||
Qt6Gui$<$<CONFIG:Debug>:d>.* |
|||
Qt6Widgets$<$<CONFIG:Debug>:d>.* |
|||
Qt6Network$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
if (CITRON_USE_QT_MULTIMEDIA) |
|||
windows_copy_files(${target_dir} ${Qt6_DLL_DIR} ${DLL_DEST} |
|||
Qt6Multimedia$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
endif() |
|||
if (CITRON_USE_QT_WEB_ENGINE) |
|||
windows_copy_files(${target_dir} ${Qt6_DLL_DIR} ${DLL_DEST} |
|||
Qt6WebEngineCore$<$<CONFIG:Debug>:d>.* |
|||
Qt6WebEngineWidgets$<$<CONFIG:Debug>:d>.* |
|||
QtWebEngineProcess$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
windows_copy_files(${target_dir} ${Qt6_RESOURCES_DIR} ${DLL_DEST} |
|||
icudtl.dat |
|||
qtwebengine_devtools_resources.pak |
|||
qtwebengine_resources.pak |
|||
qtwebengine_resources_100p.pak |
|||
qtwebengine_resources_200p.pak |
|||
) |
|||
endif() |
|||
windows_copy_files(yuzu ${Qt6_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*) |
|||
windows_copy_files(yuzu ${Qt6_STYLES_DIR} ${STYLES} qwindowsvistastyle$<$<CONFIG:Debug>:d>.*) |
|||
windows_copy_files(yuzu ${Qt6_IMAGEFORMATS_DIR} ${IMAGEFORMATS} |
|||
qjpeg$<$<CONFIG:Debug>:d>.* |
|||
qgif$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
else() |
|||
# Update for non-MSVC platforms if needed |
|||
endif() |
|||
|
|||
# Create an empty qt.conf file |
|||
add_custom_command(TARGET yuzu POST_BUILD |
|||
COMMAND ${CMAKE_COMMAND} -E touch ${DLL_DEST}qt.conf |
|||
) |
|||
endfunction(copy_yuzu_Qt6_deps) |
|||
@ -0,0 +1,31 @@ |
|||
# SPDX-FileCopyrightText: 2024 Citron HomeBrew Emulator Project |
|||
# SPDX-FileCopyrightText: 2024 kleidis |
|||
|
|||
[aqt] |
|||
concurrency: 2 |
|||
|
|||
[mirrors] |
|||
trusted_mirrors: |
|||
https://download.qt.io |
|||
blacklist: |
|||
https://qt.mirror.constant.com |
|||
https://mirrors.ocf.berkeley.edu |
|||
https://mirrors.ustc.edu.cn |
|||
https://mirrors.tuna.tsinghua.edu.cn |
|||
https://mirrors.geekpie.club |
|||
https://mirrors-wan.geekpie.club |
|||
https://mirrors.sjtug.sjtu.edu.cn |
|||
fallbacks: |
|||
https://qtproject.mirror.liquidtelecom.com/ |
|||
https://mirrors.aliyun.com/qt/ |
|||
https://ftp.jaist.ac.jp/pub/qtproject/ |
|||
https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/ |
|||
https://qt-mirror.dannhauer.de/ |
|||
https://ftp.fau.de/qtproject/ |
|||
https://mirror.netcologne.de/qtproject/ |
|||
https://mirrors.dotsrc.org/qtproject/ |
|||
https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/ |
|||
https://master.qt.io/ |
|||
https://mirrors.ukfast.co.uk/sites/qt.io/ |
|||
https://ftp2.nluug.nl/languages/qt/ |
|||
https://ftp1.nluug.nl/languages/qt/ |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue