WebKitTestRunner should build for iOS using the default target
authoraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Sep 2015 05:39:42 +0000 (05:39 +0000)
committeraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Sep 2015 05:39:42 +0000 (05:39 +0000)
commit42f024a5d54712d58526086c52b02a6e37283825
tree8d2666d45b64c9183d99e9b32b10caf3d42735fa
parentbb60a18813f77098cd0eccd543a7a3c8df5c1f8b
WebKitTestRunner should build for iOS using the default target
https://bugs.webkit.org/show_bug.cgi?id=148918

Reviewed by Daniel Bates.

When WebKitTestRunner was ported to iOS, a separate target (WebKitTestRunnerApp) was created for building the
iOS variant. This is annoying because (1) all tools that invoke xcodebuild need to be taught to build this
non-default target, and (2) a single Xcode scheme cannot be used to build both Mac and iOS variants.

This change adds a new default target (All) and makes it work for both Mac and iOS. Files that were built for
both WebKitTestRunner and WebKitTestRunnerApp are now built in a static library target (WebKitTestRunner (Library)),
and both apps now link this library. Files that are specific to Mac or iOS are excluded on the other platform.
WebKitTestRunnerApp.app (which should be renamed to WebKitTestRunner.app) is skipped when installing on Mac, and
WebKitTestRunner is skipped when installing on iOS.

The target dependency graph now looks like this:

    All
        WebKitTestRunnerApp
            WebKitTestRunner (Library)
                WebKitTestRunnerInjectedBundle
                    Derived Sources
        WebKitTestRunner
            WebKitTestRunner (Library)
                WebKitTestRunnerInjectedBundle
                    Derived Sources

* Scripts/build-webkit: Stopped building the WebKitTestRunnerApp target on iOS.
* Scripts/build-webkittestrunner: Ditto.
* WebKitTestRunner/Configurations/Base.xcconfig: Set SUPPORTED_PLATFORMS to macosx, iphoneos, and iphonesimulator.
* WebKitTestRunner/Configurations/BaseTarget.xcconfig: Set INSTALL_PATH here since it is the same for all targets.
* WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Stopped setting INSTALL_PATH.
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Moved frameworks from the build phase to here,
excluded iOS-only files, and skipped installing on iOS.
* WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig: Moved frameworks from the build phase to here,
excluded Mac-only files, and skipped installing on Mac.
* WebKitTestRunner/Configurations/WebKitTestRunnerLibrary.xcconfig: Skipped installing always.
* WebKitTestRunner/Makefile: Stopped building the WebKitTestRunnerApp target on iOS.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Added new targets, removed frameworks from
Link Binary With Libraries builds phases, moved common files to the WebKitTestRunner (Library) target, and added
new configuration files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools/ChangeLog
Tools/Scripts/build-webkit
Tools/Scripts/build-webkittestrunner
Tools/WebKitTestRunner/Configurations/Base.xcconfig
Tools/WebKitTestRunner/Configurations/BaseTarget.xcconfig
Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig
Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig
Tools/WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig [new file with mode: 0644]
Tools/WebKitTestRunner/Configurations/WebKitTestRunnerLibrary.xcconfig [new file with mode: 0644]
Tools/WebKitTestRunner/Makefile
Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj