d919282894
GitOrigin-RevId: b67e96439e5e490280a87e5216bd7c7945f95a64
75 lines
2.5 KiB
Bash
Executable File
75 lines
2.5 KiB
Bash
Executable File
#!/bin/sh
|
|
td_path=$(grealpath ../..)
|
|
|
|
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=$(grealpath ../third_party/openssl/${platform})
|
|
echo "OpenSSL path = ${openssl_path}"
|
|
openssl_crypto_library="${openssl_path}/lib/libcrypto.a"
|
|
openssl_ssl_library="${openssl_path}/lib/libssl.a"
|
|
options="$options -DOPENSSL_FOUND=1"
|
|
options="$options -DOPENSSL_CRYPTO_LIBRARY=${openssl_crypto_library}"
|
|
options="$options -DOPENSSL_SSL_LIBRARY=${openssl_ssl_library}"
|
|
options="$options -DOPENSSL_INCLUDE_DIR=${openssl_path}/include"
|
|
options="$options -DOPENSSL_LIBRARIES=${openssl_crypto_library};${openssl_ssl_library}"
|
|
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
|
|
cmake $td_path $options -DIOS_PLATFORM=${ios_platform} -DCMAKE_TOOLCHAIN_FILE=${td_path}/CMake/iOS.cmake -DCMAKE_INSTALL_PREFIX=../${install}
|
|
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
|