1456b8091a
For nmake and VS projects we added the NDEBUG define for the release configuration unconditionally within the qmake generators. To undefine it, users had to use a nasty work-around. Now, define NDEBUG within the MSVC mkspecs. In order to do that we introduce the DEFINES_RELEASE and DEFINES_DEBUG variables that are merged into DEFINES in default_pre.prf. Users can unset NDEBUG by writing DEFINES -= NDEBUG in their .pro file. Note that DEFINES_RELEASE and DEFINES_DEBUG are merged in default_pre.prf in order to give extra compilers (like moc) the chance to see the fully resolved DEFINES variable. This is different from the QMAKE_CFLAGS_(DEBUG|RELEASE) variables that get merged in default_post.prf. Fixes: QTBUG-78071 Change-Id: I381770a1d2f974fbae9b09a2254e3f2fc7842b68 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
106 lines
3.7 KiB
Plaintext
106 lines
3.7 KiB
Plaintext
#
|
|
# qmake configuration for winrt and windows phone 8.1
|
|
#
|
|
# Written for Microsoft Visual C++
|
|
#
|
|
|
|
MAKEFILE_GENERATOR = MSBUILD
|
|
QMAKE_COMPILER = msvc
|
|
QMAKE_PLATFORM = winrt win32
|
|
CONFIG = package_manifest $$CONFIG incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target rtti
|
|
# MSVC 2017 15.8+ fixed std::aligned_storage but compilation fails without
|
|
# _ENABLE_EXTENDED_ALIGNED_STORAGE flag since the fix breaks binary compatibility.
|
|
DEFINES += UNICODE WIN32 QT_LARGEFILE_SUPPORT Q_BYTE_ORDER=Q_LITTLE_ENDIAN _ENABLE_EXTENDED_ALIGNED_STORAGE
|
|
DEFINES_RELEASE += NDEBUG
|
|
QMAKE_COMPILER_DEFINES += _WIN32
|
|
|
|
DEPLOYMENT_PLUGIN += qwinrt
|
|
|
|
QMAKE_CC = cl
|
|
QMAKE_LEX = flex
|
|
QMAKE_LEXFLAGS =
|
|
QMAKE_YACC = bison -y
|
|
QMAKE_YACCFLAGS = -d
|
|
QMAKE_CFLAGS = -nologo
|
|
QMAKE_CFLAGS_WARN_ON = -W3
|
|
QMAKE_CFLAGS_WARN_OFF = -W0
|
|
QMAKE_CFLAGS_RELEASE = -O2 -MD
|
|
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
|
|
QMAKE_CFLAGS_DEBUG = -Zi -MDd
|
|
QMAKE_CFLAGS_YACC =
|
|
QMAKE_CFLAGS_LTCG = -GL
|
|
QMAKE_CFLAGS_MP = -MP
|
|
QMAKE_CFLAGS_SSE2 = -arch:SSE2
|
|
QMAKE_CFLAGS_SSE3 = -arch:SSE2
|
|
QMAKE_CFLAGS_SSSE3 = -arch:SSE2
|
|
QMAKE_CFLAGS_SSE4_1 = -arch:SSE2
|
|
QMAKE_CFLAGS_SSE4_2 = -arch:SSE2
|
|
QMAKE_CFLAGS_AVX = -arch:AVX
|
|
QMAKE_CFLAGS_AVX2 = -arch:AVX
|
|
QMAKE_CFLAGS_AESNI = -arch:SSE2
|
|
QMAKE_CFLAGS_SHANI = -arch:SSE2
|
|
|
|
QMAKE_CXX = $$QMAKE_CC
|
|
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
|
|
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189 -w44996
|
|
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
|
|
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
|
|
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
|
|
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
|
|
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
|
|
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
|
QMAKE_CXXFLAGS_MP = $$QMAKE_CFLAGS_MP
|
|
QMAKE_CXXFLAGS_STL_ON = -EHsc
|
|
QMAKE_CXXFLAGS_STL_OFF =
|
|
QMAKE_CXXFLAGS_RTTI_ON = -GR
|
|
QMAKE_CXXFLAGS_RTTI_OFF =
|
|
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc
|
|
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = /wd4530 /wd4577
|
|
|
|
QMAKE_INCDIR =
|
|
|
|
QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
|
|
QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
|
|
QMAKE_RUN_CC_IMP_BATCH = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<<
|
|
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src
|
|
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $<
|
|
QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
|
|
|
|
QMAKE_LINK = link
|
|
QMAKE_LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT /NODEFAULTLIB:ole32.lib /APPCONTAINER
|
|
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
|
|
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO
|
|
QMAKE_LFLAGS_DEBUG = /DEBUG
|
|
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS
|
|
QMAKE_LFLAGS_EXE = /MANIFEST:NO
|
|
QMAKE_LFLAGS_DLL = /MANIFEST:NO /DLL
|
|
QMAKE_LFLAGS_LTCG = /LTCG
|
|
QMAKE_PREFIX_SHLIB =
|
|
QMAKE_EXTENSION_SHLIB = dll
|
|
QMAKE_PREFIX_STATICLIB =
|
|
QMAKE_EXTENSION_STATICLIB = lib
|
|
|
|
QMAKE_LIBS += runtimeobject.lib
|
|
QMAKE_LIBS_GUI =
|
|
QMAKE_LIBS_NETWORK += ws2_32.lib
|
|
|
|
QMAKE_LIBS_QT_ENTRY = -lqtmain
|
|
|
|
QMAKE_IDL = midl
|
|
QMAKE_LIB = lib /NOLOGO
|
|
QMAKE_RC = rc
|
|
|
|
VCPROJ_EXTENSION = .vcxproj
|
|
VCSOLUTION_EXTENSION = .sln
|
|
VCPROJ_KEYWORD = Qt4VSv1.0
|
|
WINRT_ASSETS_PATH = $$PWD/assets
|
|
|
|
WINRT_MANIFEST.capabilities = defaults
|
|
WINRT_MANIFEST.capabilities_device = defaults
|
|
|
|
WINDOWS_TARGET_PLATFORM_VERSION = $$(UCRTVERSION)
|
|
|
|
include(../angle.conf)
|
|
|
|
load(qt_config)
|