summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorJian Liang <jianliang79@gmail.com>2017-01-30 16:13:59 +0800
committerjian liang <jianliang79@gmail.com>2017-02-01 15:04:02 +0000
commit015b53e9b4091c28b8a2d7931788c2286a245201 (patch)
tree2928e7f4e1cc9d1d119c41272a0b8fbfca23eeb8 /mkspecs
parent47cded3e6f271c86de65afee00a028cbe9826403 (diff)
Turn on -utf-8 compiler option for msvc2015 update 2 and up
Building qt with msvc would fail with the -developer-build configure option turned on under simplified chinese locale. This is because msvc will emit warnings for source files with utf-8 characters which are not representable in CP936, and -developer-build implies treating warnings as errors. This patch turn on -utf-8 compiler option for msvc2015 update 2 and up only for building qt. Task-number: QTBUG-58161 Change-Id: If38ea11eb1f39f8e08efa1cccb92e0eea50daf92 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/msvc-version.conf6
-rw-r--r--mkspecs/features/default_post.prf5
-rw-r--r--mkspecs/features/qt_build_config.prf1
3 files changed, 12 insertions, 0 deletions
diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf
index 147009cd9f..2347ca4866 100644
--- a/mkspecs/common/msvc-version.conf
+++ b/mkspecs/common/msvc-version.conf
@@ -66,6 +66,12 @@ greaterThan(QMAKE_MSC_VER, 1899) {
QMAKE_CFLAGS_AVX2 = -arch:AVX2
QMAKE_CXXFLAGS += -Zc:strictStrings -Zc:throwingNew
QMAKE_CXXFLAGS_WARN_ON += -w44456 -w44457 -w44458 -wd4577 -wd4467
+
+ greaterThan(QMAKE_MSC_FULL_VER, 190023918):!intel_icl {
+ isEmpty(QT_CLANG_MAJOR_VERSION)|!lessThan(QT_CLANG_MAJOR_VERSION, 4) {
+ QMAKE_CFLAGS_UTF8_SOURCE = -utf-8
+ }
+ }
}
greaterThan(QMAKE_MSC_VER, 1909) {
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index 7f5ab3a10c..60759b445e 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -116,6 +116,11 @@ c++11|c++14|c++1z {
unset(cxxstd)
}
+utf8_source {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_UTF8_SOURCE
+ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_UTF8_SOURCE
+}
+
!precompile_header: SOURCES += $$NO_PCH_SOURCES
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
index 3762c14f98..11d5695c63 100644
--- a/mkspecs/features/qt_build_config.prf
+++ b/mkspecs/features/qt_build_config.prf
@@ -84,6 +84,7 @@ android|uikit|winrt: \
CONFIG += builtin_testdata
CONFIG += \
+ utf8_source \
create_prl link_prl \
prepare_docs qt_docs_targets \
no_private_qt_headers_warning QTDIR_build \