OSDN Git Service

cmake: Simplify the iOS.cmake toolchain
authorJustin Bogner <mail@justinbogner.com>
Fri, 12 Feb 2016 23:36:05 +0000 (23:36 +0000)
committerJustin Bogner <mail@justinbogner.com>
Fri, 12 Feb 2016 23:36:05 +0000 (23:36 +0000)
- Remove a comment that was clearly copy pasted from Android.cmake and
  isn't relevant.
- Remove the toolchain's sensitivity to the environment. It's less
  error prone to just allow users to set CMAKE_OSX_SYSROOT if they
  want to use a custom SDK.
- Stop explicitly setting -mios-version-min to the default value. It
  just adds needless complexity.

This makes building the native tablegen work for me even when SDKROOT
is set in the environment (or passed in as -DCMAKE_OSX_SYSROOT).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260763 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/platforms/iOS.cmake

index 4914059..99692fd 100644 (file)
@@ -1,39 +1,26 @@
 # Toolchain config for iOS.
-#
-# Usage:
-# mkdir build; cd build
-# cmake ..; make
-# mkdir ios; cd ios
-# cmake -DLLVM_IOS_TOOLCHAIN_DIR=/path/to/ios/ndk \
-#   -DCMAKE_TOOLCHAIN_FILE=../../cmake/platforms/iOS.cmake ../..
-# make <target>
 
 SET(CMAKE_SYSTEM_NAME Darwin)
 SET(CMAKE_SYSTEM_VERSION 13)
 SET(CMAKE_CXX_COMPILER_WORKS True)
 SET(CMAKE_C_COMPILER_WORKS True)
-SET(DARWIN_TARGET_OS_NAME ios)
 
-IF(NOT DEFINED ENV{SDKROOT})
- execute_process(COMMAND xcodebuild -version -sdk iphoneos Path
-   OUTPUT_VARIABLE SDKROOT
-   ERROR_QUIET
-   OUTPUT_STRIP_TRAILING_WHITESPACE)
-ELSE()
-  execute_process(COMMAND xcodebuild -version -sdk $ENV{SDKROOT} Path
-   OUTPUT_VARIABLE SDKROOT
-   ERROR_QUIET
-   OUTPUT_STRIP_TRAILING_WHITESPACE)
-ENDIF()
+if(NOT CMAKE_OSX_SYSROOT)
+  execute_process(COMMAND xcodebuild -version -sdk iphoneos Path
+    OUTPUT_VARIABLE SDKROOT
+    ERROR_QUIET
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
 
-IF(NOT EXISTS ${SDKROOT})
-  MESSAGE(FATAL_ERROR "SDKROOT could not be detected!")
-ENDIF()
+  IF(NOT EXISTS ${SDKROOT})
+    MESSAGE(FATAL_ERROR "SDKROOT could not be detected!")
+  ENDIF()
 
-set(CMAKE_OSX_SYSROOT ${SDKROOT})
+  message(STATUS "Using SDKROOT ${SDKROOT}")
+  set(CMAKE_OSX_SYSROOT ${SDKROOT})
+endif()
 
 IF(NOT CMAKE_C_COMPILER)
-  execute_process(COMMAND xcrun -sdk ${SDKROOT} -find clang
+  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find clang
    OUTPUT_VARIABLE CMAKE_C_COMPILER
    ERROR_QUIET
    OUTPUT_STRIP_TRAILING_WHITESPACE)
@@ -41,7 +28,7 @@ IF(NOT CMAKE_C_COMPILER)
 ENDIF()
 
 IF(NOT CMAKE_CXX_COMPILER)
-  execute_process(COMMAND xcrun -sdk ${SDKROOT} -find clang++
+  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find clang++
    OUTPUT_VARIABLE CMAKE_CXX_COMPILER
    ERROR_QUIET
    OUTPUT_STRIP_TRAILING_WHITESPACE)
@@ -49,7 +36,7 @@ IF(NOT CMAKE_CXX_COMPILER)
 ENDIF()
 
 IF(NOT CMAKE_AR)
-  execute_process(COMMAND xcrun -sdk ${SDKROOT} -find ar
+  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find ar
    OUTPUT_VARIABLE CMAKE_AR_val
    ERROR_QUIET
    OUTPUT_STRIP_TRAILING_WHITESPACE)
@@ -58,22 +45,10 @@ IF(NOT CMAKE_AR)
 ENDIF()
 
 IF(NOT CMAKE_RANLIB)
-  execute_process(COMMAND xcrun -sdk ${SDKROOT} -find ranlib
+  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -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)
-execute_process(COMMAND xcodebuild -sdk ${SDKROOT} -version SDKVersion
-   OUTPUT_VARIABLE IOS_MIN_TARGET
-   ERROR_QUIET
-   OUTPUT_STRIP_TRAILING_WHITESPACE)
-ENDIF()
-
-SET(IOS_COMMON_FLAGS "-mios-version-min=${IOS_MIN_TARGET}")
-SET(CMAKE_C_FLAGS "${IOS_COMMON_FLAGS}" CACHE STRING "toolchain_cflags" FORCE)
-SET(CMAKE_CXX_FLAGS "${IOS_COMMON_FLAGS}" CACHE STRING "toolchain_cxxflags" FORCE)
-SET(CMAKE_LINK_FLAGS "${IOS_COMMON_FLAGS}" CACHE STRING "toolchain_linkflags" FORCE)