| #!/bin/bash |
| # Copyright (c) 2014 Google Inc. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| set -e |
| |
| # `xcodebuild -version` output looks like |
| # Xcode 4.6.3 |
| # Build version 4H1503 |
| # or like |
| # Xcode 4.2 |
| # Build version 4C199 |
| # or like |
| # Xcode 3.2.6 |
| # Component versions: DevToolsCore-1809.0; DevToolsSupport-1806.0 |
| # BuildVersion: 10M2518 |
| # Convert that to '0463', '0420' and '0326' respectively. |
| function xcodeversion() { |
| xcodebuild -version | awk '/Xcode ([0-9]+\.[0-9]+(\.[0-9]+)?)/ { |
| version = $2 |
| gsub(/\./, "", version) |
| if (length(version) < 3) { |
| version = version "0" |
| } |
| if (length(version) < 4) { |
| version = "0" version |
| } |
| } |
| END { print version }' |
| } |
| |
| # Returns true if |string1| is smaller than |string2|. |
| # This function assumes that both strings represent Xcode version numbers |
| # as returned by |xcodeversion|. |
| function smaller() { |
| local min="$(echo -ne "${1}\n${2}\n" | sort -n | head -n1)" |
| test "${min}" != "${2}" |
| } |
| |
| if [[ "$(xcodeversion)" < "0500" ]]; then |
| # Xcode version is older than 5.0, check that SDKROOT is set but empty. |
| [[ -z "${SDKROOT}" && -z "${SDKROOT-_}" ]] |
| else |
| # Xcode version is newer than 5.0, check that SDKROOT is set. |
| [[ "${SDKROOT}" == "$(xcodebuild -version -sdk '' Path)" ]] |
| fi |