| 1 | #!/bin/sh |
| 2 | |
| 3 | . ./config.sh |
| 4 | |
| 5 | ZANO_URL="https://github.com/hyle-team/zano.git" |
| 6 | ZANO_DIR_PATH="${EXTERNAL_IOS_SOURCE_DIR}/zano" |
| 7 | ZANO_VERSION=fde28efdc5d7efe8741dcb0e62ea0aebc805a373 |
| 8 | |
| 9 | |
| 10 | IOS_TOOLCHAIN_DIR_PATH="${EXTERNAL_IOS_SOURCE_DIR}/ios_toolchain" |
| 11 | IOS_TOOLCHAIN_URL="https://github.com/leetal/ios-cmake.git" |
| 12 | IOS_TOOLCHAIN_VERSION=06465b27698424cf4a04a5ca4904d50a3c966c45 |
| 13 | |
| 14 | export NO_DEFAULT_PATH |
| 15 | |
| 16 | BUILD_TYPE=release |
| 17 | PREFIX=${EXTERNAL_IOS_DIR} |
| 18 | DEST_LIB_DIR=${EXTERNAL_IOS_LIB_DIR}/zano |
| 19 | DEST_INCLUDE_DIR=${EXTERNAL_IOS_INCLUDE_DIR}/zano |
| 20 | |
| 21 | ZANO_MOBILE_IOS_BUILD_FOLDER_ARM64="${ZANO_DIR_PATH}/build" |
| 22 | ZANO_MOBILE_IOS_INSTALL_FOLDER_ARM64="${ZANO_DIR_PATH}/install" |
| 23 | |
| 24 | echo "ZANO_URL: $ZANO_URL" |
| 25 | echo "IOS_TOOLCHAIN_DIR_PATH: $IOS_TOOLCHAIN_DIR_PATH" |
| 26 | echo "ZANO_MOBILE_IOS_BUILD_FOLDER_ARM64: $ZANO_MOBILE_IOS_BUILD_FOLDER_ARM64" |
| 27 | echo "ZANO_MOBILE_IOS_INSTALL_FOLDER_ARM64: $ZANO_MOBILE_IOS_INSTALL_FOLDER_ARM64" |
| 28 | echo "PREFIX: $PREFIX" |
| 29 | echo "DEST_LIB_DIR: $DEST_LIB_DIR" |
| 30 | echo "DEST_INCLUDE_DIR: $DEST_INCLUDE_DIR" |
| 31 | echo "ZANO_DIR_PATH: $ZANO_DIR_PATH" |
| 32 | |
| 33 | echo "Cloning ios_toolchain from - $IOS_TOOLCHAIN_URL to - $IOS_TOOLCHAIN_DIR_PATH" |
| 34 | git clone $IOS_TOOLCHAIN_URL $IOS_TOOLCHAIN_DIR_PATH |
| 35 | cd $IOS_TOOLCHAIN_DIR_PATH |
| 36 | git checkout $IOS_TOOLCHAIN_VERSION |
| 37 | git submodule update --init --force |
| 38 | cd .. |
| 39 | |
| 40 | echo "Cloning zano from - $ZANO_URL to - $ZANO_DIR_PATH" |
| 41 | git clone $ZANO_URL $ZANO_DIR_PATH |
| 42 | cd $ZANO_DIR_PATH |
| 43 | git fetch origin |
| 44 | if [ $? -ne 0 ]; then |
| 45 | echo "Failed to perform command" |
| 46 | exit 1 |
| 47 | fi |
| 48 | git checkout $ZANO_VERSION |
| 49 | if [ $? -ne 0 ]; then |
| 50 | echo "Failed to perform command" |
| 51 | exit 1 |
| 52 | fi |
| 53 | git submodule update --init --force |
| 54 | if [ $? -ne 0 ]; then |
| 55 | echo "Failed to perform command" |
| 56 | exit 1 |
| 57 | fi |
| 58 | mkdir -p build |
| 59 | cd .. |
| 60 | |
| 61 | |
| 62 | export CMAKE_INCLUDE_PATH="${PREFIX}/include" |
| 63 | export CMAKE_LIBRARY_PATH="${PREFIX}/lib" |
| 64 | |
| 65 | |
| 66 | rm -rf ${ZANO_MOBILE_IOS_BUILD_FOLDER_ARM64} > /dev/null |
| 67 | rm -rf ${ZANO_MOBILE_IOS_INSTALL_FOLDER_ARM64} > /dev/null |
| 68 | |
| 69 | echo "CMAKE_INCLUDE_PATH: $CMAKE_INCLUDE_PATH" |
| 70 | echo "CMAKE_LIBRARY_PATH: $CMAKE_LIBRARY_PATH" |
| 71 | echo "ROOT_DIR: $ROOT_DIR" |
| 72 | |
| 73 | |
| 74 | cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ |
| 75 | -DCMAKE_TOOLCHAIN_FILE="${IOS_TOOLCHAIN_DIR_PATH}/ios.toolchain.cmake" \ |
| 76 | -DPLATFORM=OS64 \ |
| 77 | -S"${ZANO_DIR_PATH}" \ |
| 78 | -B"${ZANO_MOBILE_IOS_BUILD_FOLDER_ARM64}" \ |
| 79 | -GXcode \ |
| 80 | -DCAKEWALLET=TRUE \ |
| 81 | -DSKIP_BOOST_FATLIB_LIB=TRUE \ |
| 82 | -DCMAKE_SYSTEM_NAME=iOS \ |
| 83 | -DCMAKE_INSTALL_PREFIX="${ZANO_MOBILE_IOS_INSTALL_FOLDER_ARM64}" \ |
| 84 | -DCMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH=NO \ |
| 85 | -DCMAKE_CXX_FLAGS="-Wno-enum-constexpr-conversion" \ |
| 86 | -DDISABLE_TOR=TRUE |
| 87 | |
| 88 | # -DCMAKE_OSX_ARCHITECTURES="arm64" |
| 89 | # -DCMAKE_IOS_INSTALL_COMBINED=YES |
| 90 | |
| 91 | if [ $? -ne 0 ]; then |
| 92 | echo "Failed to perform command" |
| 93 | exit 1 |
| 94 | fi |
| 95 | |
| 96 | cmake --build "${ZANO_MOBILE_IOS_BUILD_FOLDER_ARM64}" --config $BUILD_TYPE --target install -- -j 4 |
| 97 | if [ $? -ne 0 ]; then |
| 98 | echo "Failed to perform command" |
| 99 | exit 1 |
| 100 | fi |
| 101 | |
| 102 | mkdir -p $DEST_LIB_DIR |
| 103 | mkdir -p $DEST_INCLUDE_DIR |
| 104 | |
| 105 | cp ${ZANO_MOBILE_IOS_INSTALL_FOLDER_ARM64}/lib/* $DEST_LIB_DIR |
| 106 | cp ${ZANO_DIR_PATH}/src/wallet/plain_wallet_api.h $DEST_INCLUDE_DIR |