4242fe0a03
That implies we need to differentiate between a variable set but empty and an empty variable. GCC, Clang and the Intel compiler accept -msse2 on 64-bit builds without warning (they also accept -mno-sse2), but the Microsoft compiler does not have that option. Change-Id: I54233388ba10994996ae3e749fd829085e8fd7b7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
112 lines
4.2 KiB
Plaintext
112 lines
4.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
|
|
#
|
|
|
|
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 += _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 = 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
|
|
|
|
include(msvc-base.conf)
|
|
|
|
unset(MSC_VER)
|