xref: /llvm-project/llvm/cmake/platforms/iOS.cmake (revision 506552351c0f5608c94874bb646a0d964dc2ccbb)
15007741dSChris Bieneman# Toolchain config for iOS.
25007741dSChris Bieneman
35007741dSChris BienemanSET(CMAKE_SYSTEM_NAME Darwin)
45007741dSChris BienemanSET(CMAKE_SYSTEM_VERSION 13)
55007741dSChris BienemanSET(CMAKE_CXX_COMPILER_WORKS True)
65007741dSChris BienemanSET(CMAKE_C_COMPILER_WORKS True)
7e43bffa7SChris BienemanSET(IOS True)
85007741dSChris Bieneman
976fbdeb7SJustin Bognerif(NOT CMAKE_OSX_SYSROOT)
103e15eedbSChris Bieneman  execute_process(COMMAND xcodebuild -version -sdk iphoneos Path
113e15eedbSChris Bieneman    OUTPUT_VARIABLE SDKROOT
123e15eedbSChris Bieneman    ERROR_QUIET
133e15eedbSChris Bieneman    OUTPUT_STRIP_TRAILING_WHITESPACE)
14f170d7edSChris Bieneman
153e15eedbSChris Bieneman  IF(NOT EXISTS ${SDKROOT})
163e15eedbSChris Bieneman    MESSAGE(FATAL_ERROR "SDKROOT could not be detected!")
173e15eedbSChris Bieneman  ENDIF()
183e15eedbSChris Bieneman
1976fbdeb7SJustin Bogner  message(STATUS "Using SDKROOT ${SDKROOT}")
203e15eedbSChris Bieneman  set(CMAKE_OSX_SYSROOT ${SDKROOT})
2176fbdeb7SJustin Bognerendif()
223e15eedbSChris Bieneman
235007741dSChris BienemanIF(NOT CMAKE_C_COMPILER)
2476fbdeb7SJustin Bogner  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find clang
255007741dSChris Bieneman   OUTPUT_VARIABLE CMAKE_C_COMPILER
265007741dSChris Bieneman   ERROR_QUIET
275007741dSChris Bieneman   OUTPUT_STRIP_TRAILING_WHITESPACE)
28*50655235SLouis Dionne  message(STATUS "Using C compiler ${CMAKE_C_COMPILER}")
295007741dSChris BienemanENDIF()
305007741dSChris Bieneman
315007741dSChris BienemanIF(NOT CMAKE_CXX_COMPILER)
3276fbdeb7SJustin Bogner  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find clang++
335007741dSChris Bieneman   OUTPUT_VARIABLE CMAKE_CXX_COMPILER
345007741dSChris Bieneman   ERROR_QUIET
355007741dSChris Bieneman   OUTPUT_STRIP_TRAILING_WHITESPACE)
36*50655235SLouis Dionne  message(STATUS "Using C++ compiler ${CMAKE_CXX_COMPILER}")
375007741dSChris BienemanENDIF()
385007741dSChris Bieneman
39f170d7edSChris BienemanIF(NOT CMAKE_AR)
4076fbdeb7SJustin Bogner  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find ar
41f170d7edSChris Bieneman   OUTPUT_VARIABLE CMAKE_AR_val
42f170d7edSChris Bieneman   ERROR_QUIET
43f170d7edSChris Bieneman   OUTPUT_STRIP_TRAILING_WHITESPACE)
44f170d7edSChris Bieneman  SET(CMAKE_AR ${CMAKE_AR_val} CACHE FILEPATH "Archiver")
45f170d7edSChris Bieneman  message(STATUS "Using ar ${CMAKE_AR}")
46f170d7edSChris BienemanENDIF()
47f170d7edSChris Bieneman
483e15eedbSChris BienemanIF(NOT CMAKE_RANLIB)
4976fbdeb7SJustin Bogner  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find ranlib
503e15eedbSChris Bieneman   OUTPUT_VARIABLE CMAKE_RANLIB_val
513e15eedbSChris Bieneman   ERROR_QUIET
523e15eedbSChris Bieneman   OUTPUT_STRIP_TRAILING_WHITESPACE)
533e15eedbSChris Bieneman  SET(CMAKE_RANLIB ${CMAKE_RANLIB_val} CACHE FILEPATH "Ranlib")
543e15eedbSChris Bieneman  message(STATUS "Using ranlib ${CMAKE_RANLIB}")
553e15eedbSChris BienemanENDIF()
56ca12bbb8SJustin Bogner
57ca12bbb8SJustin BognerIF(NOT CMAKE_STRIP)
58ca12bbb8SJustin Bogner  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find strip
59ca12bbb8SJustin Bogner   OUTPUT_VARIABLE CMAKE_STRIP_val
60ca12bbb8SJustin Bogner   ERROR_QUIET
61ca12bbb8SJustin Bogner   OUTPUT_STRIP_TRAILING_WHITESPACE)
62ca12bbb8SJustin Bogner  SET(CMAKE_STRIP ${CMAKE_STRIP_val} CACHE FILEPATH "Strip")
63ca12bbb8SJustin Bogner  message(STATUS "Using strip ${CMAKE_STRIP}")
64ca12bbb8SJustin BognerENDIF()
65ca12bbb8SJustin Bogner
66ca12bbb8SJustin BognerIF(NOT CMAKE_DSYMUTIL)
67ca12bbb8SJustin Bogner  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find dsymutil
68ca12bbb8SJustin Bogner   OUTPUT_VARIABLE CMAKE_DSYMUTIL_val
69ca12bbb8SJustin Bogner   ERROR_QUIET
70ca12bbb8SJustin Bogner   OUTPUT_STRIP_TRAILING_WHITESPACE)
71ca12bbb8SJustin Bogner  SET(CMAKE_DSYMUTIL ${CMAKE_DSYMUTIL_val} CACHE FILEPATH "Dsymutil")
72ca12bbb8SJustin Bogner  message(STATUS "Using dsymutil ${CMAKE_DSYMUTIL}")
73ca12bbb8SJustin BognerENDIF()
74ca12bbb8SJustin Bogner
75ca12bbb8SJustin BognerIF(NOT CMAKE_LIBTOOL)
76ca12bbb8SJustin Bogner  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find libtool
77ca12bbb8SJustin Bogner   OUTPUT_VARIABLE CMAKE_LIBTOOL_val
78ca12bbb8SJustin Bogner   ERROR_QUIET
79ca12bbb8SJustin Bogner   OUTPUT_STRIP_TRAILING_WHITESPACE)
80ca12bbb8SJustin Bogner  SET(CMAKE_LIBTOOL ${CMAKE_LIBTOOL_val} CACHE FILEPATH "Libtool")
81ca12bbb8SJustin Bogner  message(STATUS "Using libtool ${CMAKE_LIBTOOL}")
82ca12bbb8SJustin BognerENDIF()
838fa26084SJustin Bogner
848fa26084SJustin BognerIF(NOT CMAKE_CODESIGN)
858fa26084SJustin Bogner  execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find codesign
868fa26084SJustin Bogner   OUTPUT_VARIABLE CMAKE_CODESIGN_val
878fa26084SJustin Bogner   ERROR_QUIET
888fa26084SJustin Bogner   OUTPUT_STRIP_TRAILING_WHITESPACE)
898fa26084SJustin Bogner  SET(CMAKE_CODESIGN ${CMAKE_CODESIGN_val} CACHE FILEPATH "Codesign")
908fa26084SJustin Bogner  message(STATUS "Using codesign ${CMAKE_CODESIGN}")
918fa26084SJustin BognerENDIF()
928fa26084SJustin Bogner
938fa26084SJustin BognerIF(NOT CMAKE_CODESIGN_ALLOCATE)
948fa26084SJustin Bogner  execute_process(
958fa26084SJustin Bogner    COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT} -find codesign_allocate
968fa26084SJustin Bogner    OUTPUT_VARIABLE CMAKE_CODESIGN_ALLOCATE_val
978fa26084SJustin Bogner    ERROR_QUIET
988fa26084SJustin Bogner    OUTPUT_STRIP_TRAILING_WHITESPACE)
998fa26084SJustin Bogner  SET(CMAKE_CODESIGN_ALLOCATE ${CMAKE_CODESIGN_ALLOCATE_val} CACHE
1008fa26084SJustin Bogner      FILEPATH "Codesign_Allocate")
1018fa26084SJustin Bogner  message(STATUS "Using codesign_allocate ${CMAKE_CODESIGN_ALLOCATE}")
1028fa26084SJustin BognerENDIF()
103