mirror of https://github.com/PurpleI2P/i2pd.git
Solomenchuk, Vlad
8 years ago
2 changed files with 93 additions and 1 deletions
@ -0,0 +1,85 @@ |
|||||||
|
Building on iOS |
||||||
|
=================== |
||||||
|
|
||||||
|
How to build i2pd for iOS 9 and iOS Simulator 386/x64 |
||||||
|
|
||||||
|
Prerequisites |
||||||
|
-------------- |
||||||
|
|
||||||
|
XCode7+, cmake 3.2+ |
||||||
|
|
||||||
|
Dependencies |
||||||
|
-------------- |
||||||
|
- precompiled openssl |
||||||
|
- precompiled boost with modules `filesystem`, `program_options`, `date_time` and `system` |
||||||
|
- ios-cmake toolchain from https://github.com/vovasty/ios-cmake.git |
||||||
|
|
||||||
|
Building |
||||||
|
------------------------ |
||||||
|
Assume you have folder structure |
||||||
|
|
||||||
|
``` |
||||||
|
lib |
||||||
|
libboost_date_time.a |
||||||
|
libboost_filesystem.a |
||||||
|
libboost_program_options.a |
||||||
|
libboost_system.a |
||||||
|
libboost.a |
||||||
|
libcrypto.a |
||||||
|
libssl.a |
||||||
|
include |
||||||
|
boost |
||||||
|
openssl |
||||||
|
ios-cmake |
||||||
|
i2pd |
||||||
|
``` |
||||||
|
|
||||||
|
|
||||||
|
```bash |
||||||
|
mkdir -p build/simulator/lib build/ios/lib include/i2pd |
||||||
|
|
||||||
|
pushd build/simulator && \ |
||||||
|
cmake -DIOS_PLATFORM=SIMULATOR \ |
||||||
|
-DPATCH=/usr/bin/patch \ |
||||||
|
-DCMAKE_BUILD_TYPE=Release \ |
||||||
|
-DCMAKE_TOOLCHAIN_FILE=../../ios-cmake/toolchain/iOS.cmake \ |
||||||
|
-DWITH_STATIC=yes \ |
||||||
|
-DWITH_BINARY=no \ |
||||||
|
-DBoost_INCLUDE_DIR=../../include \ |
||||||
|
-DOPENSSL_INCLUDE_DIR=../../include \ |
||||||
|
-DBoost_LIBRARY_DIR=../../lib \ |
||||||
|
-DOPENSSL_SSL_LIBRARY=../../lib/libssl.a \ |
||||||
|
-DOPENSSL_CRYPTO_LIBRARY=../../lib/libcrypto.a \ |
||||||
|
../../i2pd/build && \ |
||||||
|
make -j16 VERBOSE=1 && \ |
||||||
|
popd |
||||||
|
|
||||||
|
pushd build/ios |
||||||
|
cmake -DIOS_PLATFORM=OS \ |
||||||
|
-DPATCH=/usr/bin/patch \ |
||||||
|
-DCMAKE_BUILD_TYPE=Release \ |
||||||
|
-DCMAKE_TOOLCHAIN_FILE=../../ios-cmake/toolchain/iOS.cmake \ |
||||||
|
-DWITH_STATIC=yes \ |
||||||
|
-DWITH_BINARY=no \ |
||||||
|
-DBoost_INCLUDE_DIR=../../include \ |
||||||
|
-DOPENSSL_INCLUDE_DIR=../../include \ |
||||||
|
-DBoost_LIBRARY_DIR=../../lib \ |
||||||
|
-DOPENSSL_SSL_LIBRARY=../../lib/libssl.a \ |
||||||
|
-DOPENSSL_CRYPTO_LIBRARY=../../lib/libcrypto.a \ |
||||||
|
../../i2pd/build && \ |
||||||
|
make -j16 VERBOSE=1 && \ |
||||||
|
popd |
||||||
|
|
||||||
|
libtool -static -o lib/libi2pdclient.a build/*/libi2pdclient.a |
||||||
|
libtool -static -o lib/libi2pd.a build/*/libi2pd.a |
||||||
|
|
||||||
|
cp i2pd/*.h include/i2pd |
||||||
|
``` |
||||||
|
|
||||||
|
Include into project |
||||||
|
--------------------------- |
||||||
|
1. add all libraries in `lib` folder to `Project linked frameworks`. |
||||||
|
2. add `libc++` and `libz` libraries from system libraries to `Project linked frameworks`. |
||||||
|
3. add path to i2p headers to your `Headers search paths` |
||||||
|
|
||||||
|
Alternatively you may use swift wrapper https://github.com/vovasty/SwiftyI2P.git |
Loading…
Reference in new issue