04403d5b12
Since we can tell the MSVC version from the compiler now, each of the qmake.conf files is now the same, so let's just have "win32-msvc" and be future-proof. Likewise for win32-clang-msvc. qplatformdefs.h was already common. Since we can't obtain the MSVC version from the unified mkspec name any more, I dropped the warning level during the qmake bootstrap to reduce the number of warnings that need to be disabled from compiler version to version. There is no point in keeping the old mkspecs, but configure will re-map the -platform argument to the unified spec as necessary, to keep existing configure command lines working. [ChangeLog][Visual Studio] Qt now has a common mkspec for all Visual Studio versions, called "win32-msvc". The old names which contained the version number are now gone (but qmake scopes based on the old names continue to work). The version of the compiler can be obtained from the MSC_VER and MSVC_VER variables (for example, for Visual Studio 2015, those contain the values 1900 and 14.0, respectively). Those variables are also available with the Intel compiler (win32-icc) and with Clang (win32-clang-msvc). Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: Ib57b52598e2f452985e9fffd14587c0a77a5c09c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
107 lines
4.2 KiB
Plaintext
107 lines
4.2 KiB
Plaintext
#
|
|
# qmake configuration for Microsoft Visual Studio C/C++ Compiler
|
|
# This mkspec is used by the win32-msvc and win32-clang-msvc specs
|
|
#
|
|
|
|
#
|
|
# Baseline: Visual Studio 2005 (8.0), VC++ 14.0
|
|
# Version-specific settings go in msvc-version.conf (loaded by default_pre)
|
|
#
|
|
|
|
include(angle.conf)
|
|
|
|
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 += _WIN32
|
|
contains(QMAKE_TARGET.arch, x86_64) {
|
|
DEFINES += WIN64
|
|
QMAKE_COMPILER_DEFINES += _WIN64
|
|
}
|
|
|
|
QMAKE_CC = cl
|
|
QMAKE_LEX = flex
|
|
QMAKE_LEXFLAGS =
|
|
QMAKE_YACC = bison -y
|
|
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
|
|
|
|
contains(QMAKE_TARGET.arch, x86_64) {
|
|
# SSE2 is mandatory on 64-bit mode, so skip the option. It triggers:
|
|
# cl : Command line warning D9002 : ignoring unknown option '-arch:SSE2'
|
|
QMAKE_CFLAGS_SSE2 =
|
|
} else {
|
|
QMAKE_CFLAGS_SSE2 = -arch:SSE2
|
|
}
|
|
QMAKE_CFLAGS_SSE3 = $$QMAKE_CFLAGS_SSE2
|
|
QMAKE_CFLAGS_SSSE3 = $$QMAKE_CFLAGS_SSE2
|
|
QMAKE_CFLAGS_SSE4_1 = $$QMAKE_CFLAGS_SSE2
|
|
QMAKE_CFLAGS_SSE4_2 = $$QMAKE_CFLAGS_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 =
|
|
|
|
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_PREFIX_SHLIB =
|
|
QMAKE_EXTENSION_SHLIB = dll
|
|
QMAKE_PREFIX_STATICLIB =
|
|
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_NAME}.lib $${LIBGLESV2_NAME}.lib gdi32.lib user32.lib
|
|
QMAKE_LIBS_OPENGL_ES2_DEBUG = $${LIBEGL_NAME}d.lib $${LIBGLESV2_NAME}d.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
|