aboutsummaryrefslogtreecommitdiff
path: root/CMakeModules
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2025-11-16 04:59:30 +0100
committercrueter <crueter@eden-emu.dev>2025-11-16 04:59:30 +0100
commitb6908131969b3977e071d6737f2a102a0354224d (patch)
tree496d5ac93482c355979e3f3b00512ab6d7a32ebb /CMakeModules
parentb9f54f49790d1c115a85b40806ceef7b5b5a21bc (diff)
[externals] FFmpeg -> v8.0-be99d2c0b2, OpenSSL -> v3.6.0-e3608d80df, SDL2 -> 2.32.10-38e0094637 (#3003)
FFmpeg: - builds for FreeBSD, OpenBSD, Solaris - minsizerel - Proper system lib linking on MinGW - removed shared stuff entirely outside of android because their build system SUCKS OpenSSL: - macOS universal - Proper system lib linking on MinGW SDL2: - macOS universal Both are now based on branches/commits rather than tags (since their respective release branches have a ton of new stuff lol) Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3003 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Diffstat (limited to 'CMakeModules')
-rw-r--r--CMakeModules/StaticQtLibs.cmake31
1 files changed, 31 insertions, 0 deletions
diff --git a/CMakeModules/StaticQtLibs.cmake b/CMakeModules/StaticQtLibs.cmake
new file mode 100644
index 0000000000..be2f060a25
--- /dev/null
+++ b/CMakeModules/StaticQtLibs.cmake
@@ -0,0 +1,31 @@
+# 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()