More documentation may be found at the FreeRDP Compilation wiki.
Requirements
- CMake >= 3.13
- Xcode >= 4.6 (latest version recommended)
- An iOS Developer Certificate and Provisioning Profile for code signing — not required for simulator builds
- Pre-built static OpenSSL libraries (see below)
Building OpenSSL
FreeRDP requires OpenSSL, which is not part of the iOS SDK and must be built separately. The repository ships a convenience script. Run it from the FreeRDP root directory:external/openssl/ by default. To use a different directory pass it as the first argument:
libcrypto.a and libssl.a) covering arm64 (device) and i386 (simulator) targets.
If you build OpenSSL yourself or with a custom install directory, set
FREERDP_IOS_EXTERNAL_SSL_PATH when running CMake to point to the root of the pre-built libraries.SDK version control
The script uses the oldest iOS/iPhoneSimulator SDK found on the build machine by default. You can override this with environment variables before running the script:| Variable | Description |
|---|---|
SDK_VERSION | The specific SDK version to build against. |
MIN_SDK_VERSION | The minimum SDK version to target. |
Build
CMake variables
| Variable | Description |
|---|---|
CMAKE_TOOLCHAIN_FILE | Must be set to cmake/ios.toolchain.cmake. |
IOS_PLATFORM | OS (default) for physical devices (armv7, armv7s); SIMULATOR for the iOS Simulator (i386). |
CMAKE_IOS_DEVELOPER_ROOT | Absolute path to the iOS developer platform. Auto-detected from IOS_PLATFORM by the toolchain file. |
CMAKE_IOS_SDK_ROOT | Absolute path to the iOS SDK. Auto-detected from IOS_PLATFORM by the toolchain file. |
FREERDP_IOS_EXTERNAL_SSL_PATH | Absolute root path to the pre-built static OpenSSL libraries. |
CODE_SIGN_IDENTITY | Identity to sign the code with (e.g. iPhone Developer: Your Name). |
CI preload configuration
The repository shipsci/cmake-preloads/config-ios.txt with the settings used in CI:
Switching between device and simulator
Output location
Xcode builds the application into its derived data location by default (usually~/Library/Developer/...). To specify a custom output directory, add CONFIGURATION_BUILD_DIR=<path> to the xcodebuild command:
