This repository has been archived on 2020-05-25. You can view files and clone it, but cannot push or open issues or pull requests.
tdlib-fork/example/ios/build.sh
Arseny Smirnov 1424b2037e Trying to add AppleTvOs support
GitOrigin-RevId: 923552a936613d5e30361bb354709337e8b0a990
2018-02-15 00:01:28 +03:00

75 lines
2.4 KiB
Bash
Executable File

#/bin/sh
td_path=$(realpath ../..)
rm -rf build
mkdir -p build
cd build
platforms="macOS iOS watchOS tvOS"
for platform in $platforms;
do
echo "Platform = ${platform} Simulator = ${simulator}"
openssl_path=$(realpath ../third_party/openssl/${platform})
echo $openssl_path
options="$options -DOPENSSL_FOUND=1"
options="$options -DOPENSSL_CRYPTO_LIBRARY=${openssl_path}/lib/libcrypto.a"
#options="$options -DOPENSSL_SSL_LIBRARY=${openssl_path}/lib/libssl.a"
options="$options -DOPENSSL_INCLUDE_DIR=${openssl_path}/include"
options="$options -DOPENSSL_LIBRARIES=${openssl_path}/lib/libcrypto.a;${openssl_path}/lib/libssl.a"
options="$options -DCMAKE_BUILD_TYPE=Release"
if [[ $platform = "macOS" ]]; then
build="build-${platform}"
install="install-${platform}"
rm -rf $build
mkdir -p $build
mkdir -p $install
cd $build
cmake $td_path $options -DCMAKE_INSTALL_PREFIX=../${install}
make -j3 install || exit
cd ..
mkdir -p $platform
cp $build/libtdjson.dylib $platform/libtdjson.dylib
install_name_tool -id @rpath/libtdjson.dylib $platform/libtdjson.dylib
else
simulators="0 1"
for simulator in $simulators;
do
build="build-${platform}"
install="install-${platform}"
if [[ $simulator = "1" ]]; then
build="${build}-simulator"
install="${install}-simulator"
ios_platform="SIMULATOR"
else
ios_platform="OS"
fi
if [[ $platform = "watchOS" ]]; then
ios_platform="WATCH${ios_platform}"
fi
if [[ $platform = "tvOS" ]]; then
ios_platform="TV${ios_platform}"
fi
echo $ios_platform
rm -rf $build
mkdir -p $build
mkdir -p $install
cd $build
echo "A"
cmake $td_path $options -DIOS_PLATFORM=${ios_platform} -DCMAKE_TOOLCHAIN_FILE=${td_path}/CMake/iOS.cmake -DCMAKE_INSTALL_PREFIX=../${install}
echo "B"
make -j3 install || exit
cd ..
done
lib="install-${platform}/lib/libtdjson.dylib"
lib_simulator="install-${platform}-simulator/lib/libtdjson.dylib"
mkdir -p $platform
lipo -create $lib $lib_simulator -o $platform/libtdjson.dylib
install_name_tool -id @rpath/libtdjson.dylib $platform/libtdjson.dylib
fi
mkdir -p ../tdjson/$platform/include
rsync --recursive ${install}/include/ ../tdjson/${platform}/include/
mkdir -p ../tdjson/$platform/lib
cp $platform/libtdjson.dylib ../tdjson/$platform/lib/
done