diff options
Diffstat (limited to 'CMakeModules')
| -rw-r--r-- | CMakeModules/StaticQtLibs.cmake | 31 |
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() |
