|
|
|
@ -36,8 +36,8 @@ BUILD_CONCURRENCY= |
|
|
|
OSNAME=$(uname | tr '[A-Z]' '[a-z]') |
|
|
|
OSNAME=$(uname | tr '[A-Z]' '[a-z]') |
|
|
|
BUILD_TMP=$(pwd)/tmp |
|
|
|
BUILD_TMP=$(pwd)/tmp |
|
|
|
ANDROID_PROJ_DIR=$(pwd)/ports/android |
|
|
|
ANDROID_PROJ_DIR=$(pwd)/ports/android |
|
|
|
XCODE_IOS_ARM64_PROJ_DIR=$(pwd)/ports/xcode_ios-arm64 |
|
|
|
XCODE_IOS_PROJ_DIR=$(pwd)/ports/xcode_ios |
|
|
|
#XCODE_IOS_ARMV7_PROJ_DIR=$(pwd)/ports/xcode_ios-armv7 |
|
|
|
XCODE_IOS_SIMULATOR_PROJ_DIR=$(pwd)/ports/xcode_ios_simulator |
|
|
|
XCODE_MACOS_PROJ_DIR=$(pwd)/ports/xcode_macos |
|
|
|
XCODE_MACOS_PROJ_DIR=$(pwd)/ports/xcode_macos |
|
|
|
|
|
|
|
|
|
|
|
# Generates projects if needed |
|
|
|
# Generates projects if needed |
|
|
|
@ -49,23 +49,24 @@ generate_projects() |
|
|
|
echo "Executing task: " ${FUNCNAME[ 0 ]} "(" $1 ")" |
|
|
|
echo "Executing task: " ${FUNCNAME[ 0 ]} "(" $1 ")" |
|
|
|
if [[ $OSNAME = *"darwin"* ]]; then |
|
|
|
if [[ $OSNAME = *"darwin"* ]]; then |
|
|
|
# iOS (SDK 11+, 64-bit only, arm64) |
|
|
|
# iOS (SDK 11+, 64-bit only, arm64) |
|
|
|
if [ ! -d "$XCODE_IOS_ARM64_PROJ_DIR" ]; then |
|
|
|
if [ ! -d "$XCODE_IOS_PROJ_DIR" ]; then |
|
|
|
mkdir -p $XCODE_IOS_ARM64_PROJ_DIR |
|
|
|
mkdir -p $XCODE_IOS_PROJ_DIR |
|
|
|
cd $XCODE_IOS_ARM64_PROJ_DIR |
|
|
|
cd $XCODE_IOS_PROJ_DIR |
|
|
|
cmake -G Xcode ../../ -DIOS_FRAMEWORK=1 -DIOS_ARM64=1 |
|
|
|
cmake -G Xcode ../../ -DIOS_FRAMEWORK=1 -DIOS_ARM64=1 |
|
|
|
# Manually replace arch strings in project file |
|
|
|
# Manually replace arch strings in project file |
|
|
|
sed -i '' 's/x86_64/$(CURRENT_ARCH)/g' zt.xcodeproj/project.pbxproj |
|
|
|
sed -i '' 's/x86_64/$(CURRENT_ARCH)/g' zt.xcodeproj/project.pbxproj |
|
|
|
cd - |
|
|
|
cd - |
|
|
|
fi |
|
|
|
fi |
|
|
|
# iOS (SDK <11, 32-bit only, armv7, armv7s) |
|
|
|
|
|
|
|
#if [ ! -d "$XCODE_IOS_ARMV7_PROJ_DIR" ]; then |
|
|
|
if [ ! -d "$XCODE_IOS_SIMULATOR_PROJ_DIR" ]; then |
|
|
|
# mkdir -p $XCODE_IOS_ARMV7_PROJ_DIR |
|
|
|
mkdir -p $XCODE_IOS_SIMULATOR_PROJ_DIR |
|
|
|
# cd $XCODE_IOS_ARMV7_PROJ_DIR |
|
|
|
cd $XCODE_IOS_SIMULATOR_PROJ_DIR |
|
|
|
# cmake -G Xcode ../../ -DIOS_FRAMEWORK=1 -DIOS_ARMV7=1 |
|
|
|
cmake -G Xcode ../../ -DIOS_FRAMEWORK=1 |
|
|
|
# Manually replace arch strings in project file |
|
|
|
# Manually replace arch strings in project file |
|
|
|
# sed -i '' 's/x86_64/$(CURRENT_ARCH)/g' zt.xcodeproj/project.pbxproj |
|
|
|
#sed -i '' 's/x86_64/$(CURRENT_ARCH)/g' zt.xcodeproj/project.pbxproj |
|
|
|
# cd - |
|
|
|
cd - |
|
|
|
#fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
# macOS |
|
|
|
# macOS |
|
|
|
if [ ! -d "$XCODE_MACOS_PROJ_DIR" ]; then |
|
|
|
if [ ! -d "$XCODE_MACOS_PROJ_DIR" ]; then |
|
|
|
mkdir -p $XCODE_MACOS_PROJ_DIR |
|
|
|
mkdir -p $XCODE_MACOS_PROJ_DIR |
|
|
|
@ -86,27 +87,29 @@ ios() |
|
|
|
echo "Executing task: " ${FUNCNAME[ 0 ]} "(" $1 ")" |
|
|
|
echo "Executing task: " ${FUNCNAME[ 0 ]} "(" $1 ")" |
|
|
|
UPPERCASE_CONFIG="$(tr '[:lower:]' '[:upper:]' <<< ${1:0:1})${1:1}" |
|
|
|
UPPERCASE_CONFIG="$(tr '[:lower:]' '[:upper:]' <<< ${1:0:1})${1:1}" |
|
|
|
|
|
|
|
|
|
|
|
# 64-bit |
|
|
|
cd $XCODE_IOS_PROJ_DIR |
|
|
|
cd $XCODE_IOS_ARM64_PROJ_DIR |
|
|
|
|
|
|
|
# Framework |
|
|
|
# Framework |
|
|
|
xcodebuild -arch arm64 -target zt -configuration "$UPPERCASE_CONFIG" -sdk "iphoneos" |
|
|
|
xcodebuild -arch arm64 -target zt -configuration "$UPPERCASE_CONFIG" -sdk "iphoneos" |
|
|
|
cd - |
|
|
|
cd - |
|
|
|
OUTPUT_DIR=$(pwd)/lib/$1/ios-arm64 |
|
|
|
IOS_OUTPUT_DIR=$(pwd)/lib/$1/ios |
|
|
|
mkdir -p $OUTPUT_DIR |
|
|
|
mkdir -p $IOS_OUTPUT_DIR |
|
|
|
rm -rf $OUTPUT_DIR/zt.framework # Remove prior to move to prevent error |
|
|
|
rm -rf $IOS_OUTPUT_DIR/zt.framework # Remove prior to move to prevent error |
|
|
|
mv $XCODE_IOS_ARM64_PROJ_DIR/$UPPERCASE_CONFIG-iphoneos/* $OUTPUT_DIR |
|
|
|
mv $XCODE_IOS_PROJ_DIR/$UPPERCASE_CONFIG-iphoneos/* $IOS_OUTPUT_DIR |
|
|
|
|
|
|
|
|
|
|
|
# 32-bit |
|
|
|
cd $XCODE_IOS_SIMULATOR_PROJ_DIR |
|
|
|
#cd $XCODE_IOS_ARMV7_PROJ_DIR |
|
|
|
|
|
|
|
# Framework |
|
|
|
# Framework |
|
|
|
#xcodebuild -target zt -configuration "$UPPERCASE_CONFIG" -sdk "iphoneos10.0" |
|
|
|
xcodebuild -target zt -configuration "$UPPERCASE_CONFIG" -sdk "iphonesimulator" |
|
|
|
# Manually replace arch strings in project file |
|
|
|
cd - |
|
|
|
#sed -i '' 's/x86_64/$(CURRENT_ARCH)/g' zt.xcodeproj/project.pbxproj |
|
|
|
SIMULATOR_OUTPUT_DIR=$(pwd)/lib/$1/ios-simulator |
|
|
|
#cd - |
|
|
|
mkdir -p $SIMULATOR_OUTPUT_DIR |
|
|
|
#OUTPUT_DIR=$(pwd)/lib/$1/ios-armv7 |
|
|
|
rm -rf $SIMULATOR_OUTPUT_DIR/zt.framework # Remove prior to move to prevent error |
|
|
|
#mkdir -p $OUTPUT_DIR |
|
|
|
mv $XCODE_IOS_SIMULATOR_PROJ_DIR/$UPPERCASE_CONFIG-iphonesimulator/* $SIMULATOR_OUTPUT_DIR |
|
|
|
#rm -rf $OUTPUT_DIR/* |
|
|
|
|
|
|
|
#mv $XCODE_IOS_ARMV7_PROJ_DIR/$UPPERCASE_CONFIG-iphoneos/* $OUTPUT_DIR |
|
|
|
# Combine the two archs |
|
|
|
|
|
|
|
lipo -create $IOS_OUTPUT_DIR/zt.framework/zt $SIMULATOR_OUTPUT_DIR/zt.framework/zt -output $IOS_OUTPUT_DIR/zt.framework/zt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Clean up |
|
|
|
|
|
|
|
rm -rf $SIMULATOR_OUTPUT_DIR |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
# Build framework for current host (macOS only) |
|
|
|
# Build framework for current host (macOS only) |
|
|
|
|