87 lines
2.3 KiB
Bash
Executable File
87 lines
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ "$WORKSPACE" == "" ]; then
|
|
echo "ERROR: Missing WORKSPACE environment variable."
|
|
exit 1
|
|
fi
|
|
|
|
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
|
|
cmake -G $cmakeGenerator $cmakeCommonArgs ../simgear
|
|
|
|
# compile
|
|
ninja
|
|
|
|
if [ $? -ne '0' ]; then
|
|
echo "make simgear failed"
|
|
exit 1
|
|
fi
|
|
|
|
ninja install
|
|
|
|
# build source package and copy to output
|
|
ninja package_source
|
|
cp simgear-*.tar.bz2 ../output/.
|
|
|
|
#####################################################################################
|
|
echo "Starting on FlightGear"
|
|
cd ../fgBuild
|
|
cmake -G $cmakeGenerator $cmakeCommonArgs -DENABLE_SWIFT:BOOL=ON -DFG_BUILD_TYPE=Release ../flightgear
|
|
|
|
# compile
|
|
ninja
|
|
|
|
if [ $? -ne '0' ]; then
|
|
echo "make flightgear failed"
|
|
exit 1
|
|
fi
|
|
|
|
ninja install
|
|
|
|
# build source package and copy to output
|
|
ninja package_source
|
|
cp flightgear-*.tar.bz2 ../output/.
|
|
|
|
#####################################################################################
|
|
|
|
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
|
|
|