eef2d1af33
Common changes to mingw-w64, ICC on Windows, and MSVC toolchains: - set similar order of variables and its splitting into sections, - set similar order of flags in variables and the way they are set. mingw-w64 toolchain: - move 'gcc-base.conf' include before setting Windows specific flags, similar to include 'msvc-desktop.conf' in ICC on Windows toolchain; this leads to consistency with other toolchains and allows to safely override common GCC variables with Windows specific ones, when needed, - move 'QMAKE_EXT_OBJ' and 'QMAKE_EXT_RES' variables to the linker flags section, according to its purpose. MSVC toolchain: - set flags order in 'CONFIG' variable, similar to mingw-w64 toolchain. Change-Id: I417cc8f7959c669dd504f2c5c11eb879a7989bd4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
85 lines
2.8 KiB
Plaintext
85 lines
2.8 KiB
Plaintext
#
|
|
# qmake configuration for win32-g++
|
|
#
|
|
# Written for MinGW-w64 / gcc 5.3 or higher
|
|
#
|
|
# Cross compile example for i686-w64-mingw32-g++:
|
|
# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
|
|
#
|
|
|
|
load(device_config)
|
|
include(../common/gcc-base.conf)
|
|
include(../common/g++-base.conf)
|
|
|
|
# modifications to gcc-base.conf and g++-base.conf
|
|
|
|
MAKEFILE_GENERATOR = MINGW
|
|
QMAKE_PLATFORM = win32 mingw
|
|
CONFIG += debug_and_release debug_and_release_target precompile_header
|
|
DEFINES += UNICODE _UNICODE
|
|
QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
|
|
|
|
QMAKE_CC = $${CROSS_COMPILE}gcc
|
|
QMAKE_LEX = flex
|
|
QMAKE_LEXFLAGS =
|
|
QMAKE_YACC = bison -y
|
|
QMAKE_YACCFLAGS = -d
|
|
QMAKE_CFLAGS += -fno-keep-inline-dllexport
|
|
QMAKE_CFLAGS_WARN_ON += -Wextra
|
|
|
|
QMAKE_CFLAGS_SSE2 += -mstackrealign
|
|
|
|
QMAKE_CXX = $${CROSS_COMPILE}g++
|
|
QMAKE_CXXFLAGS_RTTI_ON = -frtti
|
|
QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
|
|
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
|
|
|
|
QMAKE_INCDIR =
|
|
|
|
QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
|
|
QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
|
|
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
|
|
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
|
|
|
|
QMAKE_LINK = $${CROSS_COMPILE}g++
|
|
QMAKE_LINK_C = $${CROSS_COMPILE}gcc
|
|
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
|
|
QMAKE_LFLAGS_RELEASE = -Wl,-s
|
|
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
|
|
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
|
|
QMAKE_LFLAGS_DLL = -shared
|
|
QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
|
|
equals(QMAKE_HOST.os, Windows) {
|
|
QMAKE_LINK_OBJECT_MAX = 10
|
|
QMAKE_LINK_OBJECT_SCRIPT = object_script
|
|
}
|
|
QMAKE_EXT_OBJ = .o
|
|
QMAKE_EXT_RES = _res.o
|
|
QMAKE_PREFIX_SHLIB =
|
|
QMAKE_EXTENSION_SHLIB = dll
|
|
QMAKE_PREFIX_STATICLIB = lib
|
|
QMAKE_EXTENSION_STATICLIB = a
|
|
QMAKE_LIB_EXTENSIONS = a dll.a
|
|
|
|
QMAKE_LIBS =
|
|
QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
|
|
QMAKE_LIBS_NETWORK = -lws2_32
|
|
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
|
|
QMAKE_RC = $${CROSS_COMPILE}windres
|
|
|
|
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
|
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
|
|
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
|
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
|
|
|
include(../common/angle.conf)
|
|
|
|
load(qt_config)
|