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