diff options
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/angle.conf | 9 | ||||
-rw-r--r-- | mkspecs/common/msvc-base.conf | 56 | ||||
-rw-r--r-- | mkspecs/common/msvc-desktop.conf | 56 | ||||
-rw-r--r-- | mkspecs/common/wince/qmake.conf | 6 | ||||
-rw-r--r-- | mkspecs/common/winrt_winphone/qmake.conf | 11 | ||||
-rw-r--r-- | mkspecs/features/qt_build_paths.prf | 11 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 2 | ||||
-rw-r--r-- | mkspecs/win32-g++/qmake.conf | 5 | ||||
-rw-r--r-- | mkspecs/wince70embedded-armv4i-msvc2008/qmake.conf | 2 | ||||
-rw-r--r-- | mkspecs/wince80colibri-armv7-msvc2012/qmake.conf | 2 | ||||
-rw-r--r-- | mkspecs/winrt-arm-msvc2015/qmake.conf | 1 | ||||
-rw-r--r-- | mkspecs/winrt-x64-msvc2015/qmake.conf | 1 | ||||
-rw-r--r-- | mkspecs/winrt-x86-msvc2015/qmake.conf | 1 |
13 files changed, 97 insertions, 66 deletions
diff --git a/mkspecs/common/angle.conf b/mkspecs/common/angle.conf new file mode 100644 index 0000000000..fffdb581c5 --- /dev/null +++ b/mkspecs/common/angle.conf @@ -0,0 +1,9 @@ +# Renaming these files requires that the LIBRARY entry of their corresponding +# def files are also updated to reflect the name. +# The .def files are found in the angle directories: +# +# qtbase\src\3rdparty\angle\src\libEGL\libEGL[d?].def +# qtbase\src\3rdparty\angle\src\libEGL\libGLESv2[d?].def + +LIBEGL_NAME="libEGL" +LIBGLESV2_NAME="libGLESv2" diff --git a/mkspecs/common/msvc-base.conf b/mkspecs/common/msvc-base.conf new file mode 100644 index 0000000000..5bd144faa0 --- /dev/null +++ b/mkspecs/common/msvc-base.conf @@ -0,0 +1,56 @@ +# +# qmake configuration for Microsoft Visual Studio C/C++ Compiler +# This mkspec is used for all win32-msvcXXXX, winrt-XXX-msvcXXX +# and winphone-XXX-msvcXXX specs +# + +# +# 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_CXXFLAGS_EXCEPTIONS_OFF = -D_HAS_EXCEPTIONS=0 + 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 -Zc:throwingNew + QMAKE_CXXFLAGS_WARN_ON += -w44456 -w44457 -w44458 -wd4577 +} diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf index a1c436388c..eec9e1f688 100644 --- a/mkspecs/common/msvc-desktop.conf +++ b/mkspecs/common/msvc-desktop.conf @@ -9,6 +9,8 @@ isEmpty(MSC_VER)|isEmpty(MSVC_VER): error("Source mkspec must set both MSC_VER a # Baseline: Visual Studio 2005 (8.0), VC++ 14.0 # +include(angle.conf) + MAKEFILE_GENERATOR = MSVC.NET QMAKE_PLATFORM = win32 QMAKE_COMPILER = msvc @@ -83,8 +85,8 @@ QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.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_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 @@ -97,54 +99,6 @@ 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_CXXFLAGS_EXCEPTIONS_OFF = -D_HAS_EXCEPTIONS=0 - 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 -Zc:throwingNew - QMAKE_CXXFLAGS_WARN_ON += -w44456 -w44457 -w44458 -wd4577 -} +include(msvc-base.conf) unset(MSC_VER) diff --git a/mkspecs/common/wince/qmake.conf b/mkspecs/common/wince/qmake.conf index 224c350e2f..fa1a72a1b9 100644 --- a/mkspecs/common/wince/qmake.conf +++ b/mkspecs/common/wince/qmake.conf @@ -2,6 +2,8 @@ # qmake configuration for common Windows CE # +include(../angle.conf) + MAKEFILE_GENERATOR = MSVC.NET QMAKE_PLATFORM += wince win32 CONFIG += incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target @@ -67,8 +69,8 @@ QMAKE_EXTENSION_SHLIB = dll QMAKE_PREFIX_STATICLIB = QMAKE_EXTENSION_STATICLIB = lib -QMAKE_LIBS_EGL = libEGL.lib -QMAKE_LIBS_OPENGL_ES2 = libGLESv2.lib +QMAKE_LIBS_EGL = $${LIBEGL_NAME}.lib +QMAKE_LIBS_OPENGL_ES2 = $${LIBGLESV2_NAME}.lib QMAKE_LIBS_QT_ENTRY = -lqtmain diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf index 288043da88..bf237882ff 100644 --- a/mkspecs/common/winrt_winphone/qmake.conf +++ b/mkspecs/common/winrt_winphone/qmake.conf @@ -4,6 +4,8 @@ # Written for Microsoft Visual C++ # +include(../angle.conf) + MAKEFILE_GENERATOR = MSBUILD QMAKE_COMPILER = msvc QMAKE_PLATFORM = winrt win32 @@ -79,8 +81,8 @@ QMAKE_LIBS += runtimeobject.lib QMAKE_LIBS_CORE = QMAKE_LIBS_GUI = QMAKE_LIBS_NETWORK = -QMAKE_LIBS_OPENGL_ES2 = libEGL.lib libGLESv2.lib -QMAKE_LIBS_OPENGL_ES2_DEBUG = libEGLd.lib libGLESv2d.lib +QMAKE_LIBS_OPENGL_ES2 = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib +QMAKE_LIBS_OPENGL_ES2_DEBUG = $${LIBEGL_NAME}d.lib $${LIBGLESV2_NAME}d.lib QMAKE_LIBS_QT_ENTRY = -lqtmain @@ -92,4 +94,9 @@ VCPROJ_EXTENSION = .vcxproj VCSOLUTION_EXTENSION = .sln VCPROJ_KEYWORD = Qt4VSv1.0 WINRT_ASSETS_PATH = $$PWD/assets + +include(../msvc-base.conf) + +unset(MSC_VER) + load(qt_config) diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf index 9163ac30b2..1848f00e90 100644 --- a/mkspecs/features/qt_build_paths.prf +++ b/mkspecs/features/qt_build_paths.prf @@ -20,10 +20,9 @@ isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR exists($$MODULE_BASE_INDIR/.git): \ CONFIG += git_build -!prefix_build { - QTDIR = $$[QT_HOST_PREFIX] - # Permit modules to enforce being built outside QTDIR ... - !force_independent: MODULE_BASE_OUTDIR = $$QTDIR - # ... though this sort of breaks the idea. - MODULE_QMAKE_OUTDIR = $$QTDIR +!force_independent { + # If the module is not built independently, everything ends up in qtbase. + # This is the case in non-prefix builds, except for selected modules. + MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX] + MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX] } diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index e2e56c318f..9a4ed20af8 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -93,7 +93,7 @@ INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}_private.inclu contains(QT_CONFIG, build_all):CONFIG += build_all } -linux*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF +QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF QT += $$QT_FOR_PRIVATE unset(QT_FOR_PRIVATE) diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf index 63f491b9e5..73f1fb6201 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf @@ -8,6 +8,7 @@ # load(device_config) +include(../common/angle.conf) MAKEFILE_GENERATOR = MINGW QMAKE_PLATFORM = win32 mingw @@ -98,8 +99,8 @@ QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 QMAKE_LIBS_NETWORK = -lws2_32 QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 -QMAKE_LIBS_OPENGL_ES2 = -llibEGL -llibGLESv2 -lgdi32 -luser32 -QMAKE_LIBS_OPENGL_ES2_DEBUG = -llibEGLd -llibGLESv2d -lgdi32 -luser32 +QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -lgdi32 -luser32 +QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME}d -l$${LIBGLESV2_NAME}d -lgdi32 -luser32 QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain diff --git a/mkspecs/wince70embedded-armv4i-msvc2008/qmake.conf b/mkspecs/wince70embedded-armv4i-msvc2008/qmake.conf index 772a514b89..860fbc0e6a 100644 --- a/mkspecs/wince70embedded-armv4i-msvc2008/qmake.conf +++ b/mkspecs/wince70embedded-armv4i-msvc2008/qmake.conf @@ -21,7 +21,7 @@ QMAKE_LIBS_NETWORK = ws2.lib $$QMAKE_LIBS_GUI QMAKE_LIBS_OPENGL = QMAKE_LIBS_COMPAT = QMAKE_LIBS_OPENVG = libopenvg.lib -QMAKE_LIBS_OPENGL_ES2 = libEGL.lib libGLESv2.lib +QMAKE_LIBS_OPENGL_ES2 = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib QMAKE_RC = rc diff --git a/mkspecs/wince80colibri-armv7-msvc2012/qmake.conf b/mkspecs/wince80colibri-armv7-msvc2012/qmake.conf index 47c512bbda..ea86bc0071 100644 --- a/mkspecs/wince80colibri-armv7-msvc2012/qmake.conf +++ b/mkspecs/wince80colibri-armv7-msvc2012/qmake.conf @@ -36,7 +36,7 @@ QMAKE_LIBS_NETWORK = ws2.lib $$QMAKE_LIBS_GUI QMAKE_LIBS_OPENGL = QMAKE_LIBS_COMPAT = QMAKE_LIBS_OPENVG = -QMAKE_LIBS_OPENGL_ES2 = libEGL.lib libGLESv2.lib +QMAKE_LIBS_OPENGL_ES2 = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib QMAKE_LIBDIR_OPENGL_ES2 = $$(NV_WINCE_T2_PLAT)/lib/Test QMAKE_INCDIR_EGL = $$(NV_WINCE_T2_PLAT)/include QMAKE_LIBDIR_EGL = $$(NV_WINCE_T2_PLAT)/lib/Test diff --git a/mkspecs/winrt-arm-msvc2015/qmake.conf b/mkspecs/winrt-arm-msvc2015/qmake.conf index a5bb342456..7a9375246d 100644 --- a/mkspecs/winrt-arm-msvc2015/qmake.conf +++ b/mkspecs/winrt-arm-msvc2015/qmake.conf @@ -4,6 +4,7 @@ # Written for Microsoft Visual C++ 2015 # +MSC_VER = 1900 include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1900 DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 ARM __ARM__ __arm__ diff --git a/mkspecs/winrt-x64-msvc2015/qmake.conf b/mkspecs/winrt-x64-msvc2015/qmake.conf index 5b82f79981..ca2dc88bf0 100644 --- a/mkspecs/winrt-x64-msvc2015/qmake.conf +++ b/mkspecs/winrt-x64-msvc2015/qmake.conf @@ -4,6 +4,7 @@ # Written for Microsoft Visual C++ 2015 # +MSC_VER = 1900 include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1900 _WIN32 DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 X64 __X64__ __x64__ diff --git a/mkspecs/winrt-x86-msvc2015/qmake.conf b/mkspecs/winrt-x86-msvc2015/qmake.conf index bc7cf4118e..3b2681e93d 100644 --- a/mkspecs/winrt-x86-msvc2015/qmake.conf +++ b/mkspecs/winrt-x86-msvc2015/qmake.conf @@ -4,6 +4,7 @@ # Written for Microsoft Visual C++ 2015 # +MSC_VER = 1900 include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1900 _WIN32 DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 X86 __X86__ __x86__ |