Files
UnrealEngine/Engine/Source/ThirdParty/GoogleTest/build/Mac/build-mac.sh
2025-05-18 13:04:45 +08:00

74 lines
1.5 KiB
Bash

#!/bin/sh
# Prerequisites:
# xcode
# cmake 3.5
#####################
# configuration
CONFIG=MinSizeRel
if [ -n "$1" ]
then
CONFIG=$1
fi
GTEST_SDK=$(pwd)/../google-test-source
OUTPUT_LIBS=$(pwd)/../../lib/Mac/$CONFIG
OUTPUT_DIR=$(pwd)/Artifacts_$CONFIG
SHAREDLIBS=OFF
if [ "$2" = "Shared" ]; then
SHAREDLIBS=ON
OUTPUT_LIBS=$(pwd)/../../lib/Mac/${CONFIG}_Shared
OUTPUT_DIR=$(pwd)/Artifacts_${CONFIG}_Shared
fi
echo "$OUTPUT_LIBS"
#####################
# create output directories
mkdir -p $OUTPUT_DIR
mkdir -p $OUTPUT_LIBS
#####################
# unpack source if needed
if [ ! -d "$GTEST_SDK" ]; then
pushd $(pwd)/../
bash uncompress_and_patch.sh googletest-release-*.zip
popd
fi
#####################
# config cmake project
pushd $OUTPUT_DIR
cmake -D BUILD_SHARED_LIBS:BOOL=$SHAREDLIBS -D CMAKE_OSX_DEPLOYMENT_TARGET=10.9 -G Xcode $GTEST_SDK
popd
#####################
# compile project
pushd $OUTPUT_DIR
xcodebuild -target ALL_BUILD -configuration $CONFIG
popd
#####################
# remove existing binaries
rm -rfv $OUTPUT_LIBS/*
#####################
# copy new binaries
cp $OUTPUT_DIR/lib/$CONFIG/* ${OUTPUT_LIBS}
#####################
# update embedded shared library location
if [ $SHAREDLIBS = ON ]; then
install_name_tool -id @rpath/libgmock_main.dylib $OUTPUT_LIBS/libgmock_main.dylib
install_name_tool -id @rpath/libgmock.dylib $OUTPUT_LIBS/libgmock.dylib
install_name_tool -id @rpath/libgtest_main.dylib $OUTPUT_LIBS/libgtest_main.dylib
install_name_tool -id @rpath/libgtest.dylib $OUTPUT_LIBS/libgtest.dylib
fi