9ddfa43e02
We've been setting the -Zm argument since the dawn of times (even before the first git commit). Anyhow, MSDN from VS2008 onwards indicates that this is not needed: "In earlier versions of Visual C++, the compiler used several discrete heaps, and each had a finite limit. Currently, the compiler dynamically grows the heaps as necessary up to a total heap size limit, and requires a fixed-size buffer only to construct precompiled headers. Consequently, the /Zm compiler option is rarely necessary." [ChangeLog][Compiler Specific Changes] Visual Studio: -Zm200 (an option to specify the precompiled header memory allocation limit) is not added anymore by qmake to the compiler calls. If you encounter an C1076 compiler error you might need to re-add it in your .pro file. Change-Id: Ia4bec7eba09d893a7d81886a1814602b9ce7563c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
147 lines
5.2 KiB
Plaintext
147 lines
5.2 KiB
Plaintext
#
|
|
# qmake configuration for Microsoft Visual Studio C/C++ Compiler
|
|
# This mkspec is used for all win32-msvcXXXX specs
|
|
#
|
|
|
|
isEmpty(MSC_VER)|isEmpty(MSVC_VER): error("Source mkspec must set both MSC_VER and MSVC_VER.")
|
|
|
|
#
|
|
# Baseline: Visual Studio 2005 (8.0), VC++ 14.0
|
|
#
|
|
|
|
MAKEFILE_GENERATOR = MSVC.NET
|
|
QMAKE_PLATFORM = win32
|
|
QMAKE_COMPILER = msvc
|
|
CONFIG += incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe
|
|
DEFINES += UNICODE WIN32
|
|
QMAKE_COMPILER_DEFINES += _MSC_VER=$$MSC_VER _WIN32
|
|
contains(QMAKE_TARGET.arch, x86_64) {
|
|
DEFINES += WIN64
|
|
QMAKE_COMPILER_DEFINES += _WIN64
|
|
}
|
|
|
|
QMAKE_CC = cl
|
|
QMAKE_LEX = flex
|
|
QMAKE_LEXFLAGS =
|
|
QMAKE_YACC = byacc
|
|
QMAKE_YACCFLAGS = -d
|
|
QMAKE_CFLAGS = -nologo -Zc:wchar_t
|
|
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_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_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_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 = -D_HAS_EXCEPTIONS=0
|
|
|
|
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
|
|
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
|
|
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO
|
|
QMAKE_LFLAGS_DEBUG = /DEBUG
|
|
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE
|
|
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS
|
|
QMAKE_LFLAGS_EXE = \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"
|
|
QMAKE_LFLAGS_DLL = /DLL
|
|
QMAKE_LFLAGS_LTCG = /LTCG
|
|
QMAKE_EXTENSION_STATICLIB = lib
|
|
|
|
QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib
|
|
QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib user32.lib advapi32.lib
|
|
QMAKE_LIBS_NETWORK = ws2_32.lib
|
|
QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib
|
|
QMAKE_LIBS_OPENGL_ES2 = libEGL.lib libGLESv2.lib gdi32.lib user32.lib
|
|
QMAKE_LIBS_OPENGL_ES2_DEBUG = libEGLd.lib libGLESv2d.lib 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
|
|
QMAKE_RC = rc
|
|
|
|
VCPROJ_EXTENSION = .vcproj
|
|
VCSOLUTION_EXTENSION = .sln
|
|
VCPROJ_KEYWORD = Qt4VSv1.0
|
|
|
|
#
|
|
# Version-specific changes
|
|
#
|
|
greaterThan(MSC_VER, 1499) {
|
|
# Visual Studio 2008 (9.0) / Visual C++ 15.0 and up
|
|
QMAKE_CFLAGS_MP = -MP
|
|
QMAKE_CXXFLAGS_MP = $$QMAKE_CFLAGS_MP
|
|
}
|
|
|
|
greaterThan(MSC_VER, 1599) {
|
|
# Visual Studio 2010 (10.0) / Visual C++ 16.0 and up
|
|
MAKEFILE_GENERATOR = MSBUILD
|
|
|
|
QMAKE_CFLAGS_AVX = -arch:AVX
|
|
QMAKE_CFLAGS_AVX2 = -arch:AVX
|
|
|
|
VCPROJ_EXTENSION = .vcxproj
|
|
}
|
|
|
|
greaterThan(MSC_VER, 1699) {
|
|
# Visual Studio 2012 (11.0) / Visual C++ 17.0 and up
|
|
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE@QMAKE_SUBSYSTEM_SUFFIX@
|
|
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS@QMAKE_SUBSYSTEM_SUFFIX@
|
|
QT_CONFIG += c++11
|
|
CONFIG += c++11
|
|
}
|
|
|
|
greaterThan(MSC_VER, 1799) {
|
|
# Visual Studio 2013 (12.0) / Visual C++ 18.0 and up
|
|
QMAKE_CFLAGS += -FS
|
|
QMAKE_CXXFLAGS += -FS
|
|
|
|
equals(MSC_VER, 1800) {
|
|
QMAKE_CFLAGS_RELEASE += -Zc:strictStrings
|
|
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -Zc:strictStrings
|
|
QMAKE_CXXFLAGS_RELEASE += -Zc:strictStrings
|
|
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -Zc:strictStrings
|
|
}
|
|
}
|
|
|
|
greaterThan(MSC_VER, 1899) {
|
|
# Visual Studio 2015 (14.0) / Visual C++ 19.0 and up
|
|
QMAKE_CFLAGS += -Zc:strictStrings
|
|
QMAKE_CFLAGS_WARN_ON += -w44456 -w44457 -w44458
|
|
QMAKE_CFLAGS_AVX2 = -arch:AVX2
|
|
QMAKE_CXXFLAGS += -Zc:strictStrings
|
|
QMAKE_CXXFLAGS_WARN_ON += -w44456 -w44457 -w44458
|
|
}
|
|
|
|
unset(MSC_VER)
|