Go to file
Joerg Bornemann 7531994379 CMake: Fix undefined reference to WinMain errors with MinGW
When linking against Qt with MinGW, libmingw32.a must come before
libQt6EntryPointImplementation.a on the linker command line.  Otherwise
the linker cannot find the WinMain symbol that's defined in the
EntryPointImplementation library.

Under certain circumstances, mingw32 was linked after
EntryPointImplementation.  To reliably ensure the order of said
libraries, we introduce the imported library EntryPointMinGW32.  This
target represents libmingw32.a and links against EntryPointImplementation.

The link dependencies look like this:
EntryPointPrivate -> EntryPointMinGW32 -> EntryPointImplementation

The imported library EntryPointMinGW32 is defined in a separate .cmake
file which is included by both src/entrypoint/CMakeLists.txt and
Qt6EntryPointConfig.cmake.  This is needed, because the consumer outside
of Qt must access this imported library, and we cannot export imported
libraries.

Pick-to: 6.2
Fixes: QTBUG-93671
Change-Id: Ib3c5e80cbcc9c793d000e5ad637325bcf735a1ec
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-10-28 22:15:46 +02:00
.github/workflows Github Actions: many minor updates 2021-01-22 18:48:54 +01:00
bin Add missing -help argument to qt-configure-module 2021-08-20 19:44:43 +02:00
cmake CMake: Allow disabling package version check 2021-10-27 16:41:26 +02:00
coin CI: Enable building autotests for QNX QEMU 2021-10-27 10:30:02 +00:00
config.tests wasm: add simd support 2021-10-05 11:30:06 +10:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Doc: Fix usage of \summary macro 2021-10-12 14:08:08 +02:00
examples Fix treemodelcompleter example 2021-10-27 16:34:44 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Teach syncqt to filter out QT_DEPRECATED_* macros 2021-09-07 08:28:09 +02:00
mkspecs wasm: remove sse2 config block 2021-10-27 12:00:06 +00:00
qmake qmake/vcxproj: Fix "CONFIG += combine" extra compilers 2021-10-25 18:10:43 +02:00
src CMake: Fix undefined reference to WinMain errors with MinGW 2021-10-28 22:15:46 +02:00
tests QNX: Handle missing elf.h gracefully 2021-10-28 20:14:45 +03:00
util Rename deprecated ANDROID_SDK_HOME to ANDROID_SDK_ROOT 2021-10-22 17:21:10 +02:00
.cmake.conf Revert "CMake: Warn if cmake_minimum_required has an unsupported low version" 2021-10-04 15:55:10 +02:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore testlib: Accurately name JUnit test, and only run for JUnitXML reporter 2021-07-29 15:39:40 +02:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt CMake: Enforce minimum CMake version in user projects 2021-08-04 16:03:08 +02:00
conanfile.py Change package_revision_mode() to recipe_revision_mode() 2021-10-25 15:47:46 +03:00
config_help.txt Document that schannel is on by default 2021-10-06 15:05:20 +02:00
configure Remove unsupported, host-related options from configure shell script 2021-08-05 02:44:27 +02:00
configure.bat Fix our usage of CMake script mode in Windows configure 2021-08-20 19:44:43 +02:00
configure.cmake wasm: add simd support 2021-10-05 11:30:06 +10:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Remove LICENSE.GPLv3, LICENSE.LGPLv21, LGPL_EXCEPTION.txt 2018-04-16 11:02:14 +00:00
LICENSE.QT-LICENSE-AGREEMENT Update enterprise license agreement v4.2.1 2019-12-18 13:07:19 +02:00
qt_cmdline.cmake Remove dysfunctional -coverage configure argument 2021-08-10 12:00:13 +02:00
sync.profile Implement generating of a module cpp export header 2021-06-24 20:40:49 +02:00