diff options
author | Liang Qi <liang.qi@qt.io> | 2017-11-21 14:34:31 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-11-23 09:36:03 +0100 |
commit | 153e8b49adfe210cb00490284a14c94c08e03c3f (patch) | |
tree | 59d9522d6dc96215cc2cb1d19b3e8a0e580bcb41 /mkspecs | |
parent | ef7c0594bf9e41813c9c841e00c3a52269d363f5 (diff) | |
parent | a4113d0c644edba1c39d9d268a259e95ae51c61e (diff) | |
download | qtbase-153e8b49adfe210cb00490284a14c94c08e03c3f.tar.gz |
Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
src/network/access/qhttp2protocolhandler_p.h
src/network/kernel/kernel.pri
src/network/ssl/qsslkey_qt.cpp
src/plugins/platforms/cocoa/qcocoascreen.mm
src/plugins/platforms/windows/accessible/iaccessible2.cpp
src/plugins/platforms/windows/accessible/iaccessible2.h
src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h
src/widgets/widgets/qmenu_p.h
tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
tests/auto/other/qaccessibility/tst_qaccessibility.cpp
tests/auto/testlib/selftests/expected_cmptest.lightxml
tests/auto/testlib/selftests/expected_cmptest.teamcity
tests/auto/testlib/selftests/expected_cmptest.txt
tests/auto/testlib/selftests/expected_cmptest.xml
Done-with: Edward Welbourne <edward.welbourne@qt.io>
Change-Id: I4217cc7d840cbae3e3dd28574741544469c4c6b9
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/features/qt_installs.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 10 | ||||
-rwxr-xr-x | mkspecs/features/uikit/device_destinations.sh | 6 | ||||
-rwxr-xr-x | mkspecs/features/uikit/devices.py (renamed from mkspecs/features/uikit/devices.pl) | 58 | ||||
-rw-r--r-- | mkspecs/features/uikit/xcodebuild.mk | 4 | ||||
-rw-r--r-- | mkspecs/features/uikit/xcodebuild.prf | 6 | ||||
-rw-r--r-- | mkspecs/macx-xcode/default.xcscheme | 1 |
7 files changed, 62 insertions, 25 deletions
diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf index 0d3dfb6b93..90d84cc535 100644 --- a/mkspecs/features/qt_installs.prf +++ b/mkspecs/features/qt_installs.prf @@ -32,7 +32,7 @@ qt_install_headers { class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME INSTALLS += class_headers - targ_headers.files = $$SYNCQT.HEADER_FILES + targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME INSTALLS += targ_headers diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 8a8c17f01b..a5c40a7899 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -136,9 +136,17 @@ lib_bundle { if(if(!debug_and_release|CONFIG(release, debug|release))) { FRAMEWORK_HEADERS.version = Versions FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES + # Non-existing paths (yet, they will be generated) are used verbatim. + for (injected_header, SYNCQT.INJECTED_HEADER_FILES): \ + FRAMEWORK_HEADERS.files += \ + $$relative_path($$absolute_path($$injected_header, $$_PRO_FILE_PWD_), $$OUT_PWD) + FRAMEWORK_HEADERS.path = Headers FRAMEWORK_PRIVATE_HEADERS.version = Versions - FRAMEWORK_PRIVATE_HEADERS.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES + FRAMEWORK_PRIVATE_HEADERS.files = $$SYNCQT.PRIVATE_HEADER_FILES + for (injected_header, SYNCQT.INJECTED_PRIVATE_HEADER_FILES): \ + FRAMEWORK_PRIVATE_HEADERS.files += \ + $$relative_path($$absolute_path($$injected_header, $$_PRO_FILE_PWD_), $$OUT_PWD) FRAMEWORK_PRIVATE_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME/private FRAMEWORK_QPA_HEADERS.version = Versions FRAMEWORK_QPA_HEADERS.files = $$SYNCQT.QPA_HEADER_FILES diff --git a/mkspecs/features/uikit/device_destinations.sh b/mkspecs/features/uikit/device_destinations.sh index 162ad01aaf..649dd399a7 100755 --- a/mkspecs/features/uikit/device_destinations.sh +++ b/mkspecs/features/uikit/device_destinations.sh @@ -40,10 +40,12 @@ ############################################################################# DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -booted_simulator=$($DIR/devices.pl "$1" "Booted" "NOT unavailable" | tail -n 1) +scheme=$1 +shift +booted_simulator=$($DIR/devices.py --state booted $@ | tail -n 1) echo "SIMULATOR_DEVICES = $booted_simulator" -xcodebuild test -scheme $2 -destination 'id=0' -destination-timeout 1 2>&1| sed -n 's/{ \(platform:.*\) }/\1/p' | while read destination; do +xcodebuild test -scheme $scheme -destination 'id=0' -destination-timeout 1 2>&1| sed -n 's/{ \(platform:.*\) }/\1/p' | while read destination; do id=$(echo $destination | sed -n -E 's/.*id:([^ ,]+).*/\1/p') [[ $id == *"placeholder"* ]] && continue diff --git a/mkspecs/features/uikit/devices.pl b/mkspecs/features/uikit/devices.py index 8d69a97273..0443e838f2 100755 --- a/mkspecs/features/uikit/devices.pl +++ b/mkspecs/features/uikit/devices.py @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/python ############################################################################# ## @@ -39,18 +39,44 @@ ## ############################################################################# -$output = `xcrun simctl list devices --json 2>&1`; -$output =~ s/\n//g; - -BLOCK: -foreach $block ($output =~ /{.*?}/g) { - foreach $filter (@ARGV) { - if ($filter =~ /^NOT\s(.*)/) { - $block =~ /$1/ && next BLOCK; - } else { - $block =~ /$filter/ || next BLOCK; - } - } - $block =~ /udid[:|\s|\"]+(.*)\"/; - print "$1\n"; -} +from __future__ import print_function + +import argparse +import json +import subprocess +from distutils.version import StrictVersion + +def is_suitable_runtime(runtimes, runtime_name, platform, min_version): + for runtime in runtimes: + identifier = runtime["identifier"] + if (runtime["name"] == runtime_name or identifier == runtime_name) \ + and "unavailable" not in runtime["availability"] \ + and identifier.startswith("com.apple.CoreSimulator.SimRuntime.{}".format(platform)) \ + and StrictVersion(runtime["version"]) >= min_version: + return True + return False + +def simctl_runtimes(): + return json.loads(subprocess.check_output( + ["/usr/bin/xcrun", "simctl", "list", "runtimes", "--json"]))["runtimes"] + +def simctl_devices(): + return json.loads(subprocess.check_output( + ["/usr/bin/xcrun", "simctl", "list", "devices", "--json"]))["devices"] + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('--platform', choices=['iOS', 'tvOS', 'watchOS'], required=True) + parser.add_argument('--minimum-deployment-target', type=StrictVersion, default='0.0') + parser.add_argument('--state', + choices=['booted', 'shutdown', 'creating', 'booting', 'shutting-down'], action='append') + args = parser.parse_args() + + runtimes = simctl_runtimes() + device_dict = simctl_devices() + for runtime_name in device_dict: + if is_suitable_runtime(runtimes, runtime_name, args.platform, args.minimum_deployment_target): + for device in device_dict[runtime_name]: + if "unavailable" not in device["availability"] \ + and (args.state is None or device["state"].lower() in args.state): + print(device["udid"]) diff --git a/mkspecs/features/uikit/xcodebuild.mk b/mkspecs/features/uikit/xcodebuild.mk index 0b3ad632b6..435b9dbdf2 100644 --- a/mkspecs/features/uikit/xcodebuild.mk +++ b/mkspecs/features/uikit/xcodebuild.mk @@ -63,7 +63,7 @@ ifneq ($(filter check%,$(MAKECMDGOALS)),) ifeq ($(DEVICES),) $(info Enumerating test destinations (you may override this by setting DEVICES explicitly), please wait...) DESTINATIONS_INCLUDE = /tmp/device_destinations.mk - $(shell $(MAKEFILE_DIR)device_destinations.sh '$(EXPORT_DEVICE_FILTER)' $(TARGET) > $(DESTINATIONS_INCLUDE)) + $(shell $(MAKEFILE_DIR)device_destinations.sh $(TARGET) $(EXPORT_DEVICE_FILTER) > $(DESTINATIONS_INCLUDE)) include $(DESTINATIONS_INCLUDE) endif endif @@ -72,7 +72,7 @@ endif %-device: DEVICES = $(HARDWARE_DEVICES) GENERIC_DEVICE_DESTINATION := $(EXPORT_GENERIC_DEVICE_DESTINATION) -GENERIC_SIMULATOR_DESTINATION := "id=$(shell $(MAKEFILE_DIR)devices.pl '$(EXPORT_DEVICE_FILTER)' "NOT unavailable" | tail -n 1)" +GENERIC_SIMULATOR_DESTINATION := "id=$(shell $(MAKEFILE_DIR)devices.py $(EXPORT_DEVICE_FILTER) | tail -n 1)" %-simulator: DESTINATION = $(if $(DESTINATION_ID),"id=$(DESTINATION_ID)",$(GENERIC_SIMULATOR_DESTINATION)) %-device: DESTINATION = $(if $(DESTINATION_ID),"id=$(DESTINATION_ID)",$(GENERIC_DEVICE_DESTINATION)) diff --git a/mkspecs/features/uikit/xcodebuild.prf b/mkspecs/features/uikit/xcodebuild.prf index a766b9ea5c..7a6b2acfc2 100644 --- a/mkspecs/features/uikit/xcodebuild.prf +++ b/mkspecs/features/uikit/xcodebuild.prf @@ -40,15 +40,15 @@ CONFIG += no_default_goal_deps DEVICE_SDK = $${device.sdk} SIMULATOR_SDK = $${simulator.sdk} ios { - DEVICE_FILTER = "iPhone|iPad" + DEVICE_FILTER = --platform iOS --minimum-deployment-target $$QMAKE_IOS_DEPLOYMENT_TARGET GENERIC_DEVICE_DESTINATION = "generic/platform=iOS" } tvos { - DEVICE_FILTER = "Apple TV" + DEVICE_FILTER = --platform tvOS --minimum-deployment-target $$QMAKE_TVOS_DEPLOYMENT_TARGET GENERIC_DEVICE_DESTINATION = "generic/platform=tvOS" } watchos { - DEVICE_FILTER = "Apple Watch" + DEVICE_FILTER = --platform watchOS --minimum-deployment-target $$QMAKE_WATCHOS_DEPLOYMENT_TARGET GENERIC_DEVICE_DESTINATION = "generic/platform=watchOS" } QMAKE_EXTRA_VARIABLES += DEVICE_SDK SIMULATOR_SDK DEVICE_FILTER GENERIC_DEVICE_DESTINATION diff --git a/mkspecs/macx-xcode/default.xcscheme b/mkspecs/macx-xcode/default.xcscheme index 6beb0d8280..bda2b8c1c0 100644 --- a/mkspecs/macx-xcode/default.xcscheme +++ b/mkspecs/macx-xcode/default.xcscheme @@ -62,6 +62,7 @@ useCustomWorkingDirectory = "NO" buildConfiguration = "Debug" ignoresPersistentStateOnLaunch = "NO" + disableMainThreadChecker = "YES" debugDocumentVersioning = "NO" allowLocationSimulation = "YES"> <BuildableProductRunnable> |