[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>
This commit is contained in:
crueter 2026-01-20 18:31:28 +01:00
parent cb26ea154c
commit f61f0a28c6
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
7 changed files with 29 additions and 129 deletions

View file

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
@ -175,11 +175,10 @@ else()
if (YUZU_STATIC_BUILD AND NOT APPLE)
add_compile_options(-static)
if (YUZU_STATIC_BUILD)
# yuzu-cmd requires us to explicitly link libpthread, libgcc, and libstdc++ as static
add_link_options(-static -lpthread)
add_link_options(-static-libgcc -static-libstdc++)
endif()
# yuzu-cmd requires us to explicitly link libpthread, libgcc, and libstdc++ as static
add_link_options(-Wl,-Bstatic -static -lpthread)
add_link_options(-static-libgcc -static-libstdc++)
endif()
if (MINGW)

View file

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
set(CMAKE_AUTOMOC ON)
@ -426,12 +426,6 @@ if (WIN32 AND NOT YUZU_USE_BUNDLED_QT AND QT_VERSION VERSION_GREATER_EQUAL 6)
add_custom_command(TARGET yuzu POST_BUILD COMMAND ${WINDEPLOYQT_EXECUTABLE} "${YUZU_EXE_DIR}/eden.exe" --dir "${YUZU_EXE_DIR}" --libdir "${YUZU_EXE_DIR}" --plugindir "${YUZU_EXE_DIR}/plugins" --no-compiler-runtime --no-opengl-sw --no-system-d3d-compiler --no-translations --verbose 0)
endif()
# TODO(crueter): this can be done with system qt in a better way
if (YUZU_USE_BUNDLED_QT)
include(CopyYuzuQt6Deps)
copy_yuzu_Qt6_deps(yuzu)
endif()
if (ENABLE_SDL2)
target_link_libraries(yuzu PRIVATE SDL2::SDL2)
target_compile_definitions(yuzu PRIVATE HAVE_SDL2)
@ -443,7 +437,6 @@ endif()
if (YUZU_ROOM)
target_link_libraries(yuzu PRIVATE yuzu-room)
target_link_libraries(yuzu PRIVATE Qt6::Widgets)
endif()
if (NOT MSVC AND (APPLE OR NOT YUZU_STATIC_BUILD))
@ -455,8 +448,9 @@ if (NOT MSVC AND (APPLE OR NOT YUZU_STATIC_BUILD))
-Wno-missing-field-initializers)
endif()
if (YUZU_STATIC_BUILD AND MINGW)
static_qt_link(yuzu)
# Remember that the linker is incredibly stupid.
if (YUZU_STATIC_BUILD AND MINGW AND ARCHITECTURE_x86_64 AND ENABLE_OPENSSL)
target_link_libraries(yuzu PRIVATE OpenSSL::SSL OpenSSL::Crypto)
endif()
create_target_directory_groups(yuzu)