diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2020-10-15 17:04:27 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2020-10-17 12:13:00 +0200 |
commit | b5af1408099dedd132f36e04d19cb5771a23ec28 (patch) | |
tree | 85109c13469dcde91aea87e29ed52c116732fbf8 /mkspecs | |
parent | 8ec4fd9cffe7977f6d7cb68ce38de4386a5795d6 (diff) |
Generalize the winmain/qtmain entry-point library
The use-case is relevant for other platforms as well.
Now that Qt has a module system we can also replace a lot of the
hand crafted logic for linking with simpler constructs.
Change-Id: Ib6853aaf81bfea79c31f2de741d65b4b56f23ef6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/g++-win32.conf | 1 | ||||
-rw-r--r-- | mkspecs/common/msvc-desktop.conf | 1 | ||||
-rw-r--r-- | mkspecs/features/entrypoint.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/win32/default_pre.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/win32/idcidl.prf | 3 | ||||
-rw-r--r-- | mkspecs/features/win32/windows.prf | 11 |
6 files changed, 4 insertions, 16 deletions
diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf index a1e08ed63b..67ad1e3b8c 100644 --- a/mkspecs/common/g++-win32.conf +++ b/mkspecs/common/g++-win32.conf @@ -63,7 +63,6 @@ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 QMAKE_LIBS_OPENGL_ES2 = -lgdi32 -luser32 QMAKE_LIBS_OPENGL_ES2_DEBUG = -lgdi32 -luser32 QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 -QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain QMAKE_IDL = midl QMAKE_LIB = $${CROSS_COMPILE}ar -rc diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf index a5993287ed..33b4dc70c6 100644 --- a/mkspecs/common/msvc-desktop.conf +++ b/mkspecs/common/msvc-desktop.conf @@ -105,7 +105,6 @@ QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib QMAKE_LIBS_OPENGL_ES2 = gdi32.lib user32.lib QMAKE_LIBS_OPENGL_ES2_DEBUG = gdi32.lib user32.lib QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib -QMAKE_LIBS_QT_ENTRY = -lqtmain QMAKE_IDL = midl QMAKE_LIB = lib /NOLOGO diff --git a/mkspecs/features/entrypoint.prf b/mkspecs/features/entrypoint.prf new file mode 100644 index 0000000000..8442f8930b --- /dev/null +++ b/mkspecs/features/entrypoint.prf @@ -0,0 +1,2 @@ +qt:!console:contains(TEMPLATE, ".*app"): \ + QT_PRIVATE += entrypoint diff --git a/mkspecs/features/win32/default_pre.prf b/mkspecs/features/win32/default_pre.prf index 4bd1653aee..be8e20130f 100644 --- a/mkspecs/features/win32/default_pre.prf +++ b/mkspecs/features/win32/default_pre.prf @@ -1,2 +1,2 @@ -CONFIG = windows $$CONFIG +CONFIG = windows $$CONFIG entrypoint load(default_pre) diff --git a/mkspecs/features/win32/idcidl.prf b/mkspecs/features/win32/idcidl.prf index 922ae3f99e..67d3cf0cb0 100644 --- a/mkspecs/features/win32/idcidl.prf +++ b/mkspecs/features/win32/idcidl.prf @@ -3,8 +3,7 @@ build_pass:console { warning("Remove 'console' from your CONFIG.") } -# Do not link qtmain.lib -QMAKE_LIBS_QT_ENTRY = +CONFIG -= entrypoint ACTIVEQT_VERSION = $$VERSION isEmpty(ACTIVEQT_VERSION):ACTIVEQT_VERSION = 1.0 diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf index 272170d428..66ef21f2de 100644 --- a/mkspecs/features/win32/windows.prf +++ b/mkspecs/features/win32/windows.prf @@ -2,15 +2,4 @@ CONFIG -= console QMAKE_LFLAGS += $$QMAKE_LFLAGS_WINDOWS contains(TEMPLATE, ".*app") { QMAKE_LFLAGS += $$QMAKE_LFLAGS_EXE - mingw:DEFINES += QT_NEEDS_QMAIN - - qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { - isEqual(entryLib, -lqtmain) { - lib = $$QT.core.libs/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB - PRE_TARGETDEPS += $$lib - QMAKE_LIBS += $$lib - } else { - QMAKE_LIBS += $${entryLib} - } - } } |