From 57378a108ca488cbf5cfaa32590fc762dcbf3315 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Thu, 19 May 2016 23:01:59 -0700 Subject: Add support for Apple watchOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I3f9e00569458a463af2eaa5a3a16a6afd1e9c1ea Reviewed-by: Tor Arne Vestbø --- mkspecs/features/uikit/default_post.prf | 8 ++++++++ mkspecs/features/uikit/default_pre.prf | 2 +- mkspecs/features/uikit/device_destinations.sh | 4 ++++ mkspecs/features/uikit/qt.prf | 2 +- mkspecs/features/uikit/qt_config.prf | 1 + mkspecs/features/uikit/xcodebuild.prf | 4 ++++ 6 files changed, 19 insertions(+), 2 deletions(-) (limited to 'mkspecs/features/uikit') diff --git a/mkspecs/features/uikit/default_post.prf b/mkspecs/features/uikit/default_post.prf index 7c92a24556..52c9b1e8c8 100644 --- a/mkspecs/features/uikit/default_post.prf +++ b/mkspecs/features/uikit/default_post.prf @@ -22,6 +22,7 @@ macx-xcode { device_family.name = TARGETED_DEVICE_FAMILY ios: device_family.value = $$QMAKE_IOS_TARGETED_DEVICE_FAMILY tvos: device_family.value = $$QMAKE_TVOS_TARGETED_DEVICE_FAMILY + watchos: device_family.value = $$QMAKE_WATCHOS_TARGETED_DEVICE_FAMILY QMAKE_MAC_XCODE_SETTINGS += device_family ios { @@ -77,6 +78,11 @@ macx-xcode { arch_simulator.value = $$QMAKE_TVOS_SIMULATOR_ARCHS QMAKE_XCODE_ARCHS = $$QMAKE_TVOS_DEVICE_ARCHS $$QMAKE_TVOS_SIMULATOR_ARCHS } + watchos { + arch_device.value = $$QMAKE_WATCHOS_DEVICE_ARCHS + arch_simulator.value = $$QMAKE_WATCHOS_SIMULATOR_ARCHS + QMAKE_XCODE_ARCHS = $$QMAKE_WATCHOS_DEVICE_ARCHS $$QMAKE_WATCHOS_SIMULATOR_ARCHS + } QMAKE_MAC_XCODE_SETTINGS += arch_device arch_simulator @@ -89,9 +95,11 @@ macx-xcode { contains(QT_ARCH, arm.*) { ios: VALID_ARCHS = $$QMAKE_IOS_DEVICE_ARCHS tvos: VALID_ARCHS = $$QMAKE_TVOS_DEVICE_ARCHS + watchos: VALID_ARCHS = $$QMAKE_WATCHOS_DEVICE_ARCHS } else { ios: VALID_ARCHS = $$QMAKE_IOS_SIMULATOR_ARCHS tvos: VALID_ARCHS = $$QMAKE_TVOS_SIMULATOR_ARCHS + watchos: VALID_ARCHS = $$QMAKE_WATCHOS_SIMULATOR_ARCHS } single_arch: VALID_ARCHS = $$first(VALID_ARCHS) diff --git a/mkspecs/features/uikit/default_pre.prf b/mkspecs/features/uikit/default_pre.prf index 9b2ebc19bd..e719ab0848 100644 --- a/mkspecs/features/uikit/default_pre.prf +++ b/mkspecs/features/uikit/default_pre.prf @@ -11,7 +11,7 @@ lessThan(QMAKE_XCODE_VERSION, "4.3"): \ build_pass:simulator { # For a simulator_and_device build all the config tests - # are based on the iPhoneOS ARM SDK, but we know that the simulator + # are based on the iPhoneOS/WatchOS ARM SDK, but we know that the simulator # is i386 and that we support SSE/SSE2. QT_ARCH = i386 QT_CPU_FEATURES.i386 = sse sse2 diff --git a/mkspecs/features/uikit/device_destinations.sh b/mkspecs/features/uikit/device_destinations.sh index b378d67500..2c117d0ad4 100755 --- a/mkspecs/features/uikit/device_destinations.sh +++ b/mkspecs/features/uikit/device_destinations.sh @@ -60,6 +60,10 @@ xcodebuild test -scheme $2 -destination 'id=0' -destination-timeout 1 2>&1| sed echo "HARDWARE_DEVICES += $id" elif [ "$val" = "tvOS Simulator" -a "$id" != "$booted_simulator" ]; then echo "SIMULATOR_DEVICES += $id" + elif [ "$val" = "watchOS" ]; then + echo "HARDWARE_DEVICES += $id" + elif [ "$val" = "watchOS Simulator" -a "$id" != "$booted_simulator" ]; then + echo "SIMULATOR_DEVICES += $id" fi fi done diff --git a/mkspecs/features/uikit/qt.prf b/mkspecs/features/uikit/qt.prf index af047be466..4475c137dc 100644 --- a/mkspecs/features/uikit/qt.prf +++ b/mkspecs/features/uikit/qt.prf @@ -1,6 +1,6 @@ qt_depends = $$resolve_depends(QT, "QT.") -equals(TEMPLATE, app):contains(qt_depends, gui(-private)?) { +!watchos:equals(TEMPLATE, app):contains(qt_depends, gui(-private)?) { LIBS *= -L$$[QT_INSTALL_PLUGINS/get]/platforms lib_name = qios diff --git a/mkspecs/features/uikit/qt_config.prf b/mkspecs/features/uikit/qt_config.prf index 71e0982f7e..5fa5a536f8 100644 --- a/mkspecs/features/uikit/qt_config.prf +++ b/mkspecs/features/uikit/qt_config.prf @@ -10,6 +10,7 @@ isEmpty(QT_ARCH) { } else { # Simulator ios: QT_ARCH = i386 tvos: QT_ARCH = x64 + watchos: QT_ARCH = i386 } # Prevent the arch/config tests from building as multi-arch binaries, diff --git a/mkspecs/features/uikit/xcodebuild.prf b/mkspecs/features/uikit/xcodebuild.prf index 6e50bbcf50..82bcd9a315 100644 --- a/mkspecs/features/uikit/xcodebuild.prf +++ b/mkspecs/features/uikit/xcodebuild.prf @@ -43,6 +43,10 @@ tvos { DEVICE_FILTER = "Apple TV" GENERIC_DEVICE_DESTINATION = "generic/platform=tvOS" } +watchos { + DEVICE_FILTER = "Apple Watch" + GENERIC_DEVICE_DESTINATION = "generic/platform=watchOS" +} QMAKE_EXTRA_VARIABLES += DEVICE_SDK SIMULATOR_SDK DEVICE_FILTER GENERIC_DEVICE_DESTINATION QMAKE_EXTRA_INCLUDES += $$shell_quote($$PWD/xcodebuild.mk) -- cgit v1.2.3