From 16f144db2916e5be5d4409154d77e01e07714251 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 26 Sep 2017 10:48:14 +0200 Subject: Do not define _HAS_EXCEPTIONS=0 in MSVC builds This definition causes a build error if concrt.h is included. According to Microsoft [1], this macro is unsupported. It was added in f5908363 to silence compiler warnings that are generated when exceptions are turned off and certain STL headers are included. We specifically disable the warnings in question now. [1] https://blogs.msdn.microsoft.com/vcblog/2015/07/14/stl-fixes-in-vs-2015-part-2/ Task-number: QTBUG-63409 Change-Id: I567d5d46292fbd7898394e217bb0987fbcdca9de Reviewed-by: Oliver Wolff Reviewed-by: Thiago Macieira --- mkspecs/common/msvc-version.conf | 2 +- mkspecs/common/winrt_winphone/qmake.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf index d8ec089f55..ba74c49f9c 100644 --- a/mkspecs/common/msvc-version.conf +++ b/mkspecs/common/msvc-version.conf @@ -37,7 +37,7 @@ greaterThan(QMAKE_MSC_VER, 1699) { # Visual Studio 2012 (11.0) / Visual C++ 17.0 and up MSVC_VER = 11.0 COMPAT_MKSPEC = win32-msvc2012 - QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -D_HAS_EXCEPTIONS=0 + QMAKE_CXXFLAGS_EXCEPTIONS_OFF = /wd4530 /wd4577 QT_CONFIG += c++11 CONFIG += c++11 } diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf index 2bb6f9bcbd..0fa9c22e87 100644 --- a/mkspecs/common/winrt_winphone/qmake.conf +++ b/mkspecs/common/winrt_winphone/qmake.conf @@ -50,7 +50,7 @@ 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_CXXFLAGS_EXCEPTIONS_OFF = /wd4530 /wd4577 QMAKE_INCDIR = -- cgit v1.2.3 From 06cb408979831250298c4492ea8133e362c1bcc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Wed, 27 Sep 2017 00:24:31 +0300 Subject: Add support for ICC in toolchain.prf Task-number: QTBUG-62531 Change-Id: Ie15a349c830258058d48c9da18b52b343bdb943a Reviewed-by: Thiago Macieira --- mkspecs/features/toolchain.prf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf index 35175f1744..7b6f48de72 100644 --- a/mkspecs/features/toolchain.prf +++ b/mkspecs/features/toolchain.prf @@ -120,7 +120,7 @@ isEmpty($${target_prefix}.INCDIRS) { } } } - !darwin:clang { + if(!darwin:clang)|intel_icc { # Clang on a non-Apple system (that is, a system without ld64 -- say, with GNU ld # or gold under Linux) will not print any library search path. Need to use another # invocation with different options (which in turn doesn't print include search @@ -205,7 +205,7 @@ isEmpty($${target_prefix}.COMPILER_MACROS) { vars = $$qtVariablesFromGCC($$QMAKE_CXX) } for (v, vars) { - isEmpty(v)|contains(v, $${LITERAL_HASH}.*): next() + contains(v, $${LITERAL_HASH}.*)|contains(v, " *"): next() # Set both for the outer scope ... eval($$v) v ~= s/ .*// -- cgit v1.2.3 From 1e1de2b2e16dd17efec4742a9c4892522c6319ca Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Fri, 22 Sep 2017 00:42:38 -0700 Subject: Make it an error to omit __builtin_available where needed This guarantees that we have proper version checks in place for APIs on Apple platforms that are not necessarily available on the deployment target. Change-Id: I10060f8b910f2bb790aa4a9c6f8c5cdc14d7cf06 Reviewed-by: Thiago Macieira --- mkspecs/features/qt_common.prf | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf index b8e397cda3..f4ae5bde80 100644 --- a/mkspecs/features/qt_common.prf +++ b/mkspecs/features/qt_common.prf @@ -58,6 +58,15 @@ clang { clang_ver = $${QT_CLANG_MAJOR_VERSION}.$${QT_CLANG_MINOR_VERSION} versionAtLeast(clang_ver, 3.5): \ QMAKE_CXXFLAGS_WARN_ON += -Wdate-time + + # Clang/LLVM 5.0 and Xcode 9.0 introduced unguarded availability warnings. + # The same construct has been a hard error in Swift from the very beginning. + apple_ver = $${QT_APPLE_CLANG_MAJOR_VERSION}.$${QT_APPLE_CLANG_MINOR_VERSION} + darwin:if(versionAtLeast(clang_ver, 5.0)|versionAtLeast(apple_ver, 9.0)): \ + QMAKE_CXXFLAGS_WARN_ON += \ + -Werror=unguarded-availability \ + -Werror=unguarded-availability-new \ + -Werror=unsupported-availability-guard } else: gcc:!intel_icc { QMAKE_CXXFLAGS_WARN_ON += -Wvla # GCC 5 introduced -Wdate-time -- cgit v1.2.3 From c3e93391eeb23d575d131d17c5922f9ca6347e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Sun, 10 Sep 2017 15:50:45 +0200 Subject: qmake: Allow non-bundle apps and libs to have an Info.plist Change-Id: I5fe5c8d3214876520b5259d478ac9ef887c61e95 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/mac/mac.prf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 mkspecs/features/mac/mac.prf (limited to 'mkspecs') diff --git a/mkspecs/features/mac/mac.prf b/mkspecs/features/mac/mac.prf new file mode 100644 index 0000000000..52f06ef773 --- /dev/null +++ b/mkspecs/features/mac/mac.prf @@ -0,0 +1,17 @@ + +# Embed plist file via linker if we're not building a bundle +!isEmpty(QMAKE_INFO_PLIST) { + add_plist = false + equals(TEMPLATE, lib) { + plugin:!plugin_bundle: \ + add_plist = true + else: !plugin:!lib_bundle: \ + add_plist = true + } else: equals(TEMPLATE, app) { + !app_bundle: \ + add_plist = true + } + + $$add_plist: \ + QMAKE_LFLAGS += -Wl,-sectcreate,__TEXT,__info_plist,$$shell_quote($$QMAKE_INFO_PLIST) +} -- cgit v1.2.3 From 1b473ee676d5e99437b84dfe76e1d952e5a73428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 3 Oct 2017 18:25:49 +0200 Subject: iOS: Bump deployment target to 10.0 as planned for 5.10 [ChangeLog][iOS] The minimum deployment target for applications is now iOS 10.0. Change-Id: Icb37e4eaecbf6f62fd3c9293b2abf19a0954a02d Reviewed-by: Jake Petroules --- mkspecs/macx-ios-clang/qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/macx-ios-clang/qmake.conf b/mkspecs/macx-ios-clang/qmake.conf index fa315bb8ca..d58b9fcbe1 100644 --- a/mkspecs/macx-ios-clang/qmake.conf +++ b/mkspecs/macx-ios-clang/qmake.conf @@ -2,7 +2,7 @@ # qmake configuration for macx-ios-clang # -QMAKE_IOS_DEPLOYMENT_TARGET = 8.0 +QMAKE_IOS_DEPLOYMENT_TARGET = 10.0 # Universal target (iPhone and iPad) QMAKE_APPLE_TARGETED_DEVICE_FAMILY = 1,2 -- cgit v1.2.3 From 65d9d89573a87d1d4d7083bb63ddd42d67fde965 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 5 Oct 2017 16:50:22 +0200 Subject: clang-cl: Fix warning about #include resolution In file included from ..\..\..\mkspecs\win32-clang-msvc\qplatformdefs.h:40: ..\..\..\mkspecs\win32-clang-msvc/../win32-msvc/qplatformdefs.h(51,10): warning: #include resolved using non-portable Microsoft search rules as: ..\..\corelib\global/qglobal.h [-Wmicrosoft-include] #include "qglobal.h" Task-number: QTBUG-63512 Change-Id: Id60b599126049f2bb07db22e721ff5b761a9b1fd Reviewed-by: Oswald Buddenhagen --- mkspecs/win32-msvc/qplatformdefs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/win32-msvc/qplatformdefs.h b/mkspecs/win32-msvc/qplatformdefs.h index 9573d18a40..de806985cb 100644 --- a/mkspecs/win32-msvc/qplatformdefs.h +++ b/mkspecs/win32-msvc/qplatformdefs.h @@ -48,7 +48,7 @@ // Get Qt defines/settings -#include "qglobal.h" +#include #define _POSIX_ #include -- cgit v1.2.3