Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #* Written by Francesco Angelo Brisa, started January 2008.
- #
- # Copyright (C) 2013 Francesco Angelo Brisa
- # email: fbrisa@gmail.com - fbrisa@yahoo.it
- #
- # This program is free software: you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation, either version 3 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
- VERSION="2.28-OSG-GIT"
- #######################################################
- # THANKS TO
- #######################################################
- # Special thanks to Alessandro Garosi for FGComGui and
- # other patches
- # Thanks to "Pat Callahan" for patches for fgrun compilation
- # Thanks to "F-JJTH" for bug fixes and suggestions
- # Thanks again to "F-JJTH" for OpenRTI and FGX
- # Thanks to AndrΓ©, ( taureau89_9 ) for debian stable packages fixes
- LOGFILE=compilation_log.txt
- WHATTOBUILD=
- #AVAILABLE VALUES: CGAL PLIB OSG SIMGEAR FGFS DATA FGO FGX FGRUN OPENRTI OPENRADAR TERRAGEAR TERRAGEARGUI
- WHATTOBUILDALL=( CGAL PLIB OSG SIMGEAR FGFS DATA FGRUN OPENRTI TERRAGEAR TERRAGEARGUI)
- UPDATE=
- STABLE=
- APT_GET_UPDATE="y"
- DOWNLOAD_PACKAGES="y"
- COMPILE="y"
- RECONFIGURE="y"
- DOWNLOAD="y"
- JOPTION=""
- OOPTION=""
- DEBUG=""
- while getopts "suhc:p:a:d:r:j:O:i" OPTION; do
- case $OPTION in
- s) STABLE="STABLE" ;;
- u) UPDATE="UPDATE" ;;
- h) HELP="HELP" ;;
- a) APT_GET_UPDATE=$OPTARG ;;
- c) COMPILE=$OPTARG ;;
- p) DOWNLOAD_PACKAGES=$OPTARG ;;
- d) DOWNLOAD=$OPTARG ;;
- r) RECONFIGURE=$OPTARG ;;
- j) JOPTION=" -j"$OPTARG" " ;;
- O) OOPTION=" -O"$OPTARG" " ;;
- ?) HELP="HELP" ;;
- esac
- done
- shift $(($OPTIND - 1))
- if [ ! "$#" = "0" ]; then
- for arg in $*
- do
- if [ "$arg" == "UPDATE" ]; then
- UPDATE="UPDATE"
- else
- WHATTOBUILD=( "${WHATTOBUILD[@]}" "$arg" )
- fi
- done
- else
- WHATTOBUILD=( "${WHATTOBUILDALL[@]}" )
- fi
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="ALL"' ]]; then
- WHATTOBUILD=( "${WHATTOBUILDALL[@]}" )
- fi
- #############################################################"
- # Some helper for redundant task
- function _logSep(){
- echo "***********************************" >> $LOGFILE
- }
- function _gitUpdate(){
- if [ "$DOWNLOAD" != "y" ]; then
- return
- fi
- branch=$1
- set +e
- git diff --exit-code 2>&1 > /dev/null
- if [ $? != 1 ]; then
- set -e
- git checkout -f $branch
- git pull -r
- else
- set -e
- git stash save -u -q
- git checkout -f $branch
- git pull -r
- git stash pop -q
- fi
- }
- function _gitDownload(){
- if [ "$DOWNLOAD" != "y" ]; then
- return
- fi
- repo=$1
- if [ -f "README" -o -f "README.txt" ]; then
- echo "$repo exists already"
- else
- git clone $repo .
- fi
- }
- function _make(){
- if [ "$COMPILE" = "y" ]; then
- pkg=$1
- cd "$CBD"/build/$pkg
- echo "MAKE $pkg" >> $LOGFILE
- make $JOPTION $OOPTION 2>&1 | tee -a $LOGFILE
- echo "INSTALL $pkg" >> $LOGFILE
- make install 2>&1 | tee -a $LOGFILE
- fi
- }
- #######################################################
- OSG_STABLE_GIT_BRANCH="OpenSceneGraph-3.2"
- PLIB_STABLE_GIT_BRANCH="master"
- # common stable branch for flightgear, simgear and fgdata
- FGSG_STABLE_GIT_BRANCH="release/3.2.0"
- OPENRTI_STABLE_GIT_BRANCH="release-0.5"
- # unstable branch: next for sg/fg, master for fgdata
- FGSG_UNSTABLE_GIT_BRANCH="next"
- FGDATA_UNSTABLE_GIT_BRANCH="next"
- OPENRTI_UNSTABLE_GIT_BRANCH="master"
- #OpenRadar
- OR_STABLE_RELEASE="http://wagnerw.de/OpenRadar.zip"
- #TerraGear
- TG_STABLE_GIT_BRANCH="scenery/ws2.0"
- TGGUI_STABLE_GIT_BRANCH="master"
- CGAL_PACKAGE="https://gforge.inria.fr/frs/download.php/32183/CGAL-4.2-beta1.tar.gz"
- #######################################################
- # set script to stop if an error occours
- set -e
- if [ "$HELP" = "HELP" ]; then
- echo "$0 Version $VERSION"
- echo "Usage:"
- echo "./$0 [-u] [-h] [-s] [-e] [-f] [-i] [-g] [-a y|n] [-c y|n] [-p y|n] [-d y|n] [-r y|n] [ALL|CGAL|PLIB|OSG|OPENRTI|SIMGEAR|FGFS|DATA|FGO|FGX|FGRUN|OPENRADAR|TERRAGEAR|TERRAGEARGUI] [UPDATE]"
- echo "* without options or with ALL it recompiles the content of the WHATTOBUILDALL variable."
- echo "* Feel you free to customize the WHATTOBUILDALL variable available on the top of this script"
- echo "* Adding UPDATE it does not rebuild all (faster but to use only after one successfull first compile)"
- echo "Switches:"
- echo "* -u such as using UPDATE"
- echo "* -h show this help"
- echo "* -e compile FlightGear with --with-eventinput option (experimental)"
- echo "* -g compile with debug info for gcc"
- echo "* -a y|n y=do an apt-get update n=skip apt-get update default=y"
- echo "* -p y|n y=download packages n=skip download packages default=y"
- echo "* -c y|n y=compile programs n=do not compile programs default=y"
- echo "* -d y|n y=fetch programs from internet (cvs, svn, etc...) n=do not fetch default=y"
- echo "* -j X Add -jX to the make compilation default=None"
- echo "* -O X Add -OX to the make compilation default=None"
- echo "* -r y|n y=reconfigure programs before compiling them n=do not reconfigure default=y"
- echo "* -s compile only last stable known versions default=y"
- exit
- fi
- #######################################################
- #######################################################
- # Warning about compilation time and size
- # Idea from Jester
- echo "**************************************"
- echo "* *"
- echo "* Warning, the compilation process *"
- echo "* is going to use 12 or more Gbytes *"
- echo "* of space and at least a couple of *"
- echo "* hours to download and build FG. *"
- echo "* *"
- echo "* Please, be patient ...... *"
- echo "* *"
- echo "**************************************"
- #######################################################
- #######################################################
- # Debian 4.0rX (Etch) backports.org
- # From D-HUND
- ISSUE=$(cat /etc/issue)
- if [ "$ISSUE" = "Debian GNU/Linux 4.0 \n \l" ]; then
- clear
- echo "*****************************************************"
- echo "* Note to users of Debian Etch (Stable 4.0rX) *"
- echo "*****************************************************"
- echo
- echo "Since autumn 2008 it is not possible anymore to easily install fgfs"
- echo "cvs by using standard repositry. Therefore it is necessary to have"
- echo "backports.org in the apt sources.list to run this script."
- echo
- echo "If you're using synaptic you may follow these steps:"
- echo " - Open synaptics menu 'Settings' --> 'Repositories'"
- echo " - Click 'Add' and do"
- echo " select 'Binaries (deb)'"
- echo " enter Address: 'www.backports.org/backports.org/'"
- echo " enter Distribution: 'etch-backports'"
- echo " enter Section(s): 'main contrib non-free'"
- echo " - Close Repositries window using 'OK'"
- echo " - Click 'Reload' to update database."
- echo
- echo "If you have backports.org in your apt-repositries and want to get"
- echo "rid of this message have a look at the script."
- echo -n "[c] to continue or just [ENTER] to exit script: "
- if [ "$(read GOON)" != "c" ]; then
- echo "Script aborted!"
- exit 0
- fi
- fi
- #######################################################
- #######################################################
- echo $0 $* > $LOGFILE
- echo "APT_GET_UPDATE=$APT_GET_UPDATE" >> $LOGFILE
- echo "DOWNLOAD_PACKAGES=$DOWNLOAD_PACKAGES" >> $LOGFILE
- echo "COMPILE=$COMPILE" >> $LOGFILE
- echo "RECONFIGURE=$RECONFIGURE" >> $LOGFILE
- echo "DOWNLOAD=$DOWNLOAD" >> $LOGFILE
- echo "JOPTION=$JOPTION" >> $LOGFILE
- echo "OOPTION=$OOPTION" >> $LOGFILE
- echo "DEBUG=$DEBUG" >> $LOGFILE
- _logSep
- # discovering linux
- if [ -e /etc/lsb-release ]; then
- . /etc/lsb-release
- fi
- DISTRO_PACKAGES="libopenal-dev libbz2-dev libalut-dev libalut0 cvs subversion cmake make build-essential automake zlib1g-dev zlib1g libwxgtk2.8-0 libwxgtk2.8-dev fluid gawk gettext libxi-dev libxi6 libxmu-dev libxmu6 libasound2-dev libasound2 libpng12-dev libpng12-0 libjasper1 libjasper-dev libopenexr-dev git-core libqt4-dev scons python-tk python-imaging-tk libsvn-dev libglew1.5-dev libxft2 libxft-dev libxinerama1 libxinerama-dev python-dev libboost-dev libcurl4-gnutls-dev libqt4-opengl-dev libqtwebkit-dev libjpeg-dev libpoppler-glib-dev librsvg2-dev libcairo2-dev libgtk2.0-dev libgtkglext1-dev libxrandr-dev libtiff5-dev libxml2-dev libgdal-dev libgmp-dev libmpfr-dev libgdal-dev libtiff5-dev python-dev libbz2-dev libqt4-dev libboost-dev libboost-thread-dev libboost-system-dev"
- UBUNTU_PACKAGES="freeglut3-dev libapr1-dev libfltk1.3-dev libfltk1.3"
- DEBIAN_PACKAGES_STABLE="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.1-dev libfltk1.1"
- DEBIAN_PACKAGES_TESTING="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.3-dev libfltk1.3"
- DEBIAN_PACKAGES_UNSTABLE="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.3-dev libfltk1.3"
- # checking linux distro and version to differ needed packages
- if [ "$DISTRIB_ID" = "Ubuntu" -o "$DISTRIB_ID" = "LinuxMint" ]; then
- echo "$DISTRIB_ID $DISTRIB_RELEASE" >> $LOGFILE
- DISTRO_PACKAGES="$DISTRO_PACKAGES $UBUNTU_PACKAGES"
- else
- echo "DEBIAN I SUPPOSE" >> $LOGFILE
- DEBIAN_PACKAGES=$DEBIAN_PACKAGES_STABLE
- if [ ! "$(apt-cache search libfltk1.3)" = "" ]; then
- DEBIAN_PACKAGES=$DEBIAN_PACKAGES_TESTING
- fi
- DISTRO_PACKAGES="$DISTRO_PACKAGES $DEBIAN_PACKAGES"
- fi
- _logSep
- if [ "$DOWNLOAD_PACKAGES" = "y" ]; then
- echo -n "PACKAGE INSTALLATION ... " >> $LOGFILE
- LIBOPENALPACKAGE=$(apt-cache search libopenal | grep "libopenal. " | sed s/\ .*//)
- DISTRO_PACKAGES=$DISTRO_PACKAGES" "$LIBOPENALPACKAGE
- # checking linux distro and version to differ needed packages
- if [ "$DISTRIB_ID" = "Ubuntu" -o "$DISTRIB_ID" = "LinuxMint" ]; then
- if [ "$APT_GET_UPDATE" = "y" ]; then
- echo "Asking your password to perform an apt-get update"
- sudo apt-get update
- fi
- echo "Asking your password to perform an apt-get install ... "
- sudo apt-get install $DISTRO_PACKAGES
- else
- if [ "$APT_GET_UPDATE" = "y" ]; then
- echo "Asking root password to perform an apt-get update"
- su -c "apt-get update"
- fi
- echo "Asking root password to perform an apt-get install ... "
- su -c "apt-get install $DISTRO_PACKAGES"
- fi
- fi
- CBD=$(pwd)
- LOGFILE=$CBD/$LOGFILE
- echo "DIRECTORY= $CBD" >> $LOGFILE
- _logSep
- mkdir -p install
- SUB_INSTALL_DIR=install
- INSTALL_DIR=$CBD/$SUB_INSTALL_DIR
- cd "$CBD"
- mkdir -p build
- #######################################################
- # BACKWARD COMPATIBILITY WITH 1.9.14a
- #######################################################
- if [ -d "$CBD"/fgfs/flightgear ]; then
- echo "Move to the new folder structure"
- rm -rf OpenSceneGraph
- rm -rf plib
- rm -rf build
- rm -rf install/fgo
- rm -rf install/fgx
- rm -rf install/osg
- rm -rf install/plib
- rm -rf install/simgear
- rm -f *.log*
- rm -f run_*.sh
- mv openrti/openrti tmp && rm -rf openrti && mv tmp openrti
- mv fgfs/flightgear tmp && rm -rf fgfs && mv tmp flightgear
- mv simgear/simgear tmp && rm -rf simgear && mv tmp simgear
- mkdir -p install/flightgear && mv install/fgfs/fgdata install/flightgear/fgdata
- echo "Done"
- fi
- #######################################################
- # PLIB
- #######################################################
- PLIB_INSTALL_DIR=plib
- INSTALL_DIR_PLIB=$INSTALL_DIR/$PLIB_INSTALL_DIR
- cd "$CBD"
- mkdir -p "plib"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="PLIB"' ]]; then
- if [ ! "$UPDATE" = "UPDATE" ]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "**************** PLIB ******************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- cd "$CBD"/plib
- _gitDownload git://git.code.sf.net/p/libplib/code libplib
- _gitUpdate $PLIB_STABLE_GIT_BRANCH
- if [ "$RECONFIGURE" = "y" ]; then
- cd "$CBD"
- mkdir -p build/plib
- echo "CONFIGURING plib" >> $LOGFILE
- cd "$CBD"/build/plib
- cmake -DCMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_PLIB" ../../plib
- fi
- _make plib
- fi
- fi
- #######################################################
- # CGAL
- #######################################################
- CGAL_INSTALL_DIR=cgal
- INSTALL_DIR_CGAL=$INSTALL_DIR/$CGAL_INSTALL_DIR
- cd "$CBD"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="CGAL"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "***************** CGAL *****************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- if [ ! -d "cgal" ]; then
- echo "Download CGAL... $CGAL_PACKAGE"
- wget -O cgal.tar.gz $CGAL_PACKAGE
- tar -zxf cgal.tar.gz
- mv CGAL* cgal
- fi
- if [ ! "$UPDATE" = "UPDATE" ]; then
- if [ "$RECONFIGURE" = "y" ]; then
- cd "$CBD"
- mkdir -p build/cgal
- cd "$CBD"/build/cgal
- echo "CONFIGURING CGAL ... " >> $LOGFILE
- cmake -DCMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_CGAL" ../../cgal/ 2>&1 | tee -a $LOGFILE
- echo "CONFIGURING CGAL DONE" >> $LOGFILE
- fi
- fi
- _make cgal
- fi
- #######################################################
- # OpenSceneGraph
- #######################################################
- OSG_INSTALL_DIR=openscenegraph
- INSTALL_DIR_OSG=$INSTALL_DIR/$OSG_INSTALL_DIR
- cd "$CBD"
- mkdir -p "openscenegraph"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="OSG"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "**************** OSG *******************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- cd "$CBD"/openscenegraph
- _gitDownload http://github.com/openscenegraph/osg.git
- _gitUpdate $OSG_STABLE_GIT_BRANCH
- if [ ! "$UPDATE" = "UPDATE" ]; then
- if [ "$RECONFIGURE" = "y" ]; then
- cd "$CBD"
- mkdir -p build/openscenegraph
- cd "$CBD"/build/openscenegraph
- rm -f CMakeCache.txt
- cmake -DCMAKE_BUILD_TYPE="Release" \
- -DCMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_OSG" ../../openscenegraph/ 2>&1 | tee -a $LOGFILE
- fi
- fi
- _make openscenegraph
- #FIX FOR 64 BIT COMPILATION
- if [ -d "$INSTALL_DIR_OSG/lib64" ]; then
- if [ -L "$INSTALL_DIR_OSG/lib" ]; then
- echo "link already done"
- else
- ln -s "$INSTALL_DIR_OSG/lib64" "$INSTALL_DIR_OSG/lib"
- fi
- fi
- fi
- #######################################################
- # OPENRTI
- #######################################################
- OPENRTI_INSTALL_DIR=openrti
- INSTALL_DIR_OPENRTI=$INSTALL_DIR/$OPENRTI_INSTALL_DIR
- cd "$CBD"
- mkdir -p "openrti"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="OPENRTI"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "**************** OPENRTI ***************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- cd "$CBD"/openrti
- _gitDownload git://git.code.sf.net/p/openrti/OpenRTI openrti
- if [ "$STABLE" = "STABLE" ]; then
- _gitUpdate $OPENRTI_STABLE_GIT_BRANCH
- else
- _gitUpdate $OPENRTI_UNSTABLE_GIT_BRANCH
- fi
- if [ ! "$UPDATE" = "UPDATE" ]; then
- if [ "$RECONFIGURE" = "y" ]; then
- cd "$CBD"
- mkdir -p build/openrti
- cd "$CBD"/build/openrti
- rm -f CMakeCache.txt
- cmake -DCMAKE_BUILD_TYPE="Release" \
- -DCMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_OPENRTI" ../../openrti 2>&1 | tee -a $LOGFILE
- fi
- fi
- _make openrti
- fi
- #######################################################
- # SIMGEAR
- #######################################################
- SIMGEAR_INSTALL_DIR=simgear
- INSTALL_DIR_SIMGEAR=$INSTALL_DIR/$SIMGEAR_INSTALL_DIR
- cd "$CBD"
- mkdir -p "simgear"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="SIMGEAR"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "**************** SIMGEAR ***************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- cd "$CBD"/simgear
- _gitDownload git://git.code.sf.net/p/flightgear/simgear
- if [ "$STABLE" = "STABLE" ]; then
- _gitUpdate $FGSG_STABLE_GIT_BRANCH
- else
- _gitUpdate $FGSG_UNSTABLE_GIT_BRANCH
- fi
- if [ ! "$UPDATE" = "UPDATE" ]; then
- if [ "$RECONFIGURE" = "y" ]; then
- cd "$CBD"
- mkdir -p build/simgear
- cd "$CBD"/build/simgear
- rm -f CMakeCache.txt
- cmake -D CMAKE_BUILD_TYPE="Release" \
- -D ENABLE_RTI=OFF \
- -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_SIMGEAR" \
- -D CMAKE_PREFIX_PATH="$INSTALL_DIR_OSG;$INSTALL_DIR_OPENRTI;$INSTALL_DIR_PLIB" \
- ../../simgear 2>&1 | tee -a $LOGFILE
- fi
- fi
- _make simgear
- fi
- #######################################################
- # FGFS
- #######################################################
- FGFS_INSTALL_DIR=flightgear
- INSTALL_DIR_FGFS=$INSTALL_DIR/$FGFS_INSTALL_DIR
- cd "$CBD"
- mkdir -p "flightgear"
- mkdir -p $INSTALL_DIR_FGFS/fgdata
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGFS"' || "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="DATA"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "************** FLIGHTGEAR **************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- cd "$CBD"/flightgear
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGFS"' ]]; then
- _gitDownload git://git.code.sf.net/p/flightgear/flightgear
- if [ "$STABLE" = "STABLE" ]; then
- _gitUpdate $FGSG_STABLE_GIT_BRANCH
- else
- _gitUpdate $FGSG_UNSTABLE_GIT_BRANCH
- fi
- if [ ! "$UPDATE" = "UPDATE" ]; then
- if [ "$RECONFIGURE" = "y" ]; then
- cd "$CBD"
- mkdir -p build/flightgear
- cd "$CBD"/build/flightgear
- rm -f CMakeCache.txt
- cmake -D CMAKE_BUILD_TYPE="Debug" \
- -D ENABLE_RTI=OFF \
- -D ENABLE_FLITE=ON \
- -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_FGFS" \
- -D CMAKE_PREFIX_PATH="$INSTALL_DIR_OSG;$INSTALL_DIR_PLIB;$INSTALL_DIR_SIMGEAR;$INSTALL_DIR_OPENRTI" \
- ../../flightgear 2>&1 | tee -a $LOGFILE
- fi
- fi
- _make flightgear
- fi
- cd $INSTALL_DIR_FGFS/fgdata
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="DATA"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "**************** DATA ******************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- if [ ! "$UPDATE" = "UPDATE" ]; then
- _gitDownload git://git.code.sf.net/p/flightgear/fgdata
- if [ "$STABLE" = "STABLE" ]; then
- _gitUpdate $FGSG_STABLE_GIT_BRANCH
- else
- _gitUpdate $FGDATA_UNSTABLE_GIT_BRANCH
- fi
- else
- cd $INSTALL_DIR_FGFS/fgdata
- _gitUpdate $FGDATA_UNSTABLE_GIT_BRANCH
- fi
- fi
- cd "$CBD"
- SCRIPT=run_fgfs.sh
- echo "#!/bin/sh" > $SCRIPT
- echo "cd \$(dirname \$0)" >> $SCRIPT
- echo "cd $SUB_INSTALL_DIR/$FGFS_INSTALL_DIR/bin" >> $SCRIPT
- echo "export LD_LIBRARY_PATH=../../$PLIB_INSTALL_DIR/lib:../../$OSG_INSTALL_DIR/lib:../../$SIMGEAR_INSTALL_DIR/lib:../../$OPENRTI_INSTALL_DIR/lib" >> $SCRIPT
- echo "./fgfs --fg-root=\$PWD/../fgdata/ \$@" >> $SCRIPT
- chmod 755 $SCRIPT
- SCRIPT=run_fgfs_debug.sh
- echo "#!/bin/sh" > $SCRIPT
- echo "cd \$(dirname \$0)" >> $SCRIPT
- echo "cd $SUB_INSTALL_DIR/$FGFS_INSTALL_DIR/bin" >> $SCRIPT
- echo "export LD_LIBRARY_PATH=../../$PLIB_INSTALL_DIR/lib:../../$OSG_INSTALL_DIR/lib:../../$SIMGEAR_INSTALL_DIR/lib:../../$OPENRTI_INSTALL_DIR/lib" >> $SCRIPT
- echo "gdb --directory="\$P1"/fgfs/source/src/ --args fgfs --fg-root=\$PWD/../fgdata/ \$@" >> $SCRIPT
- chmod 755 $SCRIPT
- SCRIPT=run_fgcom.sh
- echo "#!/bin/sh" > $SCRIPT
- echo "cd \$(dirname \$0)" >> $SCRIPT
- echo "cd $SUB_INSTALL_DIR/$FGFS_INSTALL_DIR/bin" >> $SCRIPT
- echo "./fgcom \$@" >> $SCRIPT
- chmod 755 $SCRIPT
- fi
- #######################################################
- # FGO!
- #######################################################
- FGO_INSTALL_DIR=fgo
- INSTALL_DIR_FGO=$INSTALL_DIR/$FGO_INSTALL_DIR
- cd "$CBD"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGO"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "***************** FGO ******************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- if [ "$DOWNLOAD" = "y" ]; then
- rm -rf fgo*.tar.gz
- wget https://sites.google.com/site/erobosprojects/flightgear/add-ons/fgo/download/fgo-1.5.2.tar.gz -O fgo.tar.gz
- cd install
- tar zxvfh ../fgo.tar.gz
- cd ..
- fi
- SCRIPT=run_fgo.sh
- echo "#!/bin/sh" > $SCRIPT
- echo "cd \$(dirname \$0)" >> $SCRIPT
- echo "cd $SUB_INSTALL_DIR" >> $SCRIPT
- echo "p=\$(pwd)" >> $SCRIPT
- echo "cd $FGO_INSTALL_DIR" >> $SCRIPT
- echo "export LD_LIBRARY_PATH=\$p/plib/lib:\$p/OpenSceneGraph/lib:\$p/simgear/lib" >> $SCRIPT
- echo "python fgo" >> $SCRIPT
- chmod 755 $SCRIPT
- fi
- #######################################################
- # FGx
- #######################################################
- FGX_INSTALL_DIR=fgx
- INSTALL_DIR_FGX=$INSTALL_DIR/$FGX_INSTALL_DIR
- cd "$CBD"
- mkdir -p "fgx"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGX"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "***************** FGX ******************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- cd "$CBD"/fgx
- _gitDownload git://gitorious.org/fgx/fgx.git fgx
- _gitUpdate $FGX_STABLE_GIT_BRANCH
- cd "$CBD"/fgx/src/
- #Patch in order to pre-setting paths
- cd resources/default/
- cp x_default.ini x_default.ini.orig
- cat x_default.ini | sed s/\\/usr\\/bin\\/fgfs/INSTALL_DIR_FGXMY_SLASH_HERE..MY_SLASH_HEREfgfsMY_SLASH_HEREbinMY_SLASH_HEREfgfs/g > tmp1
- cat tmp1 | sed s/\\/usr\\/share\\/flightgear/INSTALL_DIR_FGXMY_SLASH_HERE..MY_SLASH_HEREfgfsMY_SLASH_HEREfgdata/g > tmp2
- cat tmp2 | sed s/\\/usr\\/bin\\/terrasync/INSTALL_DIR_FGXMY_SLASH_HERE..MY_SLASH_HEREfgfsMY_SLASH_HEREbinMY_SLASH_HEREterrasync/g > tmp3
- cat tmp3 | sed s/\\/usr\\/bin\\/fgcom/INSTALL_DIR_FGXMY_SLASH_HERE..MY_SLASH_HEREfgcomMY_SLASH_HEREbinMY_SLASH_HEREfgcom/g > tmp4
- cat tmp4 | sed s/\\/usr\\/bin\\/js_demo/INSTALL_DIR_FGXMY_SLASH_HERE..MY_SLASH_HEREfgfsMY_SLASH_HEREbinMY_SLASH_HEREjs_demo/g > tmp5
- INSTALL_DIR_FGX_NO_SLASHS=$(echo "$INSTALL_DIR_FGX" | sed -e 's/\//MY_SLASH_HERE/g')
- cat tmp5 | sed s/INSTALL_DIR_FGX/"$INSTALL_DIR_FGX_NO_SLASHS"/g > tmp
- cat tmp | sed s/MY_SLASH_HERE/\\//g > x_default.ini
- rm tmp*
- cd ..
- if [ ! "$UPDATE" = "UPDATE" ]; then
- if [ "$RECONFIGURE" = "y" ]; then
- mkdir -p $INSTALL_DIR_FGX
- cd $INSTALL_DIR_FGX
- qmake ../../fgx/src
- fi
- fi
- if [ "$COMPILE" = "y" ]; then
- cd $INSTALL_DIR_FGX
- echo "MAKE AND INSTALL FGX" >> $LOGFILE
- echo "make $JOPTION $OOPTION " >> $LOGFILE
- make $JOPTION $OOPTION | tee -a $LOGFILE
- cd ..
- fi
- cd "$CBD"
- SCRIPT=run_fgx.sh
- echo "#!/bin/sh" > $SCRIPT
- echo "cd \$(dirname \$0)" >> $SCRIPT
- echo "cd $ " >> $SCRIPT
- echo "p=\$(pwd)" >> $SCRIPT
- echo "cd $FGX_INSTALL_DIR" >> $SCRIPT
- echo "export LD_LIBRARY_PATH=\$p/plib/lib:\$p/OpenSceneGraph/lib:\$p/simgear/lib" >> $SCRIPT
- echo "./fgx" >> $SCRIPT
- chmod 755 $SCRIPT
- fi
- #######################################################
- # FGRUN
- #######################################################
- FGRUN_INSTALL_DIR=fgrun
- INSTALL_DIR_FGRUN=$INSTALL_DIR/$FGRUN_INSTALL_DIR
- cd "$CBD"
- mkdir -p "fgrun"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGRUN"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "**************** FGRUN *****************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- cd "$CBD"/fgrun
- _gitDownload git://git.code.sf.net/p/flightgear/fgrun
- if [ "$STABLE" = "STABLE" ]; then
- _gitUpdate $FGSG_STABLE_GIT_BRANCH
- else
- _gitUpdate $FGSG_UNSTABLE_GIT_BRANCH
- fi
- if [ ! "$UPDATE" = "UPDATE" ]; then
- if [ "$RECONFIGURE" = "y" ]; then
- cd "$CBD"
- mkdir -p build/fgrun
- cd "$CBD"/build/fgrun
- rm -f ../../fgrun/CMakeCache.txt
- cmake -D CMAKE_BUILD_TYPE="Release" \
- -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_FGRUN" \
- -D CMAKE_PREFIX_PATH="$INSTALL_DIR_OSG;$INSTALL_DIR_PLIB;$INSTALL_DIR_SIMGEAR" \
- ../../fgrun/ 2>&1 | tee -a $LOGFILE
- fi
- fi
- _make fgrun
- cd "$CBD"
- SCRIPT=run_fgrun.sh
- echo "#!/bin/sh" > $SCRIPT
- echo "cd \$(dirname \$0)" >> $SCRIPT
- echo "cd $SUB_INSTALL_DIR/$FGRUN_INSTALL_DIR/bin" >> $SCRIPT
- echo "export LD_LIBRARY_PATH=../../$PLIB_INSTALL_DIR/lib:../../$OSG_INSTALL_DIR/lib:../../$SIMGEAR_INSTALL_DIR/lib" >> $SCRIPT
- echo "./fgrun --fg-exe=\$PWD/../../$FGFS_INSTALL_DIR/bin/fgfs --fg-root=\$PWD/../../$FGFS_INSTALL_DIR/fgdata \$@" >> $SCRIPT
- chmod 755 $SCRIPT
- fi
- #######################################################
- # OPENRADAR
- #######################################################
- OR_INSTALL_DIR=openradar
- INSTALL_DIR_OR=$INSTALL_DIR/$OR_INSTALL_DIR
- cd "$CBD"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="OPENRADAR"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "************** OPENRADAR ***************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- if [ "$DOWNLOAD" = "y" ]; then
- wget $OR_STABLE_RELEASE -O OpenRadar.zip
- cd install
- unzip -o ../OpenRadar.zip
- cd ..
- fi
- SCRIPT=run_openradar.sh
- echo "#!/bin/sh" > $SCRIPT
- echo "cd \$(dirname \$0)" >> $SCRIPT
- echo "cd install/OpenRadar" >> $SCRIPT
- echo "java -jar OpenRadar.jar" >> $SCRIPT
- chmod 755 $SCRIPT
- fi
- #######################################################
- #######################################################
- # TERRAGEAR
- #######################################################
- #######################################################
- TG_INSTALL_DIR=terragear
- INSTALL_DIR_TG=$INSTALL_DIR/$TG_INSTALL_DIR
- cd "$CBD"
- mkdir -p "terragear"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="TERRAGEAR"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "*************** TERRAGEAR **************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- cd "$CBD"/terragear
- _gitDownload git://git.code.sf.net/p/flightgear/terragear
- _gitUpdate $TG_STABLE_GIT_BRANCH
- if [ ! "$UPDATE" = "UPDATE" ]; then
- if [ "$RECONFIGURE" = "y" ]; then
- cd "$CBD"
- mkdir -p build/terragear
- cd "$CBD"/build/terragear
- rm -f CMakeCache.txt
- cmake -DCMAKE_BUILD_TYPE="Debug" \
- -DCMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_TG" \
- -DCMAKE_PREFIX_PATH="$INSTALL_DIR_SIMGEAR;$INSTALL_DIR_CGAL" \
- ../../terragear/ 2>&1 | tee -a $LOGFILE
- fi
- fi
- _make terragear
- cd "$CBD"
- echo "#!/bin/sh" > run_tg-construct.sh
- echo "cd $(dirname $0)" >> run_tg-construct.sh
- echo "cd install/terragear/bin" >> run_tg-construct.sh
- echo "export LD_LIBRARY_PATH=$INSTALL_DIR_SIMGEAR/lib:$INSTALL_DIR_CGAL/lib" >> run_tg-construct.sh
- echo "./tg-construct \$@" >> run_tg-construct.sh
- echo "#!/bin/sh" > run_ogr-decode.sh
- echo "cd $(dirname $0)" >> run_ogr-decode.sh
- echo "cd install/terragear/bin" >> run_ogr-decode.sh
- echo "export LD_LIBRARY_PATH=$INSTALL_DIR_SIMGEAR/lib:$INSTALL_DIR_CGAL/lib" >> run_ogr-decode.sh
- echo "./ogr-decode \$@" >> run_ogr-decode.sh
- echo "#!/bin/sh" > run_genapts850.sh
- echo "cd $(dirname $0)" >> run_genapts850.sh
- echo "cd install/terragear/bin" >> run_genapts850.sh
- echo "export LD_LIBRARY_PATH=$INSTALL_DIR_SIMGEAR/lib:$INSTALL_DIR_CGAL/lib" >> run_genapts850.sh
- echo "./genapts850 \$@" >> run_genapts850.sh
- fi
- _logSep
- #######################################################
- #######################################################
- # TERRAGEAR GUI
- #######################################################
- #######################################################
- TGGUI_INSTALL_DIR=terrageargui
- INSTALL_DIR_TGGUI=$INSTALL_DIR/$TGGUI_INSTALL_DIR
- cd "$CBD"
- mkdir -p "terrageargui"
- if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="TERRAGEARGUI"' ]]; then
- echo "****************************************" | tee -a $LOGFILE
- echo "************* TERRAGEAR GUI ************" | tee -a $LOGFILE
- echo "****************************************" | tee -a $LOGFILE
- cd "$CBD"/terrageargui
- _gitDownload git://gitorious.org/fgscenery/terrageargui.git
- _gitUpdate $TGGUI_STABLE_GIT_BRANCH
- if [ ! "$UPDATE" = "UPDATE" ]; then
- if [ "$RECONFIGURE" = "y" ]; then
- cd "$CBD"
- mkdir -p build/terrageargui
- cd "$CBD"/build/terrageargui
- rm -f ../../terrageargui/CMakeCache.txt
- cmake -DCMAKE_BUILD_TYPE="Release" \
- -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR_TGGUI" ../../terrageargui 2>&1 | tee -a $LOGFILE
- fi
- fi
- _make terrageargui
- cd "$CBD"
- # Fill TerraGear Root field
- if [ ! -f ~/.config/TerraGear/TerraGearGUI.conf ]; then
- echo "Fill TerraGear Root field" >> $LOGFILE
- echo "[paths]" > TerraGearGUI.conf
- echo "terragear=$INSTALL_DIR_TG/bin" >> TerraGearGUI.conf
- mkdir -p ~/.config/TerraGear
- mv TerraGearGUI.conf ~/.config/TerraGear
- fi
- echo "Create run_terrageargui.sh" >> $LOGFILE
- echo "#!/bin/sh" > run_terrageargui.sh
- echo "cd \$(dirname \$0)" >> run_terrageargui.sh
- echo "cd install/terrageargui/bin" >> run_terrageargui.sh
- echo "export LD_LIBRARY_PATH=$INSTALL_DIR_SIMGEAR/lib:$INSTALL_DIR_CGAL/lib" >> run_terrageargui.sh
- echo "./TerraGUI \$@" >> run_terrageargui.sh
- fi
- echo "download_and_compile.sh has finished to work"
- cd "$CBD"
Add Comment
Please, Sign In to add comment