#
# 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)
