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 @@
@@ -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