Doing some cleanup to the iOS toolchain.

* There is no reason to require SDKROOT as an environment variable because we can derive it from xcrun
* Setting CMAKE_RANLIB makes our static archives usable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232053 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Bieneman
2015-03-12 16:19:16 +00:00
parent 656ef652cc
commit a1a34e5477

View File

@ -15,11 +15,10 @@ SET(CMAKE_C_COMPILER_WORKS True)
SET(DARWIN_TARGET_OS_NAME ios) SET(DARWIN_TARGET_OS_NAME ios)
IF(NOT DEFINED ENV{SDKROOT}) IF(NOT DEFINED ENV{SDKROOT})
MESSAGE(FATAL_ERROR "SDKROOT env var must be set: " $ENV{SDKROOT}) execute_process(COMMAND xcodebuild -version -sdk iphoneos Path
ENDIF() OUTPUT_VARIABLE SDKROOT
ERROR_QUIET
IF(EXISTS $ENV{SDKROOT}) OUTPUT_STRIP_TRAILING_WHITESPACE)
SET(SDKROOT $ENV{SDKROOT})
ELSE() ELSE()
execute_process(COMMAND xcodebuild -version -sdk $ENV{SDKROOT} Path execute_process(COMMAND xcodebuild -version -sdk $ENV{SDKROOT} Path
OUTPUT_VARIABLE SDKROOT OUTPUT_VARIABLE SDKROOT
@ -27,8 +26,14 @@ ELSE()
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)
ENDIF() ENDIF()
IF(NOT EXISTS ${SDKROOT})
MESSAGE(FATAL_ERROR "SDKROOT could not be detected!")
ENDIF()
set(CMAKE_OSX_SYSROOT ${SDKROOT})
IF(NOT CMAKE_C_COMPILER) IF(NOT CMAKE_C_COMPILER)
execute_process(COMMAND xcrun -sdk $ENV{SDKROOT} -find clang execute_process(COMMAND xcrun -sdk ${SDKROOT} -find clang
OUTPUT_VARIABLE CMAKE_C_COMPILER OUTPUT_VARIABLE CMAKE_C_COMPILER
ERROR_QUIET ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)
@ -36,7 +41,7 @@ IF(NOT CMAKE_C_COMPILER)
ENDIF() ENDIF()
IF(NOT CMAKE_CXX_COMPILER) IF(NOT CMAKE_CXX_COMPILER)
execute_process(COMMAND xcrun -sdk $ENV{SDKROOT} -find clang++ execute_process(COMMAND xcrun -sdk ${SDKROOT} -find clang++
OUTPUT_VARIABLE CMAKE_CXX_COMPILER OUTPUT_VARIABLE CMAKE_CXX_COMPILER
ERROR_QUIET ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)
@ -44,7 +49,7 @@ IF(NOT CMAKE_CXX_COMPILER)
ENDIF() ENDIF()
IF(NOT CMAKE_AR) IF(NOT CMAKE_AR)
execute_process(COMMAND xcrun -sdk $ENV{SDKROOT} -find ar execute_process(COMMAND xcrun -sdk ${SDKROOT} -find ar
OUTPUT_VARIABLE CMAKE_AR_val OUTPUT_VARIABLE CMAKE_AR_val
ERROR_QUIET ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)
@ -52,8 +57,17 @@ IF(NOT CMAKE_AR)
message(STATUS "Using ar ${CMAKE_AR}") message(STATUS "Using ar ${CMAKE_AR}")
ENDIF() ENDIF()
IF(NOT CMAKE_RANLIB)
execute_process(COMMAND xcrun -sdk ${SDKROOT} -find ranlib
OUTPUT_VARIABLE CMAKE_RANLIB_val
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
SET(CMAKE_RANLIB ${CMAKE_RANLIB_val} CACHE FILEPATH "Ranlib")
message(STATUS "Using ranlib ${CMAKE_RANLIB}")
ENDIF()
IF (NOT DEFINED IOS_MIN_TARGET) IF (NOT DEFINED IOS_MIN_TARGET)
execute_process(COMMAND xcodebuild -sdk $ENV{SDKROOT} -version SDKVersion execute_process(COMMAND xcodebuild -sdk ${SDKROOT} -version SDKVersion
OUTPUT_VARIABLE IOS_MIN_TARGET OUTPUT_VARIABLE IOS_MIN_TARGET
ERROR_QUIET ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)