fgmeta/build_release_linux.sh

93 lines
2.5 KiB
Bash
Raw Normal View History

2011-01-08 06:38:39 +08:00
#!/bin/sh
2011-01-10 06:49:52 +08:00
if [ "$WORKSPACE" == "" ]; then
echo "ERROR: Missing WORKSPACE environment variable."
exit 1
fi
2020-09-17 00:21:46 +08:00
cmakeGenerator=Ninja
cmakeCommonArgs="-DCMAKE_INSTALL_PREFIX:PATH=$WORKSPACE/dist -DCMAKE_BUILD_TYPE=RelWithDebInfo"
VERSION=`cat flightgear/flightgear-version`
#####################################################################################
# ensure fgrcc can run when linked against libSimGearCore, for example
export LD_LIBRARY_PATH=$WORKSPACE/dist/lib64:$WORKSPACE/dist/lib:$LD_LIBRARY_PATH
#####################################################################################
# remove old and create fresh build directories
cd $WORKSPACE
mkdir -p sgBuild
mkdir -p fgBuild
mkdir -p output
rm -rf output/*
#####################################################################################
echo "Starting on SimGear"
cd sgBuild
2020-09-17 00:21:46 +08:00
cmake -G $cmakeGenerator $cmakeCommonArgs ../simgear
# compile
2020-09-17 00:21:46 +08:00
ninja
2011-01-10 06:49:52 +08:00
if [ $? -ne '0' ]; then
echo "make simgear failed"
exit 1
fi
2020-09-17 00:21:46 +08:00
ninja install
2011-01-10 06:49:52 +08:00
# build source package and copy to output
2020-09-17 00:21:46 +08:00
ninja package_source
cp simgear-*.tar.bz2 ../output/.
#####################################################################################
2011-01-10 06:49:52 +08:00
echo "Starting on FlightGear"
cd ../fgBuild
2020-09-17 00:21:46 +08:00
cmake -G $cmakeGenerator $cmakeCommonArgs -DENABLE_SWIFT:BOOL=ON -DFG_BUILD_TYPE=Release ../flightgear
# compile
2020-09-17 00:21:46 +08:00
ninja
2011-01-10 06:49:52 +08:00
if [ $? -ne '0' ]; then
echo "make flightgear failed"
exit 1
fi
2020-09-17 00:21:46 +08:00
ninja install
# build source package and copy to output
2020-09-17 00:21:46 +08:00
ninja package_source
cp flightgear-*.tar.bz2 ../output/.
#####################################################################################
2020-09-23 01:24:15 +08:00
if which sentry-cli >/dev/null; then
echo "Uploading symbols"
export SENTRY_ORG=flightgear
export SENTRY_PROJECT=flightgear
# set in the Jenkins environment for the builder
# export SENTRY_AUTH_TOKEN=YOUR_AUTH_TOKEN
ERROR=$(sentry-cli upload-dif --include-sources "$WORKSPACE/dist/bin/fgfs" 2>&1 >/dev/null)
if [ ! $? -eq 0 ]; then
echo "warning: sentry-cli - $ERROR"
fi
else
echo "warning: sentry-cli not installed, download from https://github.com/getsentry/sentry-cli/releases"
fi
# now we uploaded symnbols, strip the binaries
strip --strip-debug $WORKSPACE/dist/bin/fgfs
strip --strip-debug $WORKSPACE/dist/bin/fgviewer
strip --strip-debug $WORKSPACE/dist/bin/fgjs
2020-09-23 01:24:15 +08:00
#####################################################################################
echo "Assembling base package"
cd $WORKSPACE
tar cjf output/FlightGear-$VERSION-data.tar.bz2 fgdata/