Fix build with ICU >= 59
authorFabian Vogt <fabian@ritter-vogt.de>
Mon, 14 Sep 2020 13:56:35 +0000 (14:56 +0100)
committerLisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
Mon, 14 Sep 2020 13:56:35 +0000 (14:56 +0100)
Origin: https://build.opensuse.org/package/view_file/KDE:Qt/libqt4/fix-build-icu59.patch
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898542
Forwarded: not-needed
Reviewd-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
ICU >= 59 requires C++11 for its header files.
Qt can't be compiled with -std=c++11 as a whole, so only enable
it for qlocale_icu.cpp.

Gbp-Pq: Name fix-build-icu59.patch

src/corelib/tools/tools.pri

index 1a7153adfaab0cff3af8d3c67f7a50fa22623034..8d372b4ae35667a7ab08becff2a6097bd1dddc4b 100644 (file)
@@ -102,7 +102,15 @@ contains(QT_CONFIG, zlib):include($$PWD/../../3rdparty/zlib.pri)
 else:include($$PWD/../../3rdparty/zlib_dependency.pri)
 
 contains(QT_CONFIG,icu) {
-    SOURCES += tools/qlocale_icu.cpp
+    cpp11.name = cpp11
+    cpp11.input = SOURCES_CPP11
+    cpp11.dependency_type = TYPE_C
+    cpp11.variable_out = OBJECTS
+    cpp11.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)}
+    cpp11.commands = $${QMAKE_CXX} $(CXXFLAGS) -std=c++11 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+    QMAKE_EXTRA_COMPILERS += cpp11
+
+    SOURCES_CPP11 += tools/qlocale_icu.cpp
     DEFINES += QT_USE_ICU
 }