1#
2# Toolchain for cross-compiling to iOS using Xcode
3#
4# Set CMAKE_OSX_ROOT to SDK you want to target and enable all desired
5# architectures in CMAKE_OSX_ARCHITECTURES.
6#
7#  mkdir build-ios && cd build-ios
8#  cmake .. \
9#       -DCMAKE_TOOLCHAIN_FILE=../toolchains/generic/iOS.cmake \
10#       -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk \
11#       -DCMAKE_OSX_ARCHITECTURES="arm64;armv7;armv7s" -G Xcode
12#
13
14# We just need to name the platform differently so CMAKE_CROSSCOMPILING is set
15set(CMAKE_SYSTEM_NAME "iOS")
16
17# Help CMake find the platform file
18set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/../modules)
19
20# Required to make CMake's test_compile stuff pass
21# https://cmake.org/Bug/view.php?id=15329
22set(CMAKE_MACOSX_BUNDLE ON)
23set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
24
25set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH}
26    ${CMAKE_OSX_SYSROOT}
27    ${CMAKE_OSX_SYSROOT}/../.. # XCTest framework is there, e.g.
28    ${CMAKE_PREFIX_PATH}
29    ${CMAKE_INSTALL_PREFIX})
30
31set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
32set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
33set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
34