diff options
author | Liang Qi <liang.qi@qt.io> | 2016-12-13 09:36:26 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-12-13 09:39:20 +0100 |
commit | 6755ec891a1740110c48895afd53d39e8370704a (patch) | |
tree | 982606f3bc582262e4b315a63f55ccb141fff97b /mkspecs | |
parent | 449204f8c0d6679ae0e58dbb8a30b8a86fbdb4ec (diff) | |
parent | 00c9ec63a552d040e851b561c11428fabf1a2b08 (diff) |
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
configure
qmake/Makefile.unix.macos
qmake/Makefile.unix.win32
qmake/generators/win32/msvc_vcproj.cpp
src/3rdparty/pcre/qt_attribution.json
src/corelib/io/qsettings.cpp
src/corelib/kernel/qdeadlinetimer.cpp
src/platformsupport/kmsconvenience/qkmsdevice.cpp
src/platformsupport/kmsconvenience/qkmsdevice_p.h
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicescreen.cpp
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h
tests/manual/qstorageinfo/printvolumes.cpp
tools/configure/configureapp.cpp
Change-Id: Ibaabcc8e965c44926f9fb018466e8b132b8df49e
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/android-clang/qmake.conf | 3 | ||||
-rw-r--r-- | mkspecs/features/moc.prf | 3 | ||||
-rw-r--r-- | mkspecs/features/qt.prf | 9 | ||||
-rw-r--r-- | mkspecs/features/qt_app.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_build_config.prf | 16 | ||||
-rw-r--r-- | mkspecs/features/qt_configure.prf | 16 | ||||
-rw-r--r-- | mkspecs/features/qt_example_installs.prf | 3 | ||||
-rw-r--r-- | mkspecs/features/qt_module_headers.prf | 11 | ||||
-rw-r--r-- | mkspecs/win32-msvc2017/qmake.conf | 10 | ||||
-rw-r--r-- | mkspecs/win32-msvc2017/qplatformdefs.h | 34 |
10 files changed, 94 insertions, 13 deletions
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf index b25a4399f3..3e621c7d77 100644 --- a/mkspecs/android-clang/qmake.conf +++ b/mkspecs/android-clang/qmake.conf @@ -1,4 +1,4 @@ -# qmake configuration for building with android-g++ +# qmake configuration for building with android-clang MAKEFILE_GENERATOR = UNIX QMAKE_PLATFORM = android QMAKE_COMPILER = gcc clang llvm @@ -6,6 +6,7 @@ QMAKE_COMPILER = gcc clang llvm CONFIG += android_install unversioned_soname unversioned_libname plugin_with_soname android_deployment_settings include(../common/linux.conf) +include(../common/gcc-base-unix.conf) include(../common/clang.conf) include(../common/android-base-head.conf) diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf index 0bc7482ec7..333d06f63a 100644 --- a/mkspecs/features/moc.prf +++ b/mkspecs/features/moc.prf @@ -32,7 +32,8 @@ if(gcc|intel_icl|msvc):!rim_qcc:!uikit:if(!macos|count(QMAKE_APPLE_DEVICE_ARCHS, gcc: moc_predefs.commands = $$QMAKE_CXX $$QMAKE_CXXFLAGS -dM -E -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} else:intel_icl: moc_predefs.commands = $$QMAKE_CXX $$QMAKE_CXXFLAGS -QdM -P -Fi${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} else:msvc { - moc_predefs.commands += $$QMAKE_CXX -Bx$$QMAKE_QMAKE $$QMAKE_CXXFLAGS -E ${QMAKE_FILE_IN} 2>NUL >${QMAKE_FILE_OUT} + moc_predefs.commands += $$QMAKE_CXX -Bx$$shell_quote($$shell_path($$QMAKE_QMAKE)) $$QMAKE_CXXFLAGS \ + -E ${QMAKE_FILE_IN} 2>NUL >${QMAKE_FILE_OUT} } else: error("Oops, I messed up") moc_predefs.output = $$MOC_DIR/moc_predefs.h moc_predefs.input = MOC_PREDEF_FILE diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 07b7565f48..634757a653 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -194,13 +194,8 @@ qt_module_deps = $$resolve_depends(qt_module_deps, "QT.") # static builds: link qml import plugins into the app. contains(qt_module_deps, qml): \ qtConfig(static):contains(TEMPLATE, .*app):!host_build:!no_import_scan { - !isEmpty(QTREPOS) { - for (qrep, QTREPOS): \ - exists($$qrep/qml): \ - QMLPATHS += $$qrep/qml - } else { - QMLPATHS += $$[QT_INSTALL_QML/get] - } + exists($$[QT_INSTALL_QML/get]): \ + QMLPATHS *= $$[QT_INSTALL_QML/get] # run qmlimportscanner qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, , system) diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf index 87e32d6d42..cb84ae0da8 100644 --- a/mkspecs/features/qt_app.prf +++ b/mkspecs/features/qt_app.prf @@ -37,6 +37,8 @@ INSTALLS += target load(qt_targets) load(qt_common) +qtSetQmlPath() + no_launch_target: return() load(resolve_target) diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index f543b47351..8b1034a2d8 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -52,6 +52,22 @@ QMAKE_DIR_REPLACE_SANE = PRECOMPILED_DIR OBJECTS_DIR MOC_DIR RCC_DIR UI_DIR unset(modpath) } +defineTest(qtSetQmlPath) { + !qtConfig(static)|host_build|no_import_scan: \ + return() + deps = $$replace(QT, -private$, _private) + deps = $$resolve_depends(deps, "QT.") + !contains(deps, qml): \ + return() + + isEmpty(QTREPOS): \ + QTREPOS = $$shadowed($$dirname(_QMAKE_CONF_)) + for (qrep, QTREPOS): \ + exists($$qrep/qml): \ + QMLPATHS += $$qrep/qml + export(QMLPATHS) +} + # Apply extra compiler flags passed via configure last. CONFIG = qt_build_extra $$CONFIG diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 1181566fec..9b3deff331 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -22,12 +22,18 @@ defineTest(qtConfAddWarning) { defineTest(qtConfAddError) { QT_CONFIGURE_ERRORS += "ERROR: $$join(1, $$escape_expand(\\n))" export(QT_CONFIGURE_ERRORS) - equals(2, log) { + equals(2, log):qt_conf_tests_allowed { CONFIG += mention_config_log export(CONFIG) } } +defineTest(qtConfFatalError) { + qtConfAddError($$1, $$2) + qtConfPrintReport() + error() +} + defineTest(qtConfCommandlineSetInput) { arg = $${1} val = $${2} @@ -782,9 +788,7 @@ defineTest(qtConfTest_compile) { defineTest(qtConfTest_verifySpec) { qtConfTest_compile($$1): return(true) - qtConfAddError("Cannot compile a minimal program. The toolchain or QMakeSpec is broken.", log) - qtConfPrintReport() - error() + qtConfFatalError("Cannot compile a minimal program. The toolchain or QMakeSpec is broken.", log) } defineTest(qtConfTest_files) { @@ -1314,6 +1318,10 @@ defineTest(qtConfReport_error) { qtConfAddError($${1}, log) } +defineTest(qtConfReport_fatal) { + qtConfFatalError($${1}) +} + defineTest(qtConfCreateReportRecurse) { equals(2, false) { indent = "" diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf index 4c68cfd72f..0a008374e5 100644 --- a/mkspecs/features/qt_example_installs.prf +++ b/mkspecs/features/qt_example_installs.prf @@ -9,6 +9,9 @@ # We mean it. # +contains(TEMPLATE, .*app): \ + qtSetQmlPath() + contains(TEMPLATE, "vc.*"): return() defineTest(addInstallFiles) { diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf index 790a4ee29e..a0be15c4a0 100644 --- a/mkspecs/features/qt_module_headers.prf +++ b/mkspecs/features/qt_module_headers.prf @@ -204,9 +204,20 @@ headersclean:!internal_module { !contains(QT_ARCH, arm):!contains(QT_ARCH, mips): \ hcleanFLAGS += -Wcast-align + greaterThan(QT_CLANG_MAJOR_VERSION, 3) { + hcleanFLAGS += -Wdouble-promotion + } greaterThan(QT_CLANG_MAJOR_VERSION, 2):greaterThan(QT_CLANG_MINOR_VERSION, 7) { + hcleanFLAGS += -Wdouble-promotion + } + !clang { # options accepted only by GCC + greaterThan(QT_GCC_MAJOR_VERSION, 4) { + hcleanFLAGS += -Wdouble-promotion + } greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 4) { + hcleanFLAGS += -Wdouble-promotion + } c++11 { # only enabled for actual c++11 builds due to # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52806 diff --git a/mkspecs/win32-msvc2017/qmake.conf b/mkspecs/win32-msvc2017/qmake.conf new file mode 100644 index 0000000000..b8351eb3fe --- /dev/null +++ b/mkspecs/win32-msvc2017/qmake.conf @@ -0,0 +1,10 @@ +# +# qmake configuration for win32-msvc2017 +# +# Written for Microsoft Visual C++ 2017 +# + +MSC_VER = 1910 +MSVC_VER = 15.0 +include(../common/msvc-desktop.conf) +load(qt_config) diff --git a/mkspecs/win32-msvc2017/qplatformdefs.h b/mkspecs/win32-msvc2017/qplatformdefs.h new file mode 100644 index 0000000000..7100e3aa41 --- /dev/null +++ b/mkspecs/win32-msvc2017/qplatformdefs.h @@ -0,0 +1,34 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../win32-msvc2005/qplatformdefs.h" |