Browse Source
[cmake] Fix MinGW/arm64 build/runtime errors (#3352)
[cmake] Fix MinGW/arm64 build/runtime errors (#3352)
Mostly just jpeg being weird. Also, due to the way I've built it, we don't need all those system libs anymore because they are bundled into the Qt build. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3352 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: Lizzie <lizzie@eden-emu.dev>revertrevert
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
7 changed files with 29 additions and 129 deletions
-
4.ci/license-header.sh
-
30CMakeLists.txt
-
66CMakeModules/CopyYuzuQt6Deps.cmake
-
31CMakeModules/StaticQtLibs.cmake
-
2externals/cmake-modules/DetectPlatform.cmake
-
11src/CMakeLists.txt
-
14src/yuzu/CMakeLists.txt
@ -1,66 +0,0 @@ |
|||
# 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/) |
|||
set(RESOURCES ${DLL_DEST}resources/) |
|||
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 (YUZU_USE_QT_MULTIMEDIA) |
|||
windows_copy_files(${target_dir} ${Qt6_DLL_DIR} ${DLL_DEST} |
|||
Qt6Multimedia$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
endif() |
|||
if (YUZU_USE_QT_WEB_ENGINE) |
|||
windows_copy_files(${target_dir} ${Qt6_DLL_DIR} ${DLL_DEST} |
|||
Qt6OpenGL$<$<CONFIG:Debug>:d>.* |
|||
Qt6Positioning$<$<CONFIG:Debug>:d>.* |
|||
Qt6PrintSupport$<$<CONFIG:Debug>:d>.* |
|||
Qt6Qml$<$<CONFIG:Debug>:d>.* |
|||
Qt6QmlMeta$<$<CONFIG:Debug>:d>.* |
|||
Qt6QmlModels$<$<CONFIG:Debug>:d>.* |
|||
Qt6QmlWorkerScript$<$<CONFIG:Debug>:d>.* |
|||
Qt6Quick$<$<CONFIG:Debug>:d>.* |
|||
Qt6QuickWidgets$<$<CONFIG:Debug>:d>.* |
|||
Qt6WebChannel$<$<CONFIG:Debug>:d>.* |
|||
Qt6WebEngineCore$<$<CONFIG:Debug>:d>.* |
|||
Qt6WebEngineWidgets$<$<CONFIG:Debug>:d>.* |
|||
QtWebEngineProcess$<$<CONFIG:Debug>:d>.* |
|||
) |
|||
windows_copy_files(${target_dir} ${Qt6_RESOURCES_DIR} ${RESOURCES} |
|||
icudtl.dat |
|||
qtwebengine_devtools_resources.pak |
|||
qtwebengine_resources.pak |
|||
qtwebengine_resources_100p.pak |
|||
qtwebengine_resources_200p.pak |
|||
v8_context_snapshot.bin |
|||
) |
|||
endif() |
|||
windows_copy_files(yuzu ${Qt6_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*) |
|||
windows_copy_files(yuzu ${Qt6_STYLES_DIR} ${STYLES} qmodernwindowsstyle$<$<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() |
|||
endfunction(copy_yuzu_Qt6_deps) |
|||
@ -1,31 +0,0 @@ |
|||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project |
|||
# SPDX-License-Identifier: GPL-3.0-or-later |
|||
|
|||
## When linking to a static Qt build on MinGW, certain additional libraries |
|||
## must be statically linked to as well. |
|||
|
|||
function(static_qt_link target) |
|||
macro(extra_libs) |
|||
foreach(lib ${ARGN}) |
|||
find_library(${lib}_LIBRARY ${lib} REQUIRED) |
|||
target_link_libraries(${target} PRIVATE ${${lib}_LIBRARY}) |
|||
endforeach() |
|||
endmacro() |
|||
|
|||
# I am constantly impressed at how ridiculously stupid the linker is |
|||
# NB: yes, we have to put them here twice. I have no idea why |
|||
|
|||
# libtiff.a |
|||
extra_libs(tiff jbig bz2 lzma deflate jpeg tiff) |
|||
|
|||
# libfreetype.a |
|||
extra_libs(freetype bz2 Lerc brotlidec brotlicommon freetype) |
|||
|
|||
# libharfbuzz.a |
|||
extra_libs(harfbuzz graphite2) |
|||
|
|||
# sijfjkfnjkdfjsbjsbsdfhvbdf |
|||
if (ENABLE_OPENSSL) |
|||
target_link_libraries(${target} PRIVATE OpenSSL::SSL OpenSSL::Crypto) |
|||
endif() |
|||
endfunction() |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue