74 lines
1.5 KiB
Bash
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
|
|
|