From 8302a21ef7cfc9554b4e27f25a21ebfd03f61832 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sat, 21 May 2011 15:11:22 +0100 Subject: [PATCH 01/73] Pickup SimGear version from its workspace (only works with 2.3.0 or higher) --- hudson_win_build32.bat | 4 +++- hudson_win_build64.bat | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/hudson_win_build32.bat b/hudson_win_build32.bat index 77669d5..c5f1e3a 100644 --- a/hudson_win_build32.bat +++ b/hudson_win_build32.bat @@ -1,7 +1,9 @@ IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0 -ECHO #define SIMGEAR_VERSION "2.2.0" > %WORKSPACE%\simgear\simgear\version.h +SET /P SIMGEAR_VERSION=<%WORKSAPCE%\simgear\version +ECHO #define SIMGEAR_VERSION "%SIMGEAR_VERSION%" > %WORKSPACE%\simgear\simgear\version.h + cd %WORKSPACE%\simgear\projects\VC90 msbuild SimGear.vcproj /p:Configuration=Release /m diff --git a/hudson_win_build64.bat b/hudson_win_build64.bat index 4d235de..1d044bb 100644 --- a/hudson_win_build64.bat +++ b/hudson_win_build64.bat @@ -1,7 +1,9 @@ IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0 -ECHO #define SIMGEAR_VERSION "2.2.0" > %WORKSPACE%\simgear\simgear\version.h +SET /P SIMGEAR_VERSION=<%WORKSAPCE%\simgear\version +ECHO #define SIMGEAR_VERSION "%SIMGEAR_VERSION%" > %WORKSPACE%\simgear\simgear\version.h + cd %WORKSPACE%\simgear\projects\VC90 msbuild SimGear.vcproj /p:Configuration=Release /p:Platform=x64 From 5c289cb98ca4fc3e915fa0a45fc8e5335b96cc1b Mon Sep 17 00:00:00 2001 From: James Turner Date: Sat, 21 May 2011 15:11:57 +0100 Subject: [PATCH 02/73] Set next versions of FG/SG, for testing --- flightgear | 2 +- simgear | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flightgear b/flightgear index 118d8fb..53e8fbf 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 118d8fbca5d98e994d572e4c922f76ba2cab9e52 +Subproject commit 53e8fbfcbb3ddac0dc261043fea7bd24dfa6e62d diff --git a/simgear b/simgear index e55017b..e988dc0 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit e55017bbfce20a999bc9173260f402b2ec3819d0 +Subproject commit e988dc0e421744fe71b7cdc74b8ff081becfc31d From ecc81119868ae90f9ddae72eedc1c03bfbcda2ea Mon Sep 17 00:00:00 2001 From: Torsten Dreyer Date: Fri, 29 Jul 2011 14:12:32 +0200 Subject: [PATCH 03/73] Fix typo in hudson win32/64 build scripts Also remove obsolete build of SimGear which is included in the build of the solution. --- hudson_win_build32.bat | 6 +----- hudson_win_build64.bat | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/hudson_win_build32.bat b/hudson_win_build32.bat index c5f1e3a..e6cb3fe 100644 --- a/hudson_win_build32.bat +++ b/hudson_win_build32.bat @@ -1,12 +1,8 @@ - IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0 -SET /P SIMGEAR_VERSION=<%WORKSAPCE%\simgear\version +SET /P SIMGEAR_VERSION=<%WORKSPACE%\simgear\version ECHO #define SIMGEAR_VERSION "%SIMGEAR_VERSION%" > %WORKSPACE%\simgear\simgear\version.h -cd %WORKSPACE%\simgear\projects\VC90 -msbuild SimGear.vcproj /p:Configuration=Release /m - cd %WORKSPACE%\flightgear call scripts\tools\version.bat SET HAVE_VERSION_H=1 diff --git a/hudson_win_build64.bat b/hudson_win_build64.bat index 1d044bb..8213024 100644 --- a/hudson_win_build64.bat +++ b/hudson_win_build64.bat @@ -1,12 +1,8 @@ - IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0 -SET /P SIMGEAR_VERSION=<%WORKSAPCE%\simgear\version +SET /P SIMGEAR_VERSION=<%WORKSPACE%\simgear\version ECHO #define SIMGEAR_VERSION "%SIMGEAR_VERSION%" > %WORKSPACE%\simgear\simgear\version.h -cd %WORKSPACE%\simgear\projects\VC90 -msbuild SimGear.vcproj /p:Configuration=Release /p:Platform=x64 - cd %WORKSPACE%\flightgear call scripts\tools\version.bat SET HAVE_VERSION_H=1 From 4e9ab5aa80527469086d5fe8807c7baad21ff9aa Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 4 Jan 2013 12:06:26 +0000 Subject: [PATCH 04/73] Maclauncher: No 32-bit anymore! --- hudson_mac_build_release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hudson_mac_build_release.sh b/hudson_mac_build_release.sh index a9d1566..8b7592e 100755 --- a/hudson_mac_build_release.sh +++ b/hudson_mac_build_release.sh @@ -54,7 +54,7 @@ OSX_TARGET="10.6" pushd maclauncher/FlightGearOSX # compile the stub executable -gcc -o FlightGear -mmacosx-version-min=$OSX_TARGET -isysroot $SDK_PATH -arch i386 main.m \ +gcc -o FlightGear -mmacosx-version-min=$OSX_TARGET -isysroot $SDK_PATH main.m \ -framework Cocoa -framework RubyCocoa -framework Foundation -framework AppKit popd From bac9b55f06041a63ea16c02ae5b8de31e3549d60 Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 4 Jan 2013 14:37:55 +0000 Subject: [PATCH 05/73] Disable explicit SDK setting for Mac launcher. Setting an SDK is breaking, but since the build slave is running our lowest supported OS version anyway, we can live with the default setting. --- hudson_mac_build_release.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hudson_mac_build_release.sh b/hudson_mac_build_release.sh index 8b7592e..ae2afac 100755 --- a/hudson_mac_build_release.sh +++ b/hudson_mac_build_release.sh @@ -49,12 +49,17 @@ chmod +x $WORKSPACE/dist/bin/osgversion ################################################################################ echo "Building Macflightgear launcher" -OSX_TARGET="10.6" +#OSX_TARGET="10.6" +# JMT - disabling setting the sysroot since it's breaking things on +# current build slave. Sinc ethe slave runs 10.6 natively, we don't +# actually need to set these. Real solution would be to use a proper +# build system for the Mac-launcher of course. +# -mmacosx-version-min=$OSX_TARGET -isysroot $SDK_PATH pushd maclauncher/FlightGearOSX # compile the stub executable -gcc -o FlightGear -mmacosx-version-min=$OSX_TARGET -isysroot $SDK_PATH main.m \ +gcc -o FlightGear main.m \ -framework Cocoa -framework RubyCocoa -framework Foundation -framework AppKit popd From 2c2c819a448191fb6e85af410afd1be9813587e4 Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 18 Jan 2013 13:17:41 +0000 Subject: [PATCH 06/73] Initial release-branch heads. --- fgrun | 2 +- flightgear | 2 +- maclauncher | 2 +- simgear | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fgrun b/fgrun index ae0b0fe..90e936c 160000 --- a/fgrun +++ b/fgrun @@ -1 +1 @@ -Subproject commit ae0b0fef3615a9a2d243da5b566ea3b221f7a6c2 +Subproject commit 90e936c01e28feac4a9c3e28d5227980fb8f1e1d diff --git a/flightgear b/flightgear index 4873a28..ea81903 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 4873a28e9721f637870f28b70e19d2c4b4647da3 +Subproject commit ea81903f6707bb50a362bca64e005bf47f443a8c diff --git a/maclauncher b/maclauncher index 7ffef2c..3692e79 160000 --- a/maclauncher +++ b/maclauncher @@ -1 +1 @@ -Subproject commit 7ffef2cb26442578f3c4b1e22158feb1ad812367 +Subproject commit 3692e79f7dbc2c0d8a98a04da6ac55684185eb67 diff --git a/simgear b/simgear index 724fba4..ea8023e 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit 724fba4af9ebdc6a684d6c4a47d4f6af2f31f386 +Subproject commit ea8023e51f17d2213d4f61548a91eb403e322656 From ecbee417b800f4a8dcde4506906789803df62aa4 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sat, 19 Jan 2013 16:28:58 +0000 Subject: [PATCH 07/73] Use 2.10.0 branch for maclauncher too. --- maclauncher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maclauncher b/maclauncher index 3692e79..7ffef2c 160000 --- a/maclauncher +++ b/maclauncher @@ -1 +1 @@ -Subproject commit 3692e79f7dbc2c0d8a98a04da6ac55684185eb67 +Subproject commit 7ffef2cb26442578f3c4b1e22158feb1ad812367 From 24fd57edd3e77930b6cb81609bb2320876e63415 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sat, 19 Jan 2013 16:29:52 +0000 Subject: [PATCH 08/73] Bump to flightgear branch head. --- flightgear | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flightgear b/flightgear index ea81903..252b6cb 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit ea81903f6707bb50a362bca64e005bf47f443a8c +Subproject commit 252b6cbba16ebdcecf5d583318c1e0c9f8dd95ff From 60c95026ecff6f5da911c3c2d1cf9a5f55b4f822 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 24 Jan 2013 11:38:12 +0100 Subject: [PATCH 09/73] Bump FlightGear version for release branch. --- flightgear | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flightgear b/flightgear index 252b6cb..1b7f4e0 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 252b6cbba16ebdcecf5d583318c1e0c9f8dd95ff +Subproject commit 1b7f4e075377aa6a58ccffbb480da7c07b0e03f8 From df6ee9a21102685997801ec9b75058e322f934da Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 25 Jan 2013 13:18:11 +0100 Subject: [PATCH 10/73] One more bump of the fg release branch. --- flightgear | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flightgear b/flightgear index 1b7f4e0..c606177 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 1b7f4e075377aa6a58ccffbb480da7c07b0e03f8 +Subproject commit c60617730957573e18f6e58e96b28709ddc3828f From 94ea65ec2e6c230c136c1f78731c7ce745becbd2 Mon Sep 17 00:00:00 2001 From: James Turner Date: Mon, 28 Jan 2013 16:09:56 +0000 Subject: [PATCH 11/73] Build Mac release build with debugInfo. (Experimental, let's see if this helps testing) --- hudson_mac_build_release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hudson_mac_build_release.sh b/hudson_mac_build_release.sh index ae2afac..8375ee5 100755 --- a/hudson_mac_build_release.sh +++ b/hudson_mac_build_release.sh @@ -21,7 +21,7 @@ pushd sgBuild cmake -DCMAKE_INSTALL_PREFIX:PATH=$WORKSPACE/dist -G Xcode ../simgear # compile -xcodebuild -configuration Release -target install build +xcodebuild -configuration RelWithDebInfo -target install build if [ $? -ne '0' ]; then echo "make simgear failed" @@ -35,7 +35,7 @@ echo "Starting on FlightGear" pushd fgBuild cmake -DCMAKE_INSTALL_PREFIX:PATH=$WORKSPACE/dist -G Xcode ../flightgear -xcodebuild -configuration Release -target install build +xcodebuild -configuration RelWithDebInfo -target install build if [ $? -ne '0' ]; then echo "make flightgear failed" From c2edd66b51b96afb7951b097593a2d5f7aef3d8a Mon Sep 17 00:00:00 2001 From: James Turner Date: Mon, 28 Jan 2013 16:10:14 +0000 Subject: [PATCH 12/73] Updated Maclauncher version. --- maclauncher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maclauncher b/maclauncher index 7ffef2c..05f4229 160000 --- a/maclauncher +++ b/maclauncher @@ -1 +1 @@ -Subproject commit 7ffef2cb26442578f3c4b1e22158feb1ad812367 +Subproject commit 05f42297d69911df04a95b9b72a74c674013843d From 91fdda387d869a25c5700a76ed857aa7687098af Mon Sep 17 00:00:00 2001 From: James Turner Date: Mon, 28 Jan 2013 23:42:06 +0000 Subject: [PATCH 13/73] Bump to include Ati viewport hack. --- flightgear | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flightgear b/flightgear index c606177..4b7a17b 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit c60617730957573e18f6e58e96b28709ddc3828f +Subproject commit 4b7a17b16fa58e123ba3cf2704388f4f98506cdf From 55933a76217b13152f848109c89f9f7ff1ffa2b7 Mon Sep 17 00:00:00 2001 From: James Turner Date: Wed, 30 Jan 2013 15:46:15 +0000 Subject: [PATCH 14/73] Include GetStart and Short-Ref PDFs in the DMG. Rather than hiding these inside the bundle, lift them up to a visible place. --- hudson_mac_package_release.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hudson_mac_package_release.rb b/hudson_mac_package_release.rb index f57efe1..2822250 100755 --- a/hudson_mac_package_release.rb +++ b/hudson_mac_package_release.rb @@ -150,6 +150,10 @@ File.open("#{contents}/Info.plist", 'w') { |f| `cp #{srcDir}/package/mac/FlightGear.icns #{resourcesDir}/FlightGear.icns` `cp #{srcDir}/COPYING #{dmgDir}` +# move documentation to a public place +`mv fgdata/Docs/FGShortRef.pdf #{dmgDir}` +`mv fgdata/Docs/getstart.pdf #{dmgDir}` + puts "Copying base package files into the image" `rsync -a fgdata/ #{resourcesDir}/data` From 33693907c33d76047246fc007dc57babab612479 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 31 Jan 2013 09:26:45 +0000 Subject: [PATCH 15/73] Include the Options html file in the Mac DMG. --- hudson_mac_package_release.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hudson_mac_package_release.rb b/hudson_mac_package_release.rb index 2822250..324521b 100755 --- a/hudson_mac_package_release.rb +++ b/hudson_mac_package_release.rb @@ -131,7 +131,7 @@ puts "Copying Macflightgear launcher files" Dir.chdir "maclauncher/FlightGearOSX" do `cp FlightGear #{macosDir}` - `rsync -a *.rb *.lproj *.sh *.tiff #{resourcesDir}` + `rsync -a *.rb *.lproj *.sh *.tiff *.html #{resourcesDir}` end if File.exist?("#{$prefixDir}/bin/fgcom-data") From e72e6c5621540c06f9378520e1108959aae58919 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 31 Jan 2013 14:02:02 +0000 Subject: [PATCH 16/73] Mac launcher tweaks. --- maclauncher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maclauncher b/maclauncher index 05f4229..a2c9d0b 160000 --- a/maclauncher +++ b/maclauncher @@ -1 +1 @@ -Subproject commit 05f42297d69911df04a95b9b72a74c674013843d +Subproject commit a2c9d0b8d604afe63e416f5514ffdb29139e2259 From abe9cb809adffe29c009434e6fdfefa0863ee128 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 31 Jan 2013 18:49:09 +0000 Subject: [PATCH 17/73] Bump to include Mac keypad fix. --- flightgear | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flightgear b/flightgear index 4b7a17b..a6aa279 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 4b7a17b16fa58e123ba3cf2704388f4f98506cdf +Subproject commit a6aa2796012967e71c8cdcc0e0a1cff406ebaee1 From ace2336cdeafdc7d3aa7932860df83c000d108cf Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 1 Feb 2013 10:00:59 +0000 Subject: [PATCH 18/73] Fixed MSAA option in Mac launcher --- maclauncher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maclauncher b/maclauncher index a2c9d0b..ad8c49d 160000 --- a/maclauncher +++ b/maclauncher @@ -1 +1 @@ -Subproject commit a2c9d0b8d604afe63e416f5514ffdb29139e2259 +Subproject commit ad8c49da2661ceb573652b8c5dc749a938b8e2ee From cf425684a6348820b49227cc185bf0ee1e5c966e Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 1 Feb 2013 14:45:30 +0000 Subject: [PATCH 19/73] DMG file naming tweaks. --- hudson_mac_package_release.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hudson_mac_package_release.rb b/hudson_mac_package_release.rb index 324521b..5a378b1 100755 --- a/hudson_mac_package_release.rb +++ b/hudson_mac_package_release.rb @@ -86,7 +86,7 @@ fgCurrentYear = t.year fgVersion = File.read("#{srcDir}/version").strip volName="\"FlightGear #{fgVersion}\"" -dmgPath = Dir.pwd + "/output/fg_mac_#{fgVersion}.dmg" +dmgPath = Dir.pwd + "/output/FlightGear-#{fgVersion}.dmg" puts "Creating directory structure" `mkdir -p #{macosDir}` @@ -151,8 +151,8 @@ File.open("#{contents}/Info.plist", 'w') { |f| `cp #{srcDir}/COPYING #{dmgDir}` # move documentation to a public place -`mv fgdata/Docs/FGShortRef.pdf #{dmgDir}` -`mv fgdata/Docs/getstart.pdf #{dmgDir}` +`mv fgdata/Docs/FGShortRef.pdf "#{dmgDir}/Quick Reference.pdf"` +`mv fgdata/Docs/getstart.pdf "#{dmgDir}/Getting Started.pdf"` puts "Copying base package files into the image" `rsync -a fgdata/ #{resourcesDir}/data` From bd19b4a2bd8fcce1685330446b75ee6de745983d Mon Sep 17 00:00:00 2001 From: James Turner Date: Mon, 4 Feb 2013 08:40:44 +0000 Subject: [PATCH 20/73] Update for revised nav-cache rebuild. --- flightgear | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flightgear b/flightgear index a6aa279..b12f127 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit a6aa2796012967e71c8cdcc0e0a1cff406ebaee1 +Subproject commit b12f127c460e9b6515e015e06b3da7358bcb24c7 From 20fffd5b2eb0e93c215f1d226c0a3129cee503be Mon Sep 17 00:00:00 2001 From: James Turner Date: Sat, 9 Feb 2013 10:34:26 +0000 Subject: [PATCH 21/73] Extend Linux release script: create base package. This uses the same tactic as Mac-release; a filtered rsync from the map server's git checkout. --- hudson_build_release.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hudson_build_release.sh b/hudson_build_release.sh index 76c75bd..97ef1f6 100755 --- a/hudson_build_release.sh +++ b/hudson_build_release.sh @@ -5,6 +5,8 @@ if [ "$WORKSPACE" == "" ]; then exit 1 fi +VERSION=`cat flightgear/version` + ##################################################################################### # remove old and create fresh build directories rm -rf sgBuild @@ -53,3 +55,14 @@ make install make package_source cp flightgear-*.tar.bz2 ../output/. +##################################################################################### + +echo "Assembling base package" +cd $WORKSPACE + +echo "Syncing base packages files from sphere.telascience.org" +rsync -avz --filter 'merge base-package.rules' \ + -e ssh jturner@sphere.telascience.org:/home/jturner/fgdata . + +tar cjf output/FlightGear-$VERSION-data.tar.bz fgdata/ + From 9a02d6ecb7aeb7ec7d85b81ce9f514c3b1371240 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sat, 9 Feb 2013 11:04:50 +0000 Subject: [PATCH 22/73] Mac launcher tweaks for release. --- maclauncher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maclauncher b/maclauncher index ad8c49d..7e6406f 160000 --- a/maclauncher +++ b/maclauncher @@ -1 +1 @@ -Subproject commit ad8c49da2661ceb573652b8c5dc749a938b8e2ee +Subproject commit 7e6406f35cebeb7bb7d060bc0adf9d07c7ca6525 From 82fedc736258a4621c4e5328afa7140695228543 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sun, 17 Feb 2013 12:03:46 +0000 Subject: [PATCH 23/73] Work-in-progress on Python script to create catalog.xml Script to generate tarballs and serve directory from an Aircraft folder. Includes thumbnail extraction, MD5 creation, tarball creation and -set.xml parsing, but still some further work to be done. --- create_catalog.py | 97 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100755 create_catalog.py diff --git a/create_catalog.py b/create_catalog.py new file mode 100755 index 0000000..0082553 --- /dev/null +++ b/create_catalog.py @@ -0,0 +1,97 @@ +#!/usr/bin/python + +import os +import sys +import fnmatch +import tarfile +import hashlib +import shutil + +import xml.etree.cElementTree as ET + +rootPath = sys.argv[1] +outputDir = sys.argv[2] + +shutil.rmtree(outputDir) +thumbsDir = os.path.join(outputDir, 'thumbs') +os.makedirs(thumbsDir) + +def parse_setXml(path): + tree = ET.parse(path) + + desc = tree.find('sim/description') + ratings = tree.find('sim/rating') + if (ratings is not None): + for rating in list(ratings): + if rating.tag == 'status': + continue + + rvalue = int(rating.text) + if rvalue < 2: + return None + else: + return None + + d = {} + + d['ratings'] = ratings; + d['status'] = tree.find('sim/status') + d['authors'] = tree.findall('sim/author') + + return d + +def process_aircraft(acft, path): + print '===' + acft + '===' + setFiles = [] + thumbs = [] + + for file in os.listdir(path): + if fnmatch.fnmatch(file, '*-set.xml'): + setFiles.append(file); + + if fnmatch.fnmatch(file, 'thumbnail*'): + thumbs.append(file) + + aircraft = [] + for s in setFiles: + d = parse_setXml(os.path.join(path, s)) + if d is None: + continue + + d['set'] = s[0:-8] + aircraft.append(d) + + # copy thumbnails + for t in thumbs: + outThumb = os.path.join(thumbsDir, acft + "-" + t) + shutil.copyfile(os.path.join(path, t), outThumb) + + if len(aircraft) == 0: + print "no aircraft profiles for " + acft + return + + # tarball creation + outTar = os.path.join(outputDir, acft + ".tar.gz") + tar = tarfile.open(outTar, "w:gz") + tar.add(path, acft) + tar.close() + + digest = hashlib.md5(open(outTar, 'r').read()).hexdigest() + print "wrote tarfile, digest is " + digest + +root = ET.Element('PropertyList') +catalogTree = ET.ElementTree(root) + +licenseElement = ET.SubElement(root, 'license') +licenseElement.text = 'gpl' + +urlElement = ET.SubElement(root, 'url') +urlElement.text = 'http://catalog.xml' + +for acft in os.listdir(rootPath): + path = os.path.join(rootPath, acft); + if (os.path.isdir(path)): + process_aircraft(acft, path) + +catalogTree.write(os.path.join(outputDir, 'catalog.xml'), 'UTF-8') + From ecd1537a61d5636bf8016c8ba9c43dec94d581f3 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 21 Feb 2013 11:06:29 +0000 Subject: [PATCH 24/73] SuperBuild file --- .gitignore | 7 +++++ CMakeLists.txt | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 CMakeLists.txt diff --git a/.gitignore b/.gitignore index a4cb745..b5a76ca 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,10 @@ sgBuild image macflightgear fgdata +src +tmp +Makefile +CMakeFiles +archivebuild +osgbuild +CMakeCache.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..3b70d26 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,78 @@ +cmake_minimum_required (VERSION 2.6.4) + +include (ExternalProject) + +project(FlightGear-Meta) + +if (UNIX) + set(BOOST_BOOTSTRAP "./bootstrap.sh" --prefix=${CMAKE_INSTALL_PREFIX}) +else() + set(BOOST_BOOTSTRAP "bootstrap.bat") +endif() + +if(NOT CMAKE_SYSTEM_NAME MATCHES "Linux") + ExternalProject_Add(Archive + PREFIX ${CMAKE_BINARY_DIR} + URL http://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz + BINARY_DIR archivebuild + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}) + + set(BOOST_ARGS link=static stage --with-system) + ExternalProject_Add(Boost + PREFIX ${CMAKE_BINARY_DIR} + SVN_REPOSITORY http://svn.boost.org/svn/boost/tags/release/Boost_1_52_0 + UPDATE_COMMAND ${BOOST_BOOTSTRAP} + CONFIGURE_COMMAND "" + BUILD_COMMAND ./bjam ${BOOST_ARGS} + BUILD_IN_SOURCE 1 + INSTALL_COMMAND ./b2 install ${BOOST_ARGS}) +endif() # of Linux + +if (APPLE) + SET(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk) + SET(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT} -DOSG_USE_QT=0) + # OSG with some patches applied for Mac + SET(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git) +else() + # normal OSG + SET(OSG_SOURCE SVN_REPOSITORY http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.1.2) +endif() + +if (WIN32) +# ExternalProject_Add(OpenAL ) +endif() # of Windows + +ExternalProject_Add(OSG + PREFIX ${CMAKE_BINARY_DIR} + ${OSG_SOURCE} + BINARY_DIR osgbuild + CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + ) + +ExternalProject_Add(SimGear + PREFIX ${CMAKE_BINARY_DIR} + DEPENDS OSG Boost Archive + DOWNLOAD_COMMAND "" # no need to download + UPDATE_COMMAND "" # or update. + SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear + BINARY_DIR sgbuild + CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}) + +SET(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux) + +ExternalProject_Add(PLIB + PREFIX ${CMAKE_BINARY_DIR} + URL http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz + CONFIGURE_COMMAND /configure --prefix=${CMAKE_INSTALL_PREFIX} ${PLIB_ARGS} + BUILD_IN_SOURCE 1 +) + +ExternalProject_Add(FlightGear + PREFIX ${CMAKE_BINARY_DIR} + DEPENDS SimGear PLIB + DOWNLOAD_COMMAND "" # no need to download + UPDATE_COMMAND "" # or update. + SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear + BINARY_DIR fgbuild + CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ) + From 8fc045b4092ee787c6944386c7fc839d1e8839ec Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 21 Feb 2013 11:08:06 +0000 Subject: [PATCH 25/73] Latest SG+FG --- flightgear | 2 +- simgear | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flightgear b/flightgear index 38ca30c..11c00af 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 38ca30cbd5937ba79f13a27e3df6d997a9db40ef +Subproject commit 11c00afaec8836a5f52bcf8832ff2d50e2f11523 diff --git a/simgear b/simgear index 1784327..a530712 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit 1784327c479d73b62623b151bb891e867422d816 +Subproject commit a53071249171facbbfd0a1840155248f2175dc3c From 3c32c48955544ad052abe6b821e06f9ecfbaaa49 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 21 Feb 2013 14:21:26 +0000 Subject: [PATCH 26/73] RTI support --- CMakeLists.txt | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b70d26..a8e24d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,12 +30,16 @@ endif() # of Linux if (APPLE) SET(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk) - SET(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT} -DOSG_USE_QT=0) + # force disable Qt and Jasper, and ensure an SDKROOT is set, or + # osgViewer system detection goes wrongh + SET(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT} -DOSG_USE_QT=0 -DJASPER_LIBRARY= -DCMAKE_OSX_ARCHITECTURES=x86_64) # OSG with some patches applied for Mac - SET(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git) +# SET(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git) + SET(OSG_SOURCE SVN_REPOSITORY http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.1.4) + else() # normal OSG - SET(OSG_SOURCE SVN_REPOSITORY http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.1.2) + SET(OSG_SOURCE SVN_REPOSITORY http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.1.4) endif() if (WIN32) @@ -49,9 +53,19 @@ ExternalProject_Add(OSG CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ) +ExternalProject_Add(OpenRTI + PREFIX ${CMAKE_BINARY_DIR} + DOWNLOAD_COMMAND GIT_REPOSITORY git://gitorious.org/openrti/openrti.git + BINARY_DIR rtibuild + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + ) + +set(SG_CMAKE_ARGS -DENABLE_RTI=1 -DENABLE_PACKAGE=1) +set(FG_CMAKE_ARGS -DENABLE_RTI=1) + ExternalProject_Add(SimGear PREFIX ${CMAKE_BINARY_DIR} - DEPENDS OSG Boost Archive + DEPENDS OSG Boost Archive OpenRTI DOWNLOAD_COMMAND "" # no need to download UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear From e5f6218be91ffa7d9947ec9b202d3bb04ed97f6f Mon Sep 17 00:00:00 2001 From: James Turner Date: Sun, 24 Feb 2013 21:14:08 +0000 Subject: [PATCH 27/73] SuperBuild tweaks --- CMakeLists.txt | 11 ++++++++--- simgear | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a8e24d4..cb88be7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,14 +32,19 @@ if (APPLE) SET(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk) # force disable Qt and Jasper, and ensure an SDKROOT is set, or # osgViewer system detection goes wrongh - SET(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT} -DOSG_USE_QT=0 -DJASPER_LIBRARY= -DCMAKE_OSX_ARCHITECTURES=x86_64) + SET(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT} + -DOSG_USE_QT=0 + -DJASPER_LIBRARY= + -DCMAKE_OSX_ARCHITECTURES=x86_64 + -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 + ) # OSG with some patches applied for Mac # SET(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git) - SET(OSG_SOURCE SVN_REPOSITORY http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.1.4) + SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) else() # normal OSG - SET(OSG_SOURCE SVN_REPOSITORY http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.1.4) + SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) endif() if (WIN32) diff --git a/simgear b/simgear index a530712..06bfa4f 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit a53071249171facbbfd0a1840155248f2175dc3c +Subproject commit 06bfa4f1a1ef13ce8e52b8b610fa05786ecbe5a6 From b4b5f665c11e834c0e1add29cced822566149bc3 Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 1 Mar 2013 16:26:38 +0000 Subject: [PATCH 28/73] Metabuild starting to work on Windows --- CMakeLists.txt | 90 ++++++++++++++++++++++++++++++++++------------ installWinDeps.bat | 11 ++++++ simgear | 2 +- 3 files changed, 80 insertions(+), 23 deletions(-) create mode 100644 installWinDeps.bat diff --git a/CMakeLists.txt b/CMakeLists.txt index cb88be7..028eca0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,12 +10,7 @@ else() set(BOOST_BOOTSTRAP "bootstrap.bat") endif() -if(NOT CMAKE_SYSTEM_NAME MATCHES "Linux") - ExternalProject_Add(Archive - PREFIX ${CMAKE_BINARY_DIR} - URL http://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz - BINARY_DIR archivebuild - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}) +if(APPLE) set(BOOST_ARGS link=static stage --with-system) ExternalProject_Add(Boost @@ -26,7 +21,9 @@ if(NOT CMAKE_SYSTEM_NAME MATCHES "Linux") BUILD_COMMAND ./bjam ${BOOST_ARGS} BUILD_IN_SOURCE 1 INSTALL_COMMAND ./b2 install ${BOOST_ARGS}) -endif() # of Linux +endif() # of Apple + +set (OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) if (APPLE) SET(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk) @@ -42,56 +39,105 @@ if (APPLE) # SET(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git) SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) +elseif(MSVC) + set( OSG_MSVC "msvc" ) + if (${MSVC_VERSION} EQUAL 1700) + set( OSG_MSVC ${OSG_MSVC}110 ) + elseif (${MSVC_VERSION} EQUAL 1600) + set( OSG_MSVC ${OSG_MSVC}100 ) + else (${MSVC_VERSION} EQUAL 1700) + set( OSG_MSVC ${OSG_MSVC}90 ) + endif (${MSVC_VERSION} EQUAL 1700) + + SET(OSG_CMAKE_ARGS + -DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/3rdParty + -DBUILD_OSG_APPLICATIONS:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH= + -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF + -DFREETYPE_LIBRARY:FILEPATH=${CMAKE_BINARY_DIR}/3rdParty/lib/freetype243.lib + -DGDAL_INCLUDE_DIR:PATH= + -DGDAL_LIBRARY:FILEPATH= + ) + + # for compatability with MSVC directory layout + set(OSG_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install/${OSG_MSVC}/OpenSceneGraph) + SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) else() # normal OSG SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) endif() -if (WIN32) -# ExternalProject_Add(OpenAL ) +if (MSVC) +# download 3rdpart dependeancies zip, including boost + ExternalProject_Add(WinDeps + DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-win32-VS100-3rdParty+OSG-20120411.zip +# extract to current root + SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps + BINARY_DIR ${CMAKE_BINARY_DIR} + CONFIGURE_COMMAND "" + BUILD_COMMAND ${CMAKE_SOURCE_DIR}/installWinDeps.bat + INSTALL_COMMAND "" + ) endif() # of Windows ExternalProject_Add(OSG + DEPENDS WinDeps PREFIX ${CMAKE_BINARY_DIR} ${OSG_SOURCE} BINARY_DIR osgbuild - CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${OSG_INSTALL_PREFIX} +# force Release build of OpenSceneGraph +# BUILD_COMMAND "cmake --build . --config Release" ) +set(SG_CMAKE_ARGS -DENABLE_PACKAGE=1) +set(FG_CMAKE_ARGS "") + +if (FALSE) ExternalProject_Add(OpenRTI PREFIX ${CMAKE_BINARY_DIR} DOWNLOAD_COMMAND GIT_REPOSITORY git://gitorious.org/openrti/openrti.git BINARY_DIR rtibuild CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ) + + list(APPEND SG_CMAKE_ARGS -DENABLE_RTI=1) + list(APPEND FG_CMAKE_ARGS -DENABLE_RTI=1) +endif() -set(SG_CMAKE_ARGS -DENABLE_RTI=1 -DENABLE_PACKAGE=1) -set(FG_CMAKE_ARGS -DENABLE_RTI=1) + + +if (WIN32) + list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) + list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) +endif() ExternalProject_Add(SimGear PREFIX ${CMAKE_BINARY_DIR} - DEPENDS OSG Boost Archive OpenRTI + DEPENDS OSG DOWNLOAD_COMMAND "" # no need to download UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear BINARY_DIR sgbuild CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}) -SET(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux) +# on Windows, PLIB is in the 3rd-party dependancies zip +if (NOT WIN32) + SET(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux) -ExternalProject_Add(PLIB - PREFIX ${CMAKE_BINARY_DIR} - URL http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz - CONFIGURE_COMMAND /configure --prefix=${CMAKE_INSTALL_PREFIX} ${PLIB_ARGS} - BUILD_IN_SOURCE 1 -) + ExternalProject_Add(PLIB + PREFIX ${CMAKE_BINARY_DIR} + URL http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz + CONFIGURE_COMMAND /configure --prefix=${CMAKE_INSTALL_PREFIX} ${PLIB_ARGS} + BUILD_IN_SOURCE 1 + ) +endif() ExternalProject_Add(FlightGear PREFIX ${CMAKE_BINARY_DIR} - DEPENDS SimGear PLIB + DEPENDS SimGear OSG DOWNLOAD_COMMAND "" # no need to download UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear BINARY_DIR fgbuild CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ) - diff --git a/installWinDeps.bat b/installWinDeps.bat new file mode 100644 index 0000000..945562d --- /dev/null +++ b/installWinDeps.bat @@ -0,0 +1,11 @@ + + +REM ExternalProject can't cleanly extract a zip into an existing directory +REM Instead we extract to a subdir, and then move the directories we want +REM using this bat file. + +echo %CD% + +xcopy /Y /E winDeps . + +echo "Done copying Windows deps" diff --git a/simgear b/simgear index 06bfa4f..5e45bde 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit 06bfa4f1a1ef13ce8e52b8b610fa05786ecbe5a6 +Subproject commit 5e45bdeeda7d149b30a550733121b8e34876343f From c20802b84f5e9c1aba97127168a6ba20d5f34afa Mon Sep 17 00:00:00 2001 From: James Turner Date: Tue, 19 Feb 2013 09:40:08 +0000 Subject: [PATCH 29/73] XML write-out improving. Use existing catalog for static data, revision counting. --- create_catalog.py | 72 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 6 deletions(-) diff --git a/create_catalog.py b/create_catalog.py index 0082553..32aa968 100755 --- a/create_catalog.py +++ b/create_catalog.py @@ -12,10 +12,24 @@ import xml.etree.cElementTree as ET rootPath = sys.argv[1] outputDir = sys.argv[2] -shutil.rmtree(outputDir) +existingCatalogPath = os.path.join(outputDir, 'catalog.xml') +existingCatalog = None +if os.path.exists(existingCatalogPath): + existingCatalogPath = ET.parse(existingCatalogPath) + +for file in os.listdir(outputDir): + if fnmatch.fnmatch(file, '*.tar.gz'): + os.remove(os.path.join(outputDir, file)); + + thumbsDir = os.path.join(outputDir, 'thumbs') +shutil.rmtree(thumbsDir) os.makedirs(thumbsDir) +def setProperty(node, id, value): + s = ET.SubElement(node, id) + s.text = value + def parse_setXml(path): tree = ET.parse(path) @@ -34,6 +48,7 @@ def parse_setXml(path): d = {} + d['desc'] = desc d['ratings'] = ratings; d['status'] = tree.find('sim/status') d['authors'] = tree.findall('sim/author') @@ -60,10 +75,12 @@ def process_aircraft(acft, path): d['set'] = s[0:-8] aircraft.append(d) - + + thumbnailNames = [] # copy thumbnails for t in thumbs: outThumb = os.path.join(thumbsDir, acft + "-" + t) + thumbnailNames.append(acft + "-" + t) shutil.copyfile(os.path.join(path, t), outThumb) if len(aircraft) == 0: @@ -77,21 +94,64 @@ def process_aircraft(acft, path): tar.close() digest = hashlib.md5(open(outTar, 'r').read()).hexdigest() + revision = 1 + + # revision check + if acft in existingPackages: + previousMd5 = existingPackages[acft].find('md5').text + previousRevsion = int(existingPackages[acft].find('revision').text) + if digest != previousMd5: + print acft + ": MD5 has changed" + revision = previousRevsion + 1 + else: + existingPackages[acft] = ET.Element('package') + + setProperty(existingPackages[acft], 'id', acft) + setProperty(existingPackages[acft], 'revision', str(revision)) + setProperty(existingPackages[acft], 'md5', digest) + setProperty(existingPackages[acft], 'description', aircraft[0]['desc']) + + #setProperty(existingPackages[acft], 'thumbnails', thumbnailNames) + + for t in thumbnailNames: + tn = ET.SubElement(existingPackages[acft], 'thumbnail') + tn.text = 'thumbs/' + t + + existingPackages[acft].append(aircraft[0]['ratings']) + print "wrote tarfile, digest is " + digest root = ET.Element('PropertyList') catalogTree = ET.ElementTree(root) -licenseElement = ET.SubElement(root, 'license') -licenseElement.text = 'gpl' +existingPackages = dict() -urlElement = ET.SubElement(root, 'url') -urlElement.text = 'http://catalog.xml' +if (existingCatalog is not None): + print 'have existing catalog data' + + root.append(existingCatalog.find('license')) + root.append(existingCatalog.find('url')) + root.append(existingCatalog.find('description')) + root.append(existingCatalog.find('id')) + + # existing data (for revision incrementing) + for n in existingCatalog.findall('package/id'): + existingPackages[n.text] = n; + +#licenseElement = ET.SubElement(root, 'license') +#licenseElement.text = 'gpl' + +#urlElement = ET.SubElement(root, 'url') +#urlElement.text = 'http://catalog.xml' for acft in os.listdir(rootPath): path = os.path.join(rootPath, acft); if (os.path.isdir(path)): process_aircraft(acft, path) + +for ep in existingPackages: + root.append(existingPackages[ep]) + catalogTree.write(os.path.join(outputDir, 'catalog.xml'), 'UTF-8') From 530e41f1b0acbaa0a7fc57cd39f41837a7989e84 Mon Sep 17 00:00:00 2001 From: James Turner Date: Wed, 20 Feb 2013 15:29:02 +0000 Subject: [PATCH 30/73] Catalog XML creation basically works. Still need to write entries. --- create_catalog.py | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/create_catalog.py b/create_catalog.py index 32aa968..7af7f4f 100755 --- a/create_catalog.py +++ b/create_catalog.py @@ -14,8 +14,9 @@ outputDir = sys.argv[2] existingCatalogPath = os.path.join(outputDir, 'catalog.xml') existingCatalog = None +print 'existing ctalog path:' + existingCatalogPath if os.path.exists(existingCatalogPath): - existingCatalogPath = ET.parse(existingCatalogPath) + existingCatalog = ET.parse(existingCatalogPath) for file in os.listdir(outputDir): if fnmatch.fnmatch(file, '*.tar.gz'): @@ -27,9 +28,15 @@ shutil.rmtree(thumbsDir) os.makedirs(thumbsDir) def setProperty(node, id, value): - s = ET.SubElement(node, id) + s = node.find(id) # check for existing + if s is None: + s = ET.SubElement(node, id) s.text = value +def clearChildren(node, tag): + for c in node.findall(tag): + node.remove(c) + def parse_setXml(path): tree = ET.parse(path) @@ -103,20 +110,22 @@ def process_aircraft(acft, path): if digest != previousMd5: print acft + ": MD5 has changed" revision = previousRevsion + 1 + else: + print acft + ": MD5 is unchanged" else: existingPackages[acft] = ET.Element('package') - - setProperty(existingPackages[acft], 'id', acft) + setProperty(existingPackages[acft], 'id', acft) + setProperty(existingPackages[acft], 'revision', str(revision)) setProperty(existingPackages[acft], 'md5', digest) setProperty(existingPackages[acft], 'description', aircraft[0]['desc']) - - #setProperty(existingPackages[acft], 'thumbnails', thumbnailNames) - + + clearChildren(existingPackages[acft], 'thumbnail') for t in thumbnailNames: tn = ET.SubElement(existingPackages[acft], 'thumbnail') tn.text = 'thumbs/' + t - + + clearChildren(existingPackages[acft], 'rating') existingPackages[acft].append(aircraft[0]['ratings']) print "wrote tarfile, digest is " + digest @@ -135,8 +144,13 @@ if (existingCatalog is not None): root.append(existingCatalog.find('id')) # existing data (for revision incrementing) - for n in existingCatalog.findall('package/id'): - existingPackages[n.text] = n; + for n in existingCatalog.findall('package'): + idNode = n.find('id') + if idNode is None: + print 'Missing tag on package' + continue + + existingPackages[idNode.text] = n; #licenseElement = ET.SubElement(root, 'license') #licenseElement.text = 'gpl' From 9019d3c49cab4da0f841b3ffcdffc54efa457f52 Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 1 Mar 2013 17:55:55 +0000 Subject: [PATCH 31/73] More Super-build tweaks. Download and extract libsvn files on Mac, and enable RTI on non-Windows builds. Factor dependencies so they work for all platforms. --- CMakeLists.txt | 66 ++++++++++++++++++++++++++++++++------------------ flightgear | 2 +- 2 files changed, 44 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 028eca0..2cbcadc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,9 @@ else() set(BOOST_BOOTSTRAP "bootstrap.bat") endif() +set(SG_DEPS OSG) +set(FG_DEPS SimGear) + if(APPLE) set(BOOST_ARGS link=static stage --with-system) @@ -21,10 +24,22 @@ if(APPLE) BUILD_COMMAND ./bjam ${BOOST_ARGS} BUILD_IN_SOURCE 1 INSTALL_COMMAND ./b2 install ${BOOST_ARGS}) + + + ExternalProject_Add(libSvn + DOWNLOAD_COMMAND URL http://flightgear.simpits.org:8080/job/Mac-Subversion-libs/lastSuccessfulBuild/artifact/dist/*zip*/dist.zip + PREFIX ${CMAKE_BINARY_DIR} + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND cp -r ${CMAKE_BINARY_DIR}/src/libSvn/include ${CMAKE_INSTALL_PREFIX} && cp -r ${CMAKE_BINARY_DIR}/src/libSvn/lib ${CMAKE_INSTALL_PREFIX} + ) + + list(APPEND SG_DEPS Boost libSvn) endif() # of Apple set (OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +# OpenSceneGraph configuration if (APPLE) SET(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk) # force disable Qt and Jasper, and ensure an SDKROOT is set, or @@ -32,6 +47,7 @@ if (APPLE) SET(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT} -DOSG_USE_QT=0 -DJASPER_LIBRARY= + -DSDL_LIBRARY:FILEPATH= -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 ) @@ -41,13 +57,13 @@ if (APPLE) elseif(MSVC) set( OSG_MSVC "msvc" ) - if (${MSVC_VERSION} EQUAL 1700) + if (${MSVC_VERSION} EQUAL 1700) set( OSG_MSVC ${OSG_MSVC}110 ) - elseif (${MSVC_VERSION} EQUAL 1600) + elseif (${MSVC_VERSION} EQUAL 1600) set( OSG_MSVC ${OSG_MSVC}100 ) - else (${MSVC_VERSION} EQUAL 1700) + else (${MSVC_VERSION} EQUAL 1700) set( OSG_MSVC ${OSG_MSVC}90 ) - endif (${MSVC_VERSION} EQUAL 1700) + endif (${MSVC_VERSION} EQUAL 1700) SET(OSG_CMAKE_ARGS -DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/3rdParty @@ -62,13 +78,15 @@ elseif(MSVC) # for compatability with MSVC directory layout set(OSG_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install/${OSG_MSVC}/OpenSceneGraph) SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) + + list(APPEND OSG_DEPS WinDeps) else() # normal OSG SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) endif() if (MSVC) -# download 3rdpart dependeancies zip, including boost +# download 3rdparty dependeancies zip, including boost ExternalProject_Add(WinDeps DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-win32-VS100-3rdParty+OSG-20120411.zip # extract to current root @@ -78,43 +96,43 @@ if (MSVC) BUILD_COMMAND ${CMAKE_SOURCE_DIR}/installWinDeps.bat INSTALL_COMMAND "" ) -endif() # of Windows + + + list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) + list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) +endif(MSVC) # of Windows ExternalProject_Add(OSG - DEPENDS WinDeps + DEPENDS ${OSG_DEPS} PREFIX ${CMAKE_BINARY_DIR} ${OSG_SOURCE} BINARY_DIR osgbuild CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${OSG_INSTALL_PREFIX} # force Release build of OpenSceneGraph # BUILD_COMMAND "cmake --build . --config Release" - ) +) set(SG_CMAKE_ARGS -DENABLE_PACKAGE=1) set(FG_CMAKE_ARGS "") -if (FALSE) -ExternalProject_Add(OpenRTI - PREFIX ${CMAKE_BINARY_DIR} - DOWNLOAD_COMMAND GIT_REPOSITORY git://gitorious.org/openrti/openrti.git - BINARY_DIR rtibuild - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} +# FIXME install of OpenRTI is failing on Windows, files in PREFIX/share which +# are ending up in C:/Program Files/OpenRTI +if (NOT MSVC) + ExternalProject_Add(OpenRTI + PREFIX ${CMAKE_BINARY_DIR} + DOWNLOAD_COMMAND GIT_REPOSITORY git://gitorious.org/openrti/openrti.git + BINARY_DIR rtibuild + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ) + list(APPEND SG_DEPS OpenRTI) list(APPEND SG_CMAKE_ARGS -DENABLE_RTI=1) list(APPEND FG_CMAKE_ARGS -DENABLE_RTI=1) endif() - - -if (WIN32) - list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) - list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) -endif() - ExternalProject_Add(SimGear PREFIX ${CMAKE_BINARY_DIR} - DEPENDS OSG + DEPENDS ${SG_DEPS} DOWNLOAD_COMMAND "" # no need to download UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear @@ -131,11 +149,13 @@ if (NOT WIN32) CONFIGURE_COMMAND /configure --prefix=${CMAKE_INSTALL_PREFIX} ${PLIB_ARGS} BUILD_IN_SOURCE 1 ) + + list(APPEND FG_DEPS PLIB) endif() ExternalProject_Add(FlightGear PREFIX ${CMAKE_BINARY_DIR} - DEPENDS SimGear OSG + DEPENDS ${FG_DEPS} DOWNLOAD_COMMAND "" # no need to download UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear diff --git a/flightgear b/flightgear index 11c00af..ee1c8a8 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 11c00afaec8836a5f52bcf8832ff2d50e2f11523 +Subproject commit ee1c8a8d662a0398711ee17c53dd64d249d2e030 From 40b0daec9f843fb7adff4a418a58513b8cdad564 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sun, 3 Mar 2013 16:09:41 +0000 Subject: [PATCH 32/73] Bump SG+FG versions. --- flightgear | 2 +- simgear | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flightgear b/flightgear index ee1c8a8..06ef376 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit ee1c8a8d662a0398711ee17c53dd64d249d2e030 +Subproject commit 06ef376bd8b35d6aa789abd5e9cc70c7fc883ce3 diff --git a/simgear b/simgear index 5e45bde..67efc1f 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit 5e45bdeeda7d149b30a550733121b8e34876343f +Subproject commit 67efc1f68f927613efa06c93fd87fb4158d51b05 From 5e8246820378456a6329c6eff23b54ed239d54b4 Mon Sep 17 00:00:00 2001 From: James Turner Date: Wed, 6 Mar 2013 12:38:22 +0000 Subject: [PATCH 33/73] Use Boost from Jenkins, on Windows. --- CMakeLists.txt | 16 +++++++++++++--- flightgear | 2 +- installWinDeps.bat | 3 ++- simgear | 2 +- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2cbcadc..a517139 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -78,7 +78,7 @@ elseif(MSVC) # for compatability with MSVC directory layout set(OSG_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install/${OSG_MSVC}/OpenSceneGraph) SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) - + list(APPEND OSG_DEPS WinDeps) else() # normal OSG @@ -97,7 +97,16 @@ if (MSVC) INSTALL_COMMAND "" ) - + ExternalProject_Add(Boost + DOWNLOAD_COMMAND URL http://flightgear.simpits.org:8080/job/Boost-Win/lastSuccessfulBuild/artifact/Boost/boost/*zip*/boost.zip + SOURCE_DIR ${CMAKE_BINARY_DIR}/Boost/boost + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + ) + + list(APPEND SG_DEPS Boost) + list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) endif(MSVC) # of Windows @@ -160,4 +169,5 @@ ExternalProject_Add(FlightGear UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear BINARY_DIR fgbuild - CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ) + CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + ) diff --git a/flightgear b/flightgear index 06ef376..8d56b46 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 06ef376bd8b35d6aa789abd5e9cc70c7fc883ce3 +Subproject commit 8d56b4664ac77597571dbc0a40459fecf2b4c44e diff --git a/installWinDeps.bat b/installWinDeps.bat index 945562d..6926b48 100644 --- a/installWinDeps.bat +++ b/installWinDeps.bat @@ -6,6 +6,7 @@ REM using this bat file. echo %CD% -xcopy /Y /E winDeps . +md 3rdParty +xcopy /Y /E winDeps/3rdParty 3rdParty echo "Done copying Windows deps" diff --git a/simgear b/simgear index 67efc1f..ff844f6 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit 67efc1f68f927613efa06c93fd87fb4158d51b05 +Subproject commit ff844f67604444763ec9b8d44401fa166f565097 From 19705077f5e386f2f0b9b8665ac3377a387cdec2 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sun, 10 Mar 2013 15:10:15 +0000 Subject: [PATCH 34/73] Bump to latest fg+sg --- flightgear | 2 +- simgear | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flightgear b/flightgear index 8d56b46..67a0acb 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 8d56b4664ac77597571dbc0a40459fecf2b4c44e +Subproject commit 67a0acb64ad5786d1cf93d67de4181ece957aef2 diff --git a/simgear b/simgear index ff844f6..b703102 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit ff844f67604444763ec9b8d44401fa166f565097 +Subproject commit b703102d9b3981d18ccdec9cc3a936408824a202 From 8f53e02e267b68e1bc871d446029e127aa1ac3b8 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 28 Mar 2013 11:11:24 +0000 Subject: [PATCH 35/73] Bump to latest 'next' heads. --- flightgear | 2 +- simgear | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flightgear b/flightgear index 67a0acb..1a4993f 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 67a0acb64ad5786d1cf93d67de4181ece957aef2 +Subproject commit 1a4993f08b1bfa0dd66274a3eb3be8b6a8ab5b32 diff --git a/simgear b/simgear index b703102..b6c542b 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit b703102d9b3981d18ccdec9cc3a936408824a202 +Subproject commit b6c542b0e7803971fca223ab3eb8d76b4685f31d From 1e183ed9de935549d658f7816a8e09021c31290d Mon Sep 17 00:00:00 2001 From: Pat Date: Wed, 5 Jun 2013 20:41:01 -0400 Subject: [PATCH 36/73] Cumulative Changes from versions 1.9.5 through 1.9.10 Changes 1.9.5 through 1.9.10 Multiple changes restructuring parts of the script FGRUN added to ALL list Regular expression used to determine if a component is to be built OPENRTI added Fixes and changes in 1.9.10 url for plib has / at the end to prevent problems with svn url for osg has been updated to http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1/ x and v options added to aid in script debugging w option added to aid in cmake debugging --- download_and_compile.sh | 464 ++++++++++++++++++---------------------- 1 file changed, 204 insertions(+), 260 deletions(-) mode change 100644 => 100755 download_and_compile.sh diff --git a/download_and_compile.sh b/download_and_compile.sh old mode 100644 new mode 100755 index 8b9f40c..222df7f --- a/download_and_compile.sh +++ b/download_and_compile.sh @@ -1,7 +1,7 @@ #!/bin/bash #* Written by Francesco Angelo Brisa, started January 2008. # -# Copyright (C) 2008 Francesco Angelo Brisa +# 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 @@ -17,8 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . - -VERSION="1.9-4" +VERSION="1.9-10" #COMPILE GIT FGFS @@ -30,13 +29,13 @@ VERSION="1.9-4" # 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 LOGSEP="***********************************" WHATTOBUILD= +WHATTOBUILDALL=( PLIB OSG OPENRTI SIMGEAR FGFS DATA FGRUN FGCOM FGCOMGUI) UPDATE= STABLE= @@ -47,14 +46,13 @@ COMPILE="y" RECONFIGURE="y" DOWNLOAD="y" - JOPTION="" OOPTION="" DEBUG="" WITH_EVENT_INPUT="" WITH_OPENRTI="" -while getopts "suhc:p:a:d:r:j:O:gei" OPTION +while getopts "suhgeixvwc:p:a:d:r:j:O:" OPTION do case $OPTION in s) @@ -64,7 +62,7 @@ do UPDATE="UPDATE" ;; h) - WHATTOBUILD="--help" + HELP="HELP" ;; a) APT_GET_UPDATE=$OPTARG @@ -96,11 +94,18 @@ do i) WITH_OPENRTI="-D ENABLE_RTI=ON" ;; - - + x) + set -x + ;; + v) + set -v + ;; + w) + VERBOSE_MAKEFILE="-D CMAKE_VERBOSE_MAKEFILE=ON" + ;; ?) echo "error" - WHATTOBUILD="--help" + HELP="HELP" #exit ;; esac @@ -111,24 +116,31 @@ shift $(($OPTIND - 1)) if [ ! "$#" = "0" ] then - if [ "$WHATTOBUILD" = "" ] - then - WHATTOBUILD="$1" - fi - - if [ ! "$#" = "1" ] - then - UPDATE="$2" - fi - + for arg in $* + do + #echo "$arg" + 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 +#printf "%s\n" "${WHATTOBUILD[@]}" ####################################################### # Last stable revision: currently FlightGear 2.4.0 with 3.0.1 PLIB_STABLE_REVISION="2172" -OSG_STABLE_REVISION="http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1" +OSG_STABLE_REVISION="http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1/" # common stable branch for flightgear, simgear and fgdata FGSG_STABLE_GIT_BRANCH="release/2.8.0" @@ -152,15 +164,13 @@ FGCOM_UNSTABLE_GIT_BRANCH="master" FGCOMGUI_STABLE_REVISION="46" # Current developer revision: latest FlightGear GIT (2.5.0) with OSG 3.0.1 -OSG_UNSTABLE_REVISION="http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1" +OSG_UNSTABLE_REVISION="http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1/" ####################################################### # set script to stop if an error occours set -e - - -if [ "$WHATTOBUILD" = "--help" ] +if [ "$HELP" = "HELP" ] then echo "$0 Version $VERSION" echo "Usage:" @@ -186,7 +196,6 @@ then exit fi - ####################################################### ####################################################### # Warning about compilation time and size @@ -202,9 +211,6 @@ echo "* Please, be patient ...... *" echo "* *" echo "**************************************" - - - ####################################################### ####################################################### # Debian 4.0rX (Etch) backports.org @@ -246,7 +252,6 @@ fi ####################################################### ####################################################### - echo $0 $* > $LOGFILE echo "APT_GET_UPDATE=$APT_GET_UPDATE" >> $LOGFILE @@ -258,7 +263,6 @@ echo "JOPTION=$JOPTION" >> $LOGFILE echo "OOPTION=$OOPTION" >> $LOGFILE echo "DEBUG=$DEBUG" >> $LOGFILE - echo "$LOGSEP" >> $LOGFILE # discovering linux @@ -267,12 +271,14 @@ then . /etc/lsb-release fi - # default is hardy -DISTRO_PACKAGES="libopenal-dev libalut-dev libalut0 libfltk1.3-dev libfltk1.3 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 libboost-dev libasound2-dev libasound2 libpng12-dev libpng12-0 libjasper1 libjasper-dev libopenexr-dev libboost-serialization-dev git-core libhal-dev libqt4-dev scons python-tk python-imaging-tk libsvn-dev libglew1.5-dev libxft2 libxft-dev libxinerama1 libxinerama-dev" +DISTRO_PACKAGES="libopenal-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 libboost-dev libasound2-dev libasound2 libpng12-dev libpng12-0 libjasper1 libjasper-dev libopenexr-dev libboost-serialization-dev git-core libhal-dev libqt4-dev scons python-tk python-imaging-tk libsvn-dev libglew1.5-dev libxft2 libxft-dev libxinerama1 libxinerama-dev" UBUNTU_PACKAGES="freeglut3-dev libjpeg62-dev libjpeg62 libapr1-dev libfltk1.3-dev libfltk1.3" -DEBIAN_PACKAGES="freeglut3-dev libjpeg8-dev libjpeg8 libfltk-dev libfltk1.1" + +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" ] @@ -281,14 +287,20 @@ then DISTRO_PACKAGES="$DISTRO_PACKAGES $UBUNTU_PACKAGES" else echo "DEBIAN I SUPPOUSE" >> $LOGFILE + + DEBIAN_PACKAGES=$DEBIAN_PACKAGES_STABLE + if [ ! "$(apt-cache search libfltk1.3)" = "" ] + then + #TESTING MAYBE + DEBIAN_PACKAGES=$DEBIAN_PACKAGES_TESTING + fi + DISTRO_PACKAGES="$DISTRO_PACKAGES $DEBIAN_PACKAGES" fi echo "$LOGSEP" >> $LOGFILE - if [ "$DOWNLOAD_PACKAGES" = "y" ] then - echo -n "PACKAGE INSTALLATION ... " >> $LOGFILE LIBOPENALPACKAGE=$(apt-cache search libopenal | grep "libopenal. " | sed s/\ .*//) @@ -322,19 +334,8 @@ then echo " OK" >> $LOGFILE fi - - - - - - - - COMPILE_BASE_DIR=. - - - #cd into compile base directory cd "$COMPILE_BASE_DIR" @@ -343,11 +344,9 @@ CBD=$(pwd) LOGFILE=$CBD/$LOGFILE - echo "DIRECTORY= $CBD" >> $LOGFILE echo "$LOGSEP" >> $LOGFILE - if [ ! -d install ] then mkdir install @@ -360,19 +359,17 @@ INSTALL_DIR=$CBD/$SUB_INSTALL_DIR cd "$CBD" mkdir -p build - ####################################################### # PLIB ####################################################### PLIB_INSTALL_DIR=plib INSTALL_DIR_PLIB=$INSTALL_DIR/$PLIB_INSTALL_DIR - cd "$CBD" -#svn co http://plib.svn.sourceforge.net/svnroot/plib/trunk plib +#svn co http://plib.svn.sourceforge.net/svnroot/plib/trunk/ plib -if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "PLIB" -o "$WHATTOBUILD" = "ALL" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="PLIB"' ]] then if [ ! "$UPDATE" = "UPDATE" ] then @@ -401,7 +398,7 @@ then cd - else echo -n "DOWNLOADING FROM http://plib.svn.sourceforge.net ..." >> $LOGFILE - svn $PLIB_STABLE_REVISION_ co http://plib.svn.sourceforge.net/svnroot/plib/trunk plib + svn $PLIB_STABLE_REVISION_ co http://plib.svn.sourceforge.net/svnroot/plib/trunk/ plib #cat plib/src/util/ul.h | sed s/"PLIB_TINY_VERSION 5"/"PLIB_TINY_VERSION 6"/g > ul.h-v1.8.6 #mv ul.h-v1.8.6 plib/src/util/ul.h echo " OK" >> $LOGFILE @@ -452,7 +449,6 @@ then fi fi - ####################################################### # OpenSceneGraph ####################################################### @@ -460,7 +456,7 @@ OSG_INSTALL_DIR=OpenSceneGraph INSTALL_DIR_OSG=$INSTALL_DIR/$OSG_INSTALL_DIR cd "$CBD" -if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "OSG" -o "$WHATTOBUILD" = "ALL" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="OSG"' ]] then echo "****************************************" | tee -a $LOGFILE echo "**************** OSG *******************" | tee -a $LOGFILE @@ -495,7 +491,7 @@ then - cmake -D CMAKE_BUILD_TYPE="Release" -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_OSG" ../../OpenSceneGraph/ 2>&1 | tee -a $LOGFILE + cmake ${VERBOSE_MAKEFILE} -D CMAKE_BUILD_TYPE="Release" -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_OSG" ../../OpenSceneGraph/ 2>&1 | tee -a $LOGFILE echo "RECONFIGURE OSG DONE." >> $LOGFILE @@ -531,8 +527,6 @@ then cd - fi - - ####################################################### # OPENRTI ####################################################### @@ -545,7 +539,7 @@ then mkdir "openrti" fi -if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "OPENRTI" -o "$WHATTOBUILD" = "ALL" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="OPENRTI"' ]] then echo "****************************************" | tee -a $LOGFILE echo "**************** OPENRTI ***************" | tee -a $LOGFILE @@ -606,7 +600,7 @@ then cd "$CBD"/build/openrti echo -n "RECONFIGURE OPENRTI ... " >> $LOGFILE rm -f ../../openrti/openrti/CMakeCache.txt - cmake -D CMAKE_BUILD_TYPE="Release" -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_OPENRTI" ../../openrti/openrti/ 2>&1 | tee -a $LOGFILE + cmake ${VERBOSE_MAKEFILE} -D CMAKE_BUILD_TYPE="Release" -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_OPENRTI" ../../openrti/openrti/ 2>&1 | tee -a $LOGFILE echo " OK" >> $LOGFILE @@ -629,8 +623,6 @@ then cd - fi - - ####################################################### # SIMGEAR ####################################################### @@ -643,7 +635,7 @@ then mkdir "simgear" fi -if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "SIMGEAR" -o "$WHATTOBUILD" = "ALL" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="SIMGEAR"' ]] then echo "****************************************" | tee -a $LOGFILE echo "**************** SIMGEAR ***************" | tee -a $LOGFILE @@ -708,7 +700,7 @@ then cd "$CBD"/build/simgear echo -n "RECONFIGURE SIMGEAR ... " >> $LOGFILE rm -f ../../simgear/simgear/CMakeCache.txt - cmake -D CMAKE_BUILD_TYPE="Release" $WITH_OPENRTI -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_SIMGEAR" -D "CMAKE_PREFIX_PATH=$INSTALL_DIR_OSG;$INSTALL_DIR_OPENRTI" ../../simgear/simgear/ 2>&1 | tee -a $LOGFILE + cmake ${VERBOSE_MAKEFILE} -D CMAKE_BUILD_TYPE="Release" $WITH_OPENRTI -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_SIMGEAR" -D "CMAKE_PREFIX_PATH=$INSTALL_DIR_OSG;$INSTALL_DIR_OPENRTI" ../../simgear/simgear/ 2>&1 | tee -a $LOGFILE echo " OK" >> $LOGFILE @@ -731,7 +723,6 @@ then cd - fi - ####################################################### # FGFS ####################################################### @@ -744,7 +735,8 @@ then mkdir "fgfs" fi -if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "FGFS" -o "$WHATTOBUILD" = "DATA" -o "$WHATTOBUILD" = "ALL" ] +#if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "FGFS" -o "$WHATTOBUILD" = "DATA" -o "$WHATTOBUILD" = "ALL" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGFS"' || "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="DATA"' ]] then echo "****************************************" | tee -a $LOGFILE @@ -753,7 +745,7 @@ then cd fgfs - if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "FGFS" -o "$WHATTOBUILD" = "ALL" ] + if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGFS"' ]] then if [ "$DOWNLOAD" = "y" ] then @@ -826,15 +818,9 @@ then #cp -f utils/fgadmin/src/CMakeLists_without_err.txt utils/fgadmin/src/CMakeLists.txt - cmake -D CMAKE_BUILD_TYPE="Release" $WITH_OPENRTI -D "WITH_FGPANEL=OFF" -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_FGFS" -D "CMAKE_PREFIX_PATH=$INSTALL_DIR_OSG;$INSTALL_DIR_PLIB;$INSTALL_DIR_SIMGEAR;$INSTALL_DIR_OPENRTI" ../../fgfs/flightgear 2>&1 | tee -a $LOGFILE + cmake ${VERBOSE_MAKEFILE} -D CMAKE_BUILD_TYPE="Release" $WITH_OPENRTI -D "WITH_FGPANEL=OFF" -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_FGFS" -D "CMAKE_PREFIX_PATH=$INSTALL_DIR_OSG;$INSTALL_DIR_PLIB;$INSTALL_DIR_SIMGEAR;$INSTALL_DIR_OPENRTI" ../../fgfs/flightgear 2>&1 | tee -a $LOGFILE echo " OK" >> $LOGFILE - - - - - - fi fi @@ -855,8 +841,7 @@ then fi cd .. - - if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "DATA" -o "$WHATTOBUILD" = "ALL" ] + if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="DATA"' ]] then if [ ! "$UPDATE" = "UPDATE" ] then @@ -898,37 +883,6 @@ then cd .. - - #cd $INSTALL_DIR_FGFS - #echo -n "GIT DATA FROM git://gitorious.org/flightgear-aircraft/c172p.git ... " >> $LOGFILE - - #if [ ! -d "aircrafts" ] - #then - # mkdir "aircrafts" - # ln ../fgdata/Aircraft/Generic/ . -s - # ln ../fgdata/Aircraft/Instruments . -s - # ln ../fgdata/Aircraft/Instruments-3d/ . -s - #fi - - #cd aircrafts - - #if [ -d "c172p" ] - #then - # echo "c172p exists already." - #else -# -# git clone git://gitorious.org/flightgear-aircraft/c172p.git -# fi -# -# cd c172p -# git fetch origin - - - - - - - echo " OK" >> $LOGFILE cd "$EXDIR" fi @@ -974,7 +928,7 @@ fi FGO_INSTALL_DIR=fgo INSTALL_DIR_FGO=$INSTALL_DIR/$FGO_INSTALL_DIR cd "$CBD" -if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "FGO" -o "$WHATTOBUILD" = "ALL" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGO"' ]] then echo "****************************************" | tee -a $LOGFILE echo "***************** FGO ******************" | tee -a $LOGFILE @@ -1004,14 +958,13 @@ then fi - ####################################################### # FGx ####################################################### FGX_INSTALL_DIR=fgx INSTALL_DIR_FGX=$INSTALL_DIR/$FGX_INSTALL_DIR cd "$CBD" -if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "FGX" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGX"' ]] then echo "****************************************" | tee -a $LOGFILE echo "***************** FGX ******************" | tee -a $LOGFILE @@ -1041,7 +994,6 @@ then cd .. - cd fgx/src/ #Patch in order to pre-setting paths @@ -1100,7 +1052,6 @@ then fi - ####################################################### # FGRUN ####################################################### @@ -1108,7 +1059,7 @@ FGRUN_INSTALL_DIR=fgrun INSTALL_DIR_FGRUN=$INSTALL_DIR/$FGRUN_INSTALL_DIR cd "$CBD" -if [ "$WHATTOBUILD" = "" -o "$WHATTOBUILD" = "FGRUN" -o "$WHATTOBUILD" = "ALL" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGRUN"' ]] then echo "****************************************" | tee -a $LOGFILE echo "**************** FGRUN *****************" | tee -a $LOGFILE @@ -1174,7 +1125,7 @@ then echo -n "RECONFIGURE FGRUN ... " >> $LOGFILE rm -f ../../fgrun/CMakeCache.txt - cmake -D CMAKE_BUILD_TYPE="Release" -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -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 + cmake ${VERBOSE_MAKEFILE} -D CMAKE_BUILD_TYPE="Release" -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -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 echo " OK" >> $LOGFILE fi @@ -1206,8 +1157,6 @@ then fi - - ####################################################### # FGCOM ####################################################### @@ -1215,7 +1164,7 @@ FGCOM_INSTALL_DIR=fgcom INSTALL_DIR_FGCOM=$INSTALL_DIR/$FGCOM_INSTALL_DIR cd "$CBD" -if [ "$WHATTOBUILD" = "ALL" -o "$WHATTOBUILD" = "FGCOM" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGCOM"' ]] then echo "****************************************" | tee -a $LOGFILE echo "**************** FGCOM *****************" | tee -a $LOGFILE @@ -1264,96 +1213,93 @@ then echo " OK" >> $LOGFILE cd .. - - - - + #patch for new netdb.h version. cat fgcom/iaxclient/lib/libiax2/src/iax.c | sed s/hp-\>h_addr,/hp-\>h_addr_list[0],/g > fgcom/iaxclient/lib/libiax2/src/iax_ok.c mv fgcom/iaxclient/lib/libiax2/src/iax_ok.c fgcom/iaxclient/lib/libiax2/src/iax.c fi - - if [ "$RECONFIGURE" = "y" ] + cd "$CBD" + if [ -d "fgcom" ] then - cd "$CBD" - mkdir -p build/fgcom + if [ "$RECONFIGURE" = "y" ] + then + cd "$CBD" + mkdir -p build/fgcom + + cd "$CBD"/build/fgcom + echo -n "RECONFIGURE FGCOM ... " >> $LOGFILE + rm -f CMakeCache.txt + cmake ${VERBOSE_MAKEFILE} -D CMAKE_BUILD_TYPE="Release" -D "CMAKE_PREFIX_PATH=$INSTALL_DIR_PLIB;$INSTALL_DIR_SIMGEAR" -D "CMAKE_INSTALL_PREFIX:PATH=$INSTALL_DIR_FGCOM" "$CBD"/fgcom 2>&1 | tee -a $LOGFILE + + echo " OK" >> $LOGFILE + + cd "$CBD"/fgcom/src/ + + cp Makefile Makefile.original + cat Makefile | sed s/\\//MY_SLASH_HERE/g > Makefile_NOSLASHES + + # 1 + INSTALL_DIR_PLIB_NO_SLASHES=$(echo "$INSTALL_DIR_PLIB" | sed -e 's/\//MY_SLASH_HERE/g') + cat Makefile_NOSLASHES | sed s/PLIB_PREFIX\ *:=\ *MY_SLASH_HEREusrMY_SLASH_HERElocalMY_SLASH_HEREsrcMY_SLASH_HEREfgfs-builderMY_SLASH_HEREinstall/PLIB_PREFIX\ :=\ $INSTALL_DIR_PLIB_NO_SLASHES/g > Makefile_temp + mv -f Makefile_temp Makefile_NOSLASHES + + #2 + CXXFLAGS=$(cat Makefile_NOSLASHES | grep ^CXXFLAGS | head -n 1) + CXXFLAGS2=$CXXFLAGS" -I $INSTALL_DIR_SIMGEAR/include -I $INSTALL_DIR_OSG/include" + CXXFLAGS3=$(echo $CXXFLAGS2 | sed s/\\//MY_SLASH_HERE/g) + + cat Makefile_NOSLASHES | sed s/^CXXFLAGS\ *:=.*/"$CXXFLAGS3"/g > Makefile_temp + mv -f Makefile_temp Makefile_NOSLASHES + + #3 + LDFLAGS=$(cat Makefile_NOSLASHES | grep ^LDFLAGS | head -n 1) + LDFLAGS2=$LDFLAGS" -L $INSTALL_DIR_SIMGEAR/lib" + LDFLAGS3=$(echo $LDFLAGS2 | sed s/\\//MY_SLASH_HERE/g) + + cat Makefile_NOSLASHES | sed s/^LDFLAGS.*/"$LDFLAGS3"/g > Makefile_temp + mv -f Makefile_temp Makefile_NOSLASHES + + #4 + INSTALL_DIR_FGCOM_NO_SLASHS=$(echo "$INSTALL_DIR_FGCOM" | sed -e 's/\//MY_SLASH_HERE/g') + INSTALL_BIN_FGCOM_NO_SLASHS="$INSTALL_DIR_FGCOM_NO_SLASHS""MY_SLASH_HEREbin" + + cat Makefile_NOSLASHES | sed s/INSTALL_BIN\ *:=\ *MY_SLASH_HEREusrMY_SLASH_HERElocalMY_SLASH_HEREbin/INSTALL_BIN\ :=\ $INSTALL_BIN_FGCOM_NO_SLASHS/g > Makefile_temp + mv -f Makefile_temp Makefile_NOSLASHES + + cat Makefile_NOSLASHES | sed s/INSTALL_DIR\ *:=\ *MY_SLASH_HEREusrMY_SLASH_HERElocal/INSTALL_DIR\ :=\ $INSTALL_DIR_FGCOM_NO_SLASHS/g > Makefile_temp + mv -f Makefile_temp Makefile_NOSLASHES + + + #last + cat Makefile_NOSLASHES | sed s/MY_SLASH_HERE/\\//g > Makefile + + fi cd "$CBD"/build/fgcom - echo -n "RECONFIGURE FGCOM ... " >> $LOGFILE - rm -f CMakeCache.txt - cmake -D CMAKE_BUILD_TYPE="Release" -D "CMAKE_PREFIX_PATH=$INSTALL_DIR_PLIB;$INSTALL_DIR_SIMGEAR" -D "CMAKE_INSTALL_PREFIX:PATH=$INSTALL_DIR_FGCOM" "$CBD"/fgcom 2>&1 | tee -a $LOGFILE - echo " OK" >> $LOGFILE + mkdir -p "$INSTALL_DIR_FGCOM"/bin - cd "$CBD"/fgcom/src/ - - cp Makefile Makefile.original - cat Makefile | sed s/\\//MY_SLASH_HERE/g > Makefile_NOSLASHES - - # 1 - INSTALL_DIR_PLIB_NO_SLASHES=$(echo "$INSTALL_DIR_PLIB" | sed -e 's/\//MY_SLASH_HERE/g') - cat Makefile_NOSLASHES | sed s/PLIB_PREFIX\ *:=\ *MY_SLASH_HEREusrMY_SLASH_HERElocalMY_SLASH_HEREsrcMY_SLASH_HEREfgfs-builderMY_SLASH_HEREinstall/PLIB_PREFIX\ :=\ $INSTALL_DIR_PLIB_NO_SLASHES/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES - - #2 - CXXFLAGS=$(cat Makefile_NOSLASHES | grep ^CXXFLAGS | head -n 1) - CXXFLAGS2=$CXXFLAGS" -I $INSTALL_DIR_SIMGEAR/include -I $INSTALL_DIR_OSG/include" - CXXFLAGS3=$(echo $CXXFLAGS2 | sed s/\\//MY_SLASH_HERE/g) - - cat Makefile_NOSLASHES | sed s/^CXXFLAGS\ *:=.*/"$CXXFLAGS3"/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES - - #3 - LDFLAGS=$(cat Makefile_NOSLASHES | grep ^LDFLAGS | head -n 1) - LDFLAGS2=$LDFLAGS" -L $INSTALL_DIR_SIMGEAR/lib" - LDFLAGS3=$(echo $LDFLAGS2 | sed s/\\//MY_SLASH_HERE/g) - - cat Makefile_NOSLASHES | sed s/^LDFLAGS.*/"$LDFLAGS3"/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES - - #4 - INSTALL_DIR_FGCOM_NO_SLASHS=$(echo "$INSTALL_DIR_FGCOM" | sed -e 's/\//MY_SLASH_HERE/g') - INSTALL_BIN_FGCOM_NO_SLASHS="$INSTALL_DIR_FGCOM_NO_SLASHS""MY_SLASH_HEREbin" - - cat Makefile_NOSLASHES | sed s/INSTALL_BIN\ *:=\ *MY_SLASH_HEREusrMY_SLASH_HERElocalMY_SLASH_HEREbin/INSTALL_BIN\ :=\ $INSTALL_BIN_FGCOM_NO_SLASHS/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES - - cat Makefile_NOSLASHES | sed s/INSTALL_DIR\ *:=\ *MY_SLASH_HEREusrMY_SLASH_HERElocal/INSTALL_DIR\ :=\ $INSTALL_DIR_FGCOM_NO_SLASHS/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES + if [ "$COMPILE" = "y" ] + then + echo "MAKE FGCOM" >> $LOGFILE + echo "cmake --build . --config Release" >> $LOGFILE + cmake --build . --config Release 2>&1 | tee -a $LOGFILE - - #last - cat Makefile_NOSLASHES | sed s/MY_SLASH_HERE/\\//g > Makefile + echo "INSTALL FGCOM" >> $LOGFILE + cmake ${VERBOSE_MAKEFILE} -DBUILD_TYPE=Release -P cmake_install.cmake 2>&1 | tee -a $LOGFILE + fi + cd "$CBD" + echo "#!/bin/sh" > run_fgcom.sh + echo "cd \$(dirname \$0)" >> run_fgcom.sh + echo "cd $SUB_INSTALL_DIR/$FGCOM_INSTALL_DIR/bin" >> run_fgcom.sh + echo "export LD_LIBRARY_PATH=../../$PLIB_INSTALL_DIR/lib:../../$OSG_INSTALL_DIR/lib:../../$SIMGEAR_INSTALL_DIR/lib" >> run_fgcom.sh + echo "./fgcom -Sfgcom.flightgear.org.uk \$@" >> run_fgcom.sh + chmod 755 run_fgcom.sh fi - - cd "$CBD"/build/fgcom - - mkdir -p "$INSTALL_DIR_FGCOM"/bin - - if [ "$COMPILE" = "y" ] - then - echo "MAKE FGCOM" >> $LOGFILE - echo "cmake --build . --config Release" >> $LOGFILE - cmake --build . --config Release 2>&1 | tee -a $LOGFILE - - echo "INSTALL FGCOM" >> $LOGFILE - cmake -DBUILD_TYPE=Release -P cmake_install.cmake 2>&1 | tee -a $LOGFILE - fi - cd "$CBD" - - echo "#!/bin/sh" > run_fgcom.sh - echo "cd \$(dirname \$0)" >> run_fgcom.sh - echo "cd $SUB_INSTALL_DIR/$FGCOM_INSTALL_DIR/bin" >> run_fgcom.sh - echo "export LD_LIBRARY_PATH=../../$PLIB_INSTALL_DIR/lib:../../$OSG_INSTALL_DIR/lib:../../$SIMGEAR_INSTALL_DIR/lib" >> run_fgcom.sh - echo "./fgcom -Sfgcom.flightgear.org.uk \$@" >> run_fgcom.sh - chmod 755 run_fgcom.sh - fi - - ####################################################### # FGCOMGUI ####################################################### @@ -1361,7 +1307,7 @@ FGCOMGUI_INSTALL_DIR=fgcomgui INSTALL_DIR_FGCOMGUI=$INSTALL_DIR/$FGCOMGUI_INSTALL_DIR cd "$CBD" -if [ "$WHATTOBUILD" = "ALL" -o "$WHATTOBUILD" = "FGCOMGUI" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="FGCOMGUI"' ]] then echo "****************************************" | tee -a $LOGFILE echo "*************** FGCOMGUI ***************" | tee -a $LOGFILE @@ -1383,30 +1329,30 @@ then fi - cd fgcomgui/ - - mkdir -p "$INSTALL_DIR_FGCOMGUI" - - if [ "$COMPILE" = "y" ] + if [ -d "fgcomgui" ] then - - - echo "SCONS FGCOMGUI" >> $LOGFILE - echo "scons prefix=\"$INSTALL_DIR_FGCOMGUI\" $JOPTION" >> $LOGFILE - scons prefix="$INSTALL_DIR_FGCOMGUI" $JOPTION 2>&1 | tee -a $LOGFILE - echo "INSTALL FGCOM" >> $LOGFILE - scons install 2>&1 | tee -a $LOGFILE + cd fgcomgui/ + + mkdir -p "$INSTALL_DIR_FGCOMGUI" + + if [ "$COMPILE" = "y" ] + then + echo "SCONS FGCOMGUI" >> $LOGFILE + echo "scons prefix=\"$INSTALL_DIR_FGCOMGUI\" $JOPTION" >> $LOGFILE + scons prefix="$INSTALL_DIR_FGCOMGUI" $JOPTION 2>&1 | tee -a $LOGFILE + echo "INSTALL FGCOM" >> $LOGFILE + scons install 2>&1 | tee -a $LOGFILE + fi + cd "$CBD" + + echo "#!/bin/sh" > run_fgcomgui.sh + echo "cd \$(dirname \$0)" >> run_fgcomgui.sh + echo "cd $SUB_INSTALL_DIR/$FGCOMGUI_INSTALL_DIR/bin" >> run_fgcomgui.sh + echo "export LD_LIBRARY_PATH=../../$PLIB_INSTALL_DIR/lib:../../$OSG_INSTALL_DIR/lib:../../$SIMGEAR_INSTALL_DIR/lib" >> run_fgcomgui.sh + echo "export PATH=../../fgcom/bin/:$PATH" >> run_fgcomgui.sh + echo "./fgcomgui \$@" >> run_fgcomgui.sh + chmod 755 run_fgcomgui.sh fi - cd "$CBD" - - echo "#!/bin/sh" > run_fgcomgui.sh - echo "cd \$(dirname \$0)" >> run_fgcomgui.sh - echo "cd $SUB_INSTALL_DIR/$FGCOMGUI_INSTALL_DIR/bin" >> run_fgcomgui.sh - echo "export LD_LIBRARY_PATH=../../$PLIB_INSTALL_DIR/lib:../../$OSG_INSTALL_DIR/lib:../../$SIMGEAR_INSTALL_DIR/lib" >> run_fgcomgui.sh - echo "export PATH=../../fgcom/bin/:$PATH" >> run_fgcomgui.sh - echo "./fgcomgui \$@" >> run_fgcomgui.sh - chmod 755 run_fgcomgui.sh - fi @@ -1417,69 +1363,68 @@ ATLAS_INSTALL_DIR=atlas INSTALL_DIR_ATLAS=$INSTALL_DIR/$ATLAS_INSTALL_DIR cd "$CBD" -if [ "$WHATTOBUILD" = "ALL" -o "$WHATTOBUILD" = "ATLAS" ] +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="ATLAS"' ]] then echo "****************************************" | tee -a $LOGFILE echo "**************** ATLAS *****************" | tee -a $LOGFILE echo "****************************************" | tee -a $LOGFILE - - if [ "$DOWNLOAD" = "y" ] then echo -n "CSV FROM atlas.cvs.sourceforge.net:/cvsroot/atlas ... " >> $LOGFILE cvs -z3 -d:pserver:anonymous@atlas.cvs.sourceforge.net:/cvsroot/atlas co Atlas echo " OK" >> $LOGFILE - echo "fixing old function name \".get_gbs_center2(\" in Subbucket.cxx" - cd Atlas/src - cp Subbucket.cxx Subbucket.cxx.original - cat Subbucket.cxx.original | sed s/\.get_gbs_center2\(/\.get_gbs_center\(/g > Subbucket.cxx - cd "$CBD" + echo "fixing old function name \".get_gbs_center2(\" in Subbucket.cxx" + cd Atlas/src + cp Subbucket.cxx Subbucket.cxx.original + cat Subbucket.cxx.original | sed s/\.get_gbs_center2\(/\.get_gbs_center\(/g > Subbucket.cxx + cd "$CBD" fi - cd Atlas - - if [ ! "$UPDATE" = "UPDATE" ] + + if [ -d "Atlas" ] then - if [ "$RECONFIGURE" = "y" ] + cd Atlas + + if [ ! "$UPDATE" = "UPDATE" ] then + if [ "$RECONFIGURE" = "y" ] + then - cd "$CBD" - mkdir -p build/atlas + cd "$CBD" + mkdir -p build/atlas - cd Atlas - echo "AUTOGEN ATLAS" >> $LOGFILE - ./autogen.sh 2>&1 | tee -a $LOGFILE - echo "CONFIGURE ATLAS" >> $LOGFILE - cd "$CBD"/build/atlas - ../../Atlas/configure --prefix=$INSTALL_DIR_ATLAS --exec-prefix=$INSTALL_DIR_ATLAS --with-plib=$INSTALL_DIR_PLIB --with-simgear="$INSTALL_DIR_SIMGEAR" --with-fgbase="$INSTALL_DIR_FGFS/fgdata" CXXFLAGS="$CXXFLAGS -I$CBD/OpenSceneGraph/include" 2>&1 | tee -a $LOGFILE - make clean + cd Atlas + echo "AUTOGEN ATLAS" >> $LOGFILE + ./autogen.sh 2>&1 | tee -a $LOGFILE + echo "CONFIGURE ATLAS" >> $LOGFILE + cd "$CBD"/build/atlas + ../../Atlas/configure --prefix=$INSTALL_DIR_ATLAS --exec-prefix=$INSTALL_DIR_ATLAS --with-plib=$INSTALL_DIR_PLIB --with-simgear="$INSTALL_DIR_SIMGEAR" --with-fgbase="$INSTALL_DIR_FGFS/fgdata" CXXFLAGS="$CXXFLAGS -I$CBD/OpenSceneGraph/include" 2>&1 | tee -a $LOGFILE + make clean + fi fi - fi - if [ "$COMPILE" = "y" ] - then - echo "MAKE ATLAS" >> $LOGFILE - echo "make $JOPTION $OOPTION" >> $LOGFILE + if [ "$COMPILE" = "y" ] + then + echo "MAKE ATLAS" >> $LOGFILE + echo "make $JOPTION $OOPTION" >> $LOGFILE - cd "$CBD"/build/atlas - make $JOPTION $OOPTION 2>&1 | tee -a $LOGFILE + cd "$CBD"/build/atlas + make $JOPTION $OOPTION 2>&1 | tee -a $LOGFILE - echo "INSTALL ATLAS" >> $LOGFILE - make install 2>&1 | tee -a $LOGFILE + echo "INSTALL ATLAS" >> $LOGFILE + make install 2>&1 | tee -a $LOGFILE + fi + cd "$CBD" + + echo "#!/bin/sh" > run_atlas.sh + echo "cd \$(dirname \$0)" >> run_atlas.sh + echo "cd $SUB_INSTALL_DIR/$ATLAS_INSTALL_DIR/bin" >> run_atlas.sh + echo "export LD_LIBRARY_PATH=../../$PLIB_INSTALL_DIR/lib:../../$OSG_INSTALL_DIR/lib:../../$SIMGEAR_INSTALL_DIR/lib" >> run_atlas.sh + echo "./Atlas --fg-root=\$PWD/../../$FGFS_INSTALL_DIR/fgdata \$@" >> run_atlas.sh + chmod 755 run_atlas.sh fi - cd "$CBD" - - echo "#!/bin/sh" > run_atlas.sh - echo "cd \$(dirname \$0)" >> run_atlas.sh - echo "cd $SUB_INSTALL_DIR/$ATLAS_INSTALL_DIR/bin" >> run_atlas.sh - echo "export LD_LIBRARY_PATH=../../$PLIB_INSTALL_DIR/lib:../../$OSG_INSTALL_DIR/lib:../../$SIMGEAR_INSTALL_DIR/lib" >> run_atlas.sh - echo "./Atlas --fg-root=\$PWD/../../$FGFS_INSTALL_DIR/fgdata \$@" >> run_atlas.sh - chmod 755 run_atlas.sh - fi - - echo "To start fgfs, run the run_fgfs.sh file" echo "To start terrasync, run the run_terrasync.sh file" echo "To start fgrun, run the run_fgrun.sh file" @@ -1487,8 +1432,7 @@ echo "To start fgcom, run the run_fgcom.sh file" echo "To start fgcom GUI, run the run_fgcomgui.sh file" echo "To start atlas, run the run_atlas.sh file" - -if [ "$WHATTOBUILD" = "--help" ] +if [ "$HELP" = "HELP" ] then echo "" else From 75f1a355205b403ec3d4f9444d639c579a1bfd92 Mon Sep 17 00:00:00 2001 From: Pat Date: Mon, 29 Jul 2013 22:06:20 -0400 Subject: [PATCH 37/73] Version 1.9.12 see release notes on http://wiki.flightgear.org/Scripted_Compilation_on_Linux_Debian/Ubuntu --- download_and_compile.sh | 282 ++++++++++++++++++++++++++++++---------- 1 file changed, 211 insertions(+), 71 deletions(-) diff --git a/download_and_compile.sh b/download_and_compile.sh index 222df7f..6e3ff26 100755 --- a/download_and_compile.sh +++ b/download_and_compile.sh @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -VERSION="1.9-10" +VERSION="1.9-12" #COMPILE GIT FGFS @@ -31,6 +31,17 @@ VERSION="1.9-10" # Thanks again to "F-JJTH" for OpenRTI and FGX # Thanks to André, ( taureau89_9 ) for debian stable packages fixes +# --------------------------------------------------------- +# Script Section: Script and Option Initialization +# --------------------------------------------------------- +echo $0 $* >rebuild +chmod +x rebuild + + +function SET_WINDOW_TITLE(){ + echo -ne "\033]0;Build Flightgear: - ${CBD} - $1\007" +} + LOGFILE=compilation_log.txt LOGSEP="***********************************" @@ -51,14 +62,37 @@ OOPTION="" DEBUG="" WITH_EVENT_INPUT="" WITH_OPENRTI="" +FG_SG_BRANCH="next" +FG_SG_REVISION="HEAD" +OSG_VERSION="3.0.1" +# --------------------------------------------------------- +# Script Section: Option Interpretation +# --------------------------------------------------------- +SET_WINDOW_TITLE "Script and Option Initialization" -while getopts "suhgeixvwc:p:a:d:r:j:O:" OPTION +while getopts "suhgeixvwc:p:a:d:r:j:O:B:R:G:" OPTION do case $OPTION in s) - STABLE="STABLE" + STABLE="STABLE" + FG_SG_BRANCH="2.10.0" + FG_SG_REVISION="HEAD" ;; - u) + B) + FG_SG_BRANCH=$OPTARG + ;; + R) + FG_SG_REVISION=$OPTARG + ;; + G) + OSG_VERSION=${OPTARG^^} #3.0.1, 3.0.1d 3.1.9 3.1.9d, next nextd, etc + OSG_DEBUG_OR_RELEASE='Release' + if [[ ${OSG_VERSION%d} != ${OSG_VERSION} ]] + then + OSG_DEBUG_OR_RELEASE='Debug' + OSG_VERSION= ${OSG_VERSION%d} + fi + ;; u) UPDATE="UPDATE" ;; h) @@ -110,6 +144,14 @@ do ;; esac done + + +# --------------------------------------------------------- +# Script Section: Build Argument Interpretation +# --------------------------------------------------------- +SET_WINDOW_TITLE "Option Interpretation" + + shift $(($OPTIND - 1)) #printf "Remaining arguments are: %s\n" "$*" #printf "Num: %d\n" "$#" @@ -137,39 +179,60 @@ fi #printf "%s\n" "${WHATTOBUILD[@]}" -####################################################### -# Last stable revision: currently FlightGear 2.4.0 with 3.0.1 +# --------------------------------------------------------- +# Script Section: Set Source Archive Version Variables +# --------------------------------------------------------- + +# Last stable revision: currently FlightGear 2.10.0 with 3.0.1 PLIB_STABLE_REVISION="2172" -OSG_STABLE_REVISION="http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1/" +OSG_SVN="http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-${OSG_VERSION}/" -# common stable branch for flightgear, simgear and fgdata -FGSG_STABLE_GIT_BRANCH="release/2.8.0" -FGRUN_STABLE_GIT_BRANCH="master" -OPENRTI_STABLE_GIT_BRANCH="release-0.3" +declare -A OPENRTI_MAP +declare -A FGSG_MAP +FGSG_MAP=( [next]="next HEAD 2.99.9" \ + [master]="master HEAD 2.12.0" \ + [2.12.0]="release/2.12.0 HEAD 2.12.0" \ + [2.10.0]="release/2.10.0 HEAD 2.10.0" \ + [2.8.0]="release/2.8.0 version/2.8.0-final 2.8.0" ) -# unstable branch: next for sg/fg, master for fgdata -FGSG_UNSTABLE_GIT_BRANCH="next" -FGDATA_UNSTABLE_GIT_BRANCH="master" -FGRUN_UNSTABLE_GIT_BRANCH="master" -OPENRTI_UNSTABLE_GIT_BRANCH="master" +OPENRTI_MAP=( [next]="master HEAD" \ + [master]="master HEAD" \ + [2.12.0]="master HEAD" \ + [2.10.0]="master HEAD" \ + [2.8.0]="release-0.3 OpenRTI-0.3.0" ) -# stable GIT revision: release tag -SIMGEAR_STABLE_REVISION="version/2.8.0-final" -FGFS_STABLE_REVISION="version/2.8.0-final" -FGFS_DATA_STABLE_REVISION="version/2.8.0-final" -OPENRTI_STABLE_REVISION="OpenRTI-0.3.0" +FG_SG_VERSION=${FG_SG_BRANCH##*/} + +MAP_ITEM=( ${FGSG_MAP[${FG_SG_VERSION}]} ) +FG_SG_BRANCH=${MAP_ITEM[0]} +FG_SG_REVISION=${MAP_ITEM[1]} +FGDATA_BRANCH=${MAP_ITEM[0]} +FGDATA_REVISION=${MAP_ITEM[1]} +FGDATA_VERSION=${MAP_ITEM[2]} + +MAP_ITEM=( ${OPENRTI_MAP[${FG_SG_VERSION}]} ) +OPENRTI_BRANCH=${MAP_ITEM[0]} +OPENRTI_REVISION=${MAP_ITEM[1]} # FGCOM -FGCOM_UNSTABLE_GIT_BRANCH="master" +FGCOM_BRANCH="master" FGCOMGUI_STABLE_REVISION="46" -# Current developer revision: latest FlightGear GIT (2.5.0) with OSG 3.0.1 -OSG_UNSTABLE_REVISION="http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1/" +#OpenRadar +OR_STABLE_RELEASE="http://wagnerw.de/OpenRadar.zip" + + + +# --------------------------------------------------------- +# Script Section: set script to stop if an error occours +# --------------------------------------------------------- -####################################################### -# set script to stop if an error occours set -e +# --------------------------------------------------------- +# Script Section: Display Script Help +# --------------------------------------------------------- + if [ "$HELP" = "HELP" ] then echo "$0 Version $VERSION" @@ -192,12 +255,17 @@ then 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" + echo "* -w cmake verbose option" + echo "* -x set -x bash option" + echo "* -v set -v bash option" + echo "* -B branch" + echo "* -R revision" + echo "* -G osg version" exit fi -####################################################### -####################################################### +# -------------------------------------------- # Warning about compilation time and size # Idea from Jester echo "**************************************" @@ -211,8 +279,12 @@ echo "* Please, be patient ...... *" echo "* *" echo "**************************************" -####################################################### -####################################################### + +# --------------------------------------------------------- +# Script Section: Debian Backports +# --------------------------------------------------------- + + # Debian 4.0rX (Etch) backports.org # From D-HUND @@ -249,9 +321,12 @@ if [ "$ISSUE" = "Debian GNU/Linux 4.0 \n \l" ]; then exit 0 fi fi -####################################################### -####################################################### +# --------------------------------------------------------- +# Script Section: Display Options Chosen +# --------------------------------------------------------- + + echo $0 $* > $LOGFILE echo "APT_GET_UPDATE=$APT_GET_UPDATE" >> $LOGFILE @@ -264,8 +339,10 @@ echo "OOPTION=$OOPTION" >> $LOGFILE echo "DEBUG=$DEBUG" >> $LOGFILE echo "$LOGSEP" >> $LOGFILE +# --------------------------------------------------------- +# Script Section: Determine Linux Distribution +# --------------------------------------------------------- -# discovering linux if [ -e /etc/lsb-release ] then . /etc/lsb-release @@ -299,6 +376,12 @@ else fi echo "$LOGSEP" >> $LOGFILE +# --------------------------------------------------------- +# Script Section: Install Prerequisite Development Packages +# --------------------------------------------------------- +SET_WINDOW_TITLE "Install Prerequisite Development Packages" + + if [ "$DOWNLOAD_PACKAGES" = "y" ] then echo -n "PACKAGE INSTALLATION ... " >> $LOGFILE @@ -334,6 +417,12 @@ then echo " OK" >> $LOGFILE fi + +# ------------------------------------------------------------- +# Script Section: Create Required Build and install Directories +# ------------------------------------------------------------- +SET_WINDOW_TITLE "Create Required Build and install Directories" + COMPILE_BASE_DIR=. #cd into compile base directory @@ -347,10 +436,7 @@ LOGFILE=$CBD/$LOGFILE echo "DIRECTORY= $CBD" >> $LOGFILE echo "$LOGSEP" >> $LOGFILE -if [ ! -d install ] -then - mkdir install -fi +mkdir -p install SUB_INSTALL_DIR=install INSTALL_DIR=$CBD/$SUB_INSTALL_DIR @@ -359,6 +445,11 @@ INSTALL_DIR=$CBD/$SUB_INSTALL_DIR cd "$CBD" mkdir -p build + +# --------------------------------------------------------- +# Script Section: Build Components +# --------------------------------------------------------- + ####################################################### # PLIB ####################################################### @@ -376,6 +467,7 @@ then echo "****************************************" | tee -a $LOGFILE echo "**************** PLIB ******************" | tee -a $LOGFILE echo "****************************************" | tee -a $LOGFILE + SET_WINDOW_TITLE "Building PLIB" echo "COMPILING PLIB" >> $LOGFILE echo "INSTALL_DIR_PLIB=$INSTALL_DIR_PLIB" >> $LOGFILE @@ -452,6 +544,7 @@ fi ####################################################### # OpenSceneGraph ####################################################### +SET_WINDOW_TITLE "Building OpenSceneGraph" OSG_INSTALL_DIR=OpenSceneGraph INSTALL_DIR_OSG=$INSTALL_DIR/$OSG_INSTALL_DIR cd "$CBD" @@ -462,13 +555,6 @@ then echo "**************** OSG *******************" | tee -a $LOGFILE echo "****************************************" | tee -a $LOGFILE - OSG_SVN=$OSG_UNSTABLE_REVISION - if [ "$STABLE" = "STABLE" ] - then - OSG_SVN=$OSG_STABLE_REVISION - fi - - if [ "$DOWNLOAD" = "y" ] then echo -n "SVN FROM $OSG_SVN ... " >> $LOGFILE @@ -530,6 +616,7 @@ fi ####################################################### # OPENRTI ####################################################### +SET_WINDOW_TITLE "Building OPENRTI" OPENRTI_INSTALL_DIR=openrti INSTALL_DIR_OPENRTI=$INSTALL_DIR/$OPENRTI_INSTALL_DIR cd "$CBD" @@ -566,17 +653,17 @@ then then # switch to stable branch # create local stable branch, ignore errors if it exists - git branch -f $OPENRTI_STABLE_GIT_BRANCH origin/$OPENRTI_STABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $OPENRTI_BRANCH origin/$OPENRTI_BRANCH 2> /dev/null || true # switch to stable branch. No error is reported if we're already on the branch. - git checkout -f $OPENRTI_STABLE_GIT_BRANCH + git checkout -f $OPENRTI_BRANCH # get indicated stable version - git reset --hard $OPENRTI_STABLE_REVISION + git reset --hard $OPENRTI_REVISION else # switch to unstable branch # create local unstable branch, ignore errors if it exists - git branch -f $OPENRTI_UNSTABLE_GIT_BRANCH origin/$OPENRTI_UNSTABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $OPENRTI_BRANCH origin/$OPENRTI_BRANCH 2> /dev/null || true # switch to unstable branch. No error is reported if we're already on the branch. - git checkout -f $OPENRTI_UNSTABLE_GIT_BRANCH + git checkout -f $OPENRTI_BRANCH # pull latest version from the unstable branch git pull fi @@ -626,6 +713,7 @@ fi ####################################################### # SIMGEAR ####################################################### +SET_WINDOW_TITLE "Building Simgear" SIMGEAR_INSTALL_DIR=simgear INSTALL_DIR_SIMGEAR=$INSTALL_DIR/$SIMGEAR_INSTALL_DIR cd "$CBD" @@ -666,17 +754,17 @@ then then # switch to stable branch # create local stable branch, ignore errors if it exists - git branch -f $FGSG_STABLE_GIT_BRANCH origin/$FGSG_STABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH 2> /dev/null || true # switch to stable branch. No error is reported if we're already on the branch. - git checkout -f $FGSG_STABLE_GIT_BRANCH + git checkout -f $FGSG_BRANCH # get indicated stable version git reset --hard $SIMGEAR_STABLE_REVISION else # switch to unstable branch # create local unstable branch, ignore errors if it exists - git branch -f $FGSG_UNSTABLE_GIT_BRANCH origin/$FGSG_UNSTABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH 2> /dev/null || true # switch to unstable branch. No error is reported if we're already on the branch. - git checkout -f $FGSG_UNSTABLE_GIT_BRANCH + git checkout -f $FGSG_BRANCH # pull latest version from the unstable branch git pull fi @@ -726,6 +814,7 @@ fi ####################################################### # FGFS ####################################################### +SET_WINDOW_TITLE "Building Flightgear" FGFS_INSTALL_DIR=fgfs INSTALL_DIR_FGFS=$INSTALL_DIR/$FGFS_INSTALL_DIR cd "$CBD" @@ -770,17 +859,17 @@ then then # switch to stable branch # create local stable branch, ignore errors if it exists - git branch -f $FGSG_STABLE_GIT_BRANCH origin/$FGSG_STABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH 2> /dev/null || true # switch to stable branch. No error is reported if we're already on the branch. - git checkout -f $FGSG_STABLE_GIT_BRANCH + git checkout -f $FGSG_BRANCH # get indicated stable version git reset --hard $FGFS_STABLE_REVISION else # switch to unstable branch # create local unstable branch, ignore errors if it exists - git branch -f $FGSG_UNSTABLE_GIT_BRANCH origin/$FGSG_UNSTABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH 2> /dev/null || true # switch to unstable branch. No error is reported if we're already on the branch. - git checkout -f $FGSG_UNSTABLE_GIT_BRANCH + git checkout -f $FGSG_BRANCH # pull latest version from the unstable branch git pull fi @@ -847,6 +936,20 @@ then then if [ "$DOWNLOAD" = "y" ] then + SET_WINDOW_TITLE " FGDATA" + if [[ -e ../fgdata_${FGDATA_VERSION} ]] + then + FGDATA_DIR=../fgdata_${FGDATA_VERSION} + fi + if [[ -e ../../fgdata_${FGDATA_VERSION} ]] + then + FGDATA_DIR=../../fgdata_${FGDATA_VERSION} + fi + if [[ ! -e $INSTALL_DIR_FGFS/fgdata && -e ${FGDATA_DIR} ]] + then + ln -s ${FGDATA_DIR} $INSTALL_DIR_FGFS/fgdata + ls -lah $INSTALL_DIR_FGFS/fgdata + fi EXDIR=$(pwd) cd $INSTALL_DIR_FGFS echo -n "GIT DATA FROM git://gitorious.org/fg/fgdata.git ... " >> $LOGFILE @@ -866,17 +969,17 @@ then then # switch to stable branch # create local stable branch, ignore errors if it exists - git branch -f $FGSG_STABLE_GIT_BRANCH origin/$FGSG_STABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH 2> /dev/null || true # switch to stable branch. No error is reported if we're already on the branch. - git checkout -f $FGSG_STABLE_GIT_BRANCH + git checkout -f $FGSG_BRANCH # get indicated stable version - git reset --hard $FGFS_DATA_STABLE_REVISION + git reset --hard $FGSG_BRANCH else # switch to unstable branch # create local unstable branch, ignore errors if it exists - git branch -f $FGDATA_UNSTABLE_GIT_BRANCH origin/$FGDATA_UNSTABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH 2> /dev/null || true # switch to unstable branch. No error is reported if we're already on the branch. - git checkout -f $FGDATA_UNSTABLE_GIT_BRANCH + git checkout -f $FGSG_BRANCH # pull latest version from the unstable branch git pull fi @@ -925,6 +1028,7 @@ fi ####################################################### # FGO! ####################################################### +SET_WINDOW_TITLE "Building FGO" FGO_INSTALL_DIR=fgo INSTALL_DIR_FGO=$INSTALL_DIR/$FGO_INSTALL_DIR cd "$CBD" @@ -961,6 +1065,7 @@ fi ####################################################### # FGx ####################################################### +SET_WINDOW_TITLE "Building FGX" FGX_INSTALL_DIR=fgx INSTALL_DIR_FGX=$INSTALL_DIR/$FGX_INSTALL_DIR cd "$CBD" @@ -988,8 +1093,8 @@ then cd fgx/ - git branch -f $FGX_STABLE_GIT_BRANCH origin/$FGX_STABLE_GIT_BRANCH 2> /dev/null || true - git checkout -f $FGX_STABLE_GIT_BRANCH + git branch -f $FGX_BRANCH origin/$FGX_BRANCH 2> /dev/null || true + git checkout -f $FGX_BRANCH git pull cd .. @@ -1055,6 +1160,7 @@ fi ####################################################### # FGRUN ####################################################### +SET_WINDOW_TITLE "Building FGRUN" FGRUN_INSTALL_DIR=fgrun INSTALL_DIR_FGRUN=$INSTALL_DIR/$FGRUN_INSTALL_DIR cd "$CBD" @@ -1090,17 +1196,17 @@ then # switch to stable branch # create local stable branch, ignore errors if it exists ls - git branch -f $FGRUN_STABLE_GIT_BRANCH origin/$FGRUN_STABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $FGRUN_BRANCH origin/$FGRUN_BRANCH 2> /dev/null || true # switch to stable branch. No error is reported if we're already on the branch. - git checkout -f $FGRUN_STABLE_GIT_BRANCH + git checkout -f $FGRUN_BRANCH # get indicated stable version - git reset --hard $FGRUN_STABLE_GIT_BRANCH + git reset --hard $FGRUN_BRANCH else # switch to unstable branch # create local unstable branch, ignore errors if it exists - git branch -f $FGRUN_UNSTABLE_GIT_BRANCH origin/$FGRUN_UNSTABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $FGRUN_BRANCH origin/$FGRUN_BRANCH 2> /dev/null || true # switch to unstable branch. No error is reported if we're already on the branch. - git checkout -f $FGRUN_UNSTABLE_GIT_BRANCH + git checkout -f $FGRUN_BRANCH # pull latest version from the unstable branch git pull fi @@ -1160,6 +1266,7 @@ fi ####################################################### # FGCOM ####################################################### +SET_WINDOW_TITLE "Building FGCOM" FGCOM_INSTALL_DIR=fgcom INSTALL_DIR_FGCOM=$INSTALL_DIR/$FGCOM_INSTALL_DIR cd "$CBD" @@ -1204,9 +1311,9 @@ then else # switch to unstable branch # create local unstable branch, ignore errors if it exists - git branch -f $FGCOM_UNSTABLE_GIT_BRANCH origin/$FGCOM_UNSTABLE_GIT_BRANCH 2> /dev/null || true + git branch -f $FGCOM_BRANCH origin/$FGCOM_BRANCH 2> /dev/null || true # switch to unstable branch. No error is reported if we're already on the branch. - git checkout -f $FGCOM_UNSTABLE_GIT_BRANCH + git checkout -f $FGCOM_BRANCH # pull latest version from the unstable branch git pull fi @@ -1303,6 +1410,7 @@ fi ####################################################### # FGCOMGUI ####################################################### +SET_WINDOW_TITLE "Building FGCOMGUI" FGCOMGUI_INSTALL_DIR=fgcomgui INSTALL_DIR_FGCOMGUI=$INSTALL_DIR/$FGCOMGUI_INSTALL_DIR cd "$CBD" @@ -1355,10 +1463,41 @@ then fi fi +####################################################### +# OPENRADAR +####################################################### +SET_WINDOW_TITLE "Building OPENRADAR" +OR_INSTALL_DIR=openradar +INSTALL_DIR_OR=$INSTALL_DIR/$OR_INSTALL_DIR +cd "$CBD" + +if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="OPENRADAR"' ]] +then + echo "****************************************" + echo "************** OPENRADAR ***************" + echo "****************************************" + + + if [ "$DOWNLOAD" = "y" ] + then + wget $OR_STABLE_RELEASE -O OpenRadar.zip + cd install + unzip ../OpenRadar.zip + cd .. + fi + + echo "#!/bin/sh" > run_openradar.sh + echo "cd \$(dirname \$0)" >> run_openradar.sh + echo "cd install/OpenRadar" >> run_openradar.sh + echo "java -jar OpenRadar.jar" >> run_openradar.sh + chmod 755 run_openradar.sh +fi + ####################################################### # ATLAS ####################################################### +SET_WINDOW_TITLE "Building ATLAS" ATLAS_INSTALL_DIR=atlas INSTALL_DIR_ATLAS=$INSTALL_DIR/$ATLAS_INSTALL_DIR cd "$CBD" @@ -1424,6 +1563,7 @@ then chmod 755 run_atlas.sh fi fi +SET_WINDOW_TITLE "Finished Building" echo "To start fgfs, run the run_fgfs.sh file" echo "To start terrasync, run the run_terrasync.sh file" From 19e9e62ba61c40bdbcbacc93d119320d99311e02 Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 29 Mar 2013 16:06:09 +0000 Subject: [PATCH 38/73] Add data package extraction to Windows script --- FlightGear.iss | 3 +++ hudson_win_package_release.bat | 12 +++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/FlightGear.iss b/FlightGear.iss index 962d68c..7662436 100755 --- a/FlightGear.iss +++ b/FlightGear.iss @@ -97,6 +97,9 @@ Source: "X:\3rdParty.x64\bin\vcredist_x64.exe"; DestDir: "{app}\bin\Win64"; Flag Source: "X:\3rdParty\bin\oalinst.exe"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion skipifsourcedoesntexist Source: "X:\data\*.*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist +; NOTE: tar.gz file uses name 'fgdata', to avoid renaming it, look for both names. +; assuming no setup has both names and hence we don't package twice :) +Source: "X:\fgdata\*.*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osg.dll"; DestDir: "{app}\bin\Win32"; Check: not Is64BitInstallMode or IsTaskSelected('force32') Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgDB.dll"; DestDir: "{app}\bin\Win32"; Check: not Is64BitInstallMode or IsTaskSelected('force32') diff --git a/hudson_win_package_release.bat b/hudson_win_package_release.bat index 402db03..c214c4b 100644 --- a/hudson_win_package_release.bat +++ b/hudson_win_package_release.bat @@ -10,6 +10,10 @@ REM construct information file to be read by Inno-setup set PATH=%WORKSPACE%\install\msvc100\OpenSceneGraph\bin;%PATH% + +REM add 7-zip to the PATH +set PATH=%PATH%;C:\Program Files\7-zip + REM indirect way to get command output into an environment variable osgversion --so-number > %TEMP%\osg-so-number.txt osgversion --version-number > %TEMP%\osg-version.txt @@ -22,9 +26,11 @@ ECHO #define FGVersion "%FLIGHTGEAR_VERSION%" > InstallConfig.iss ECHO #define OSGVersion "%OSG_VERSION%" >> InstallConfig.iss ECHO #define OSGSoNumber "%OSG_SO_NUMBER%" >> InstallConfig.iss +set DATA_FILE=FlightGear-%FLIGHTGEAR_VERSION%-data + +REM extract the data files +7z e -aoa %DATA_FILE%.tar.bz && 7z x -aoa %DATA_FILE%.tar + REM run Inno-setup! Compil32 /cc FlightGear.iss - - - From 5610f352afa757f6c69dee09fd0201e832b444f1 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sun, 15 Sep 2013 22:04:58 +0100 Subject: [PATCH 39/73] Use OSG 3.2 for superbuild. Bump to current FG+SG head revisions on next --- CMakeLists.txt | 14 ++++++++------ flightgear | 2 +- simgear | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a517139..1ff6197 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,8 @@ endif() # of Apple set (OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) # OpenSceneGraph configuration +SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) + if (APPLE) SET(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk) # force disable Qt and Jasper, and ensure an SDKROOT is set, or @@ -53,7 +55,7 @@ if (APPLE) ) # OSG with some patches applied for Mac # SET(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git) - SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) + # SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) elseif(MSVC) set( OSG_MSVC "msvc" ) @@ -77,16 +79,14 @@ elseif(MSVC) # for compatability with MSVC directory layout set(OSG_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install/${OSG_MSVC}/OpenSceneGraph) - SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) - list(APPEND OSG_DEPS WinDeps) else() # normal OSG - SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip) + endif() if (MSVC) -# download 3rdparty dependeancies zip, including boost +# download 3rdparty dependencies zip, including boost ExternalProject_Add(WinDeps DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-win32-VS100-3rdParty+OSG-20120411.zip # extract to current root @@ -115,13 +115,14 @@ ExternalProject_Add(OSG DEPENDS ${OSG_DEPS} PREFIX ${CMAKE_BINARY_DIR} ${OSG_SOURCE} + URL_HASH MD5=4980f8692712a24d4c99f363f80c6814 BINARY_DIR osgbuild CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${OSG_INSTALL_PREFIX} # force Release build of OpenSceneGraph # BUILD_COMMAND "cmake --build . --config Release" ) -set(SG_CMAKE_ARGS -DENABLE_PACKAGE=1) +set(SG_CMAKE_ARGS -DSG_SVN_CLIENT=1) set(FG_CMAKE_ARGS "") # FIXME install of OpenRTI is failing on Windows, files in PREFIX/share which @@ -155,6 +156,7 @@ if (NOT WIN32) ExternalProject_Add(PLIB PREFIX ${CMAKE_BINARY_DIR} URL http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz + URL_HASH MD5=47a6fbf63668c1eed631024038b2ea90 CONFIGURE_COMMAND /configure --prefix=${CMAKE_INSTALL_PREFIX} ${PLIB_ARGS} BUILD_IN_SOURCE 1 ) diff --git a/flightgear b/flightgear index 1a4993f..fda64d8 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 1a4993f08b1bfa0dd66274a3eb3be8b6a8ab5b32 +Subproject commit fda64d840e58f3743f159c6c3244bb721f1f6443 diff --git a/simgear b/simgear index b6c542b..a18792c 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit b6c542b0e7803971fca223ab3eb8d76b4685f31d +Subproject commit a18792c397a3ab71d93a2f807da879469d83d34a From 8fe9281692432edcedb4088c3071348a54359e6c Mon Sep 17 00:00:00 2001 From: James Turner Date: Mon, 21 Oct 2013 22:19:45 +0100 Subject: [PATCH 40/73] Update superbuild - remove libSvn - compile Boost ourselves on Windows - tweak OSG detection --- CMakeLists.txt | 55 ++++++++++++++++++++++++++------------------------ flightgear | 2 +- simgear | 2 +- 3 files changed, 31 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ff6197..d90d672 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,11 @@ include (ExternalProject) project(FlightGear-Meta) +if(NOT CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install) + message(STATUS "Default install dir to ${CMAKE_INSTALL_PREFIX}") +endif() + if (UNIX) set(BOOST_BOOTSTRAP "./bootstrap.sh" --prefix=${CMAKE_INSTALL_PREFIX}) else() @@ -12,6 +17,8 @@ endif() set(SG_DEPS OSG) set(FG_DEPS SimGear) +set(SG_CMAKE_ARGS "") +set(FG_CMAKE_ARGS "") if(APPLE) @@ -24,17 +31,8 @@ if(APPLE) BUILD_COMMAND ./bjam ${BOOST_ARGS} BUILD_IN_SOURCE 1 INSTALL_COMMAND ./b2 install ${BOOST_ARGS}) - - - ExternalProject_Add(libSvn - DOWNLOAD_COMMAND URL http://flightgear.simpits.org:8080/job/Mac-Subversion-libs/lastSuccessfulBuild/artifact/dist/*zip*/dist.zip - PREFIX ${CMAKE_BINARY_DIR} - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND cp -r ${CMAKE_BINARY_DIR}/src/libSvn/include ${CMAKE_INSTALL_PREFIX} && cp -r ${CMAKE_BINARY_DIR}/src/libSvn/lib ${CMAKE_INSTALL_PREFIX} - ) - - list(APPEND SG_DEPS Boost libSvn) + + list(APPEND SG_DEPS Boost) endif() # of Apple set (OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) @@ -96,21 +94,29 @@ if (MSVC) BUILD_COMMAND ${CMAKE_SOURCE_DIR}/installWinDeps.bat INSTALL_COMMAND "" ) - - ExternalProject_Add(Boost - DOWNLOAD_COMMAND URL http://flightgear.simpits.org:8080/job/Boost-Win/lastSuccessfulBuild/artifact/Boost/boost/*zip*/boost.zip - SOURCE_DIR ${CMAKE_BINARY_DIR}/Boost/boost - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" - ) + set(BOOST_ARGS link=static stage --with-system) + set( Boost_Version 1.54.0 ) + string( REPLACE "." "_" Boost_Version_Underscore ${Boost_Version} ) + + ExternalProject_Add(Boost + PREFIX ${CMAKE_BINARY_DIR} + URL http://downloads.sourceforge.net/project/boost/boost/${Boost_Version}/boost_${Boost_Version_Underscore}.zip + URL_MD5 78a35834c45220a6164310e280abe675 + UPDATE_COMMAND "bootstrap.bat" + CONFIGURE_COMMAND "" + BUILD_COMMAND bjam --with-program_options ${BOOST_ARGS} + BUILD_IN_SOURCE 1 + INSTALL_COMMAND "" + ) + list(APPEND SG_DEPS Boost) - list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) - list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}) + list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) + list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) endif(MSVC) # of Windows +message(STATUS "OSG install prefix is ${OSG_INSTALL_PREFIX}") ExternalProject_Add(OSG DEPENDS ${OSG_DEPS} PREFIX ${CMAKE_BINARY_DIR} @@ -122,9 +128,6 @@ ExternalProject_Add(OSG # BUILD_COMMAND "cmake --build . --config Release" ) -set(SG_CMAKE_ARGS -DSG_SVN_CLIENT=1) -set(FG_CMAKE_ARGS "") - # FIXME install of OpenRTI is failing on Windows, files in PREFIX/share which # are ending up in C:/Program Files/OpenRTI if (NOT MSVC) @@ -147,9 +150,9 @@ ExternalProject_Add(SimGear UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear BINARY_DIR sgbuild - CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}) + CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX}) -# on Windows, PLIB is in the 3rd-party dependancies zip +# on Windows, PLIB is in the 3rd-party dependencies zip if (NOT WIN32) SET(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux) diff --git a/flightgear b/flightgear index fda64d8..baebc9b 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit fda64d840e58f3743f159c6c3244bb721f1f6443 +Subproject commit baebc9b64c8f7e77b2246809820c3a09e58351d7 diff --git a/simgear b/simgear index a18792c..49730ca 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit a18792c397a3ab71d93a2f807da879469d83d34a +Subproject commit 49730cadeec1efaf6b2d51762d64f6aaa8947599 From 3378b289aa5e4119d4bb0e6d727f74f98727351e Mon Sep 17 00:00:00 2001 From: James Turner Date: Wed, 30 Oct 2013 14:52:36 +0000 Subject: [PATCH 41/73] Bump to latest SG+FG --- flightgear | 2 +- simgear | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flightgear b/flightgear index baebc9b..02a5261 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit baebc9b64c8f7e77b2246809820c3a09e58351d7 +Subproject commit 02a5261797998841e2c3d8580385e68a5d319929 diff --git a/simgear b/simgear index 49730ca..7076c9a 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit 49730cadeec1efaf6b2d51762d64f6aaa8947599 +Subproject commit 7076c9a0ff82a27cbee3f5a9a512b11adc4abd97 From 2f97b6211240c197067104d6e4a4046ac1916495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Fri, 1 Nov 2013 19:02:33 +0100 Subject: [PATCH 42/73] Upgrade win package release adding FGCom installation --- FlightGear.iss | 10 ++++++++-- hudson_win_package_release.bat | 6 +++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/FlightGear.iss b/FlightGear.iss index 7662436..2fb84f8 100755 --- a/FlightGear.iss +++ b/FlightGear.iss @@ -81,6 +81,10 @@ Source: "X:\install\msvc100\FlightGear\bin\metar.exe"; DestDir: "{app}\bin\Win32 Source: "X:\install\msvc100\FlightGear\bin\yasim.exe"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion Source: "X:\3rdParty\bin\*.dll"; DestDir: "{app}\bin\Win32" +Source: "X:\install\msvc100\FlightGear\bin\fgcom.exe"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion +Source: "X:\install\msvc100\FlightGear\share\flightgear\positions.txt"; DestDir: "{app}\share\flightgear" +Source: "X:\install\msvc100\FlightGear\share\flightgear\special_frequencies.txt"; DestDir: "{app}\share\flightgear" + Source: "X:\install\msvc100\FGRun\bin\fgrun.exe"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion ; Check: not Is64BitInstallMode or IsTaskSelected('force32') Source: "X:\install\msvc100\FGRun\share\locale\*"; DestDir: "{app}\bin\Win32\locale"; Flags: ignoreversion recursesubdirs; Check: not Is64BitInstallMode or IsTaskSelected('force32') @@ -111,7 +115,7 @@ Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgViewer.dll"; DestDir: "{app}\ Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgSim.dll"; DestDir: "{app}\bin\Win32"; Check: not Is64BitInstallMode or IsTaskSelected('force32') Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgFX.dll"; DestDir: "{app}\bin\Win32"; Check: not Is64BitInstallMode or IsTaskSelected('force32') -Source: "{#OSGInstallDir}\bin\ot12-OpenThreads.dll"; DestDir: "{app}\bin\Win32"; Check: not Is64BitInstallMode or IsTaskSelected('force32') +Source: "{#OSGInstallDir}\bin\ot{#OTSoNumber}-OpenThreads.dll"; DestDir: "{app}\bin\Win32"; Check: not Is64BitInstallMode or IsTaskSelected('force32') Source: "{#OSGPluginsDir}\osgdb_ac.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode or IsTaskSelected('force32') Source: "{#OSGPluginsDir}\osgdb_osg.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode or IsTaskSelected('force32') @@ -147,7 +151,7 @@ Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgViewer.dll"; DestDir: "{app Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgSim.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode and not IsTaskSelected('force32') Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgFX.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode and not IsTaskSelected('force32') -Source: "{#OSG64InstallDir}\bin\ot12-OpenThreads.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode and not IsTaskSelected('force32') +Source: "{#OSG64InstallDir}\bin\ot{#OTSoNumber}-OpenThreads.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode and not IsTaskSelected('force32') Source: "{#OSG64PluginsDir}\osgdb_ac.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode and not IsTaskSelected('force32') Source: "{#OSG64PluginsDir}\osgdb_osg.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode and not IsTaskSelected('force32') @@ -200,6 +204,8 @@ Name: "{group}\Tools\MIDGsmooth"; Filename: "cmd"; Parameters: "/k ""{app}\bin\W Name: "{group}\Tools\metar"; Filename: "cmd"; Parameters: "/k ""{app}\bin\Win32\metar.exe"" -h"; WorkingDir: "{app}\bin\Win32"; Name: "{group}\Tools\yasim"; Filename: "cmd"; Parameters: "/k ""{app}\bin\Win32\yasim.exe"" -h"; WorkingDir: "{app}\bin\Win32"; Name: "{group}\Tools\fgpanel"; Filename: "cmd"; Parameters: "/k ""{app}\bin\Win32\fgpanel.exe"" -h"; WorkingDir: "{app}\bin\Win32"; +Name: "{group}\Tools\FGCom"; Filename: "{app}\bin\Win32\fgcom.exe"; Parameters: "--positions=""{app}\share\flightgear\positions.txt"" --special=""{app}\share\flightgear\special_frequencies.txt"""; WorkingDir: "{app}\bin\Win32"; +Name: "{group}\Tools\FGCom-testing"; Filename: "{app}\bin\Win32\fgcom.exe"; Parameters: "-f910 --positions=""{app}\share\flightgear\positions.txt"" --special=""{app}\share\flightgear\special_frequencies.txt"""; WorkingDir: "{app}\bin\Win32"; Name: "{group}\Tools\Explore Documentation Folder"; Filename: "{app}\data\Docs" diff --git a/hudson_win_package_release.bat b/hudson_win_package_release.bat index c214c4b..cf926cb 100644 --- a/hudson_win_package_release.bat +++ b/hudson_win_package_release.bat @@ -17,14 +17,17 @@ set PATH=%PATH%;C:\Program Files\7-zip REM indirect way to get command output into an environment variable osgversion --so-number > %TEMP%\osg-so-number.txt osgversion --version-number > %TEMP%\osg-version.txt +osgversion --openthreads-soversion-number > %TEMP%\openthreads-so-number.txt SET /P FLIGHTGEAR_VERSION= InstallConfig.iss ECHO #define OSGVersion "%OSG_VERSION%" >> InstallConfig.iss ECHO #define OSGSoNumber "%OSG_SO_NUMBER%" >> InstallConfig.iss +ECHO #define OTSoNumber "%OT_SO_NUMBER%" >> InstallConfig.iss set DATA_FILE=FlightGear-%FLIGHTGEAR_VERSION%-data @@ -32,5 +35,6 @@ REM extract the data files 7z e -aoa %DATA_FILE%.tar.bz && 7z x -aoa %DATA_FILE%.tar REM run Inno-setup! +REM use iscc instead of compil32 for better error reporting -Compil32 /cc FlightGear.iss +iscc FlightGear.iss From f625f7b5e5dc497f73af217d9cc045617c2b5b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Wed, 13 Nov 2013 17:34:29 +0100 Subject: [PATCH 43/73] Superbuild: Fix and cleanup - Fix OSG_INSTALL_PREFIX path - Fix missing OSG_INSTALL_PREFIX for flightgear - Add 64 bits support - Don't override OSG install dir - Fix CMAKE_INSTALL_PREFIX path for SG and FG - Indentation cleanup --- CMakeLists.txt | 159 +++++++++++++++++++++++++------------------------ 1 file changed, 81 insertions(+), 78 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d90d672..e5c7053 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ include (ExternalProject) project(FlightGear-Meta) if(NOT CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install) + set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install) message(STATUS "Default install dir to ${CMAKE_INSTALL_PREFIX}") endif() @@ -21,30 +21,29 @@ set(SG_CMAKE_ARGS "") set(FG_CMAKE_ARGS "") if(APPLE) - set(BOOST_ARGS link=static stage --with-system) ExternalProject_Add(Boost - PREFIX ${CMAKE_BINARY_DIR} - SVN_REPOSITORY http://svn.boost.org/svn/boost/tags/release/Boost_1_52_0 - UPDATE_COMMAND ${BOOST_BOOTSTRAP} - CONFIGURE_COMMAND "" - BUILD_COMMAND ./bjam ${BOOST_ARGS} - BUILD_IN_SOURCE 1 - INSTALL_COMMAND ./b2 install ${BOOST_ARGS}) + PREFIX ${CMAKE_BINARY_DIR} + SVN_REPOSITORY http://svn.boost.org/svn/boost/tags/release/Boost_1_52_0 + UPDATE_COMMAND ${BOOST_BOOTSTRAP} + CONFIGURE_COMMAND "" + BUILD_COMMAND ./bjam ${BOOST_ARGS} + BUILD_IN_SOURCE 1 + INSTALL_COMMAND ./b2 install ${BOOST_ARGS}) list(APPEND SG_DEPS Boost) endif() # of Apple -set (OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +set(OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) # OpenSceneGraph configuration -SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) +set(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) if (APPLE) - SET(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk) + set(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk) # force disable Qt and Jasper, and ensure an SDKROOT is set, or # osgViewer system detection goes wrongh - SET(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT} + set(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT} -DOSG_USE_QT=0 -DJASPER_LIBRARY= -DSDL_LIBRARY:FILEPATH= @@ -52,31 +51,34 @@ if (APPLE) -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 ) # OSG with some patches applied for Mac -# SET(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git) - # SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) + # set(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git) + # set(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) elseif(MSVC) - set( OSG_MSVC "msvc" ) + set(OSG_MSVC "msvc") if (${MSVC_VERSION} EQUAL 1700) - set( OSG_MSVC ${OSG_MSVC}110 ) + set(OSG_MSVC ${OSG_MSVC}110) elseif (${MSVC_VERSION} EQUAL 1600) - set( OSG_MSVC ${OSG_MSVC}100 ) + set(OSG_MSVC ${OSG_MSVC}100) else (${MSVC_VERSION} EQUAL 1700) - set( OSG_MSVC ${OSG_MSVC}90 ) + set(OSG_MSVC ${OSG_MSVC}90) endif (${MSVC_VERSION} EQUAL 1700) + if (CMAKE_CL_64) + set(OSG_MSVC ${OSG_MSVC}-64) + endif (CMAKE_CL_64) - SET(OSG_CMAKE_ARGS - -DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/3rdParty - -DBUILD_OSG_APPLICATIONS:BOOL=ON - -DCMAKE_INSTALL_PREFIX:PATH= - -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF - -DFREETYPE_LIBRARY:FILEPATH=${CMAKE_BINARY_DIR}/3rdParty/lib/freetype243.lib - -DGDAL_INCLUDE_DIR:PATH= - -DGDAL_LIBRARY:FILEPATH= + SET(OSG_CMAKE_ARGS + -DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/3rdParty + -DBUILD_OSG_APPLICATIONS:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH= + -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF + -DFREETYPE_LIBRARY:FILEPATH=${CMAKE_BINARY_DIR}/3rdParty/lib/freetype243.lib + -DGDAL_INCLUDE_DIR:PATH= + -DGDAL_LIBRARY:FILEPATH= ) - - # for compatability with MSVC directory layout - set(OSG_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install/${OSG_MSVC}/OpenSceneGraph) + + # for compatability with MSVC directory layout + set(OSG_INSTALL_PREFIX ${OSG_INSTALL_PREFIX}/${OSG_MSVC}/OpenSceneGraph) list(APPEND OSG_DEPS WinDeps) else() # normal OSG @@ -84,48 +86,48 @@ else() endif() if (MSVC) -# download 3rdparty dependencies zip, including boost - ExternalProject_Add(WinDeps - DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-win32-VS100-3rdParty+OSG-20120411.zip -# extract to current root - SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps - BINARY_DIR ${CMAKE_BINARY_DIR} - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_SOURCE_DIR}/installWinDeps.bat - INSTALL_COMMAND "" - ) + # download 3rdparty dependencies zip, including boost + ExternalProject_Add(WinDeps + DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-win32-VS100-3rdParty+OSG-20120411.zip + # extract to current root + SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps + BINARY_DIR ${CMAKE_BINARY_DIR} + CONFIGURE_COMMAND "" + BUILD_COMMAND ${CMAKE_SOURCE_DIR}/installWinDeps.bat + INSTALL_COMMAND "" + ) - set(BOOST_ARGS link=static stage --with-system) - set( Boost_Version 1.54.0 ) - string( REPLACE "." "_" Boost_Version_Underscore ${Boost_Version} ) + set(BOOST_ARGS link=static stage --with-system) + set( Boost_Version 1.54.0 ) + string( REPLACE "." "_" Boost_Version_Underscore ${Boost_Version} ) - ExternalProject_Add(Boost - PREFIX ${CMAKE_BINARY_DIR} - URL http://downloads.sourceforge.net/project/boost/boost/${Boost_Version}/boost_${Boost_Version_Underscore}.zip - URL_MD5 78a35834c45220a6164310e280abe675 - UPDATE_COMMAND "bootstrap.bat" - CONFIGURE_COMMAND "" - BUILD_COMMAND bjam --with-program_options ${BOOST_ARGS} - BUILD_IN_SOURCE 1 - INSTALL_COMMAND "" - ) + ExternalProject_Add(Boost + PREFIX ${CMAKE_BINARY_DIR} + URL http://downloads.sourceforge.net/project/boost/boost/${Boost_Version}/boost_${Boost_Version_Underscore}.zip + URL_MD5 78a35834c45220a6164310e280abe675 + UPDATE_COMMAND "bootstrap.bat" + CONFIGURE_COMMAND "" + BUILD_COMMAND bjam --with-program_options ${BOOST_ARGS} + BUILD_IN_SOURCE 1 + INSTALL_COMMAND "" + ) - list(APPEND SG_DEPS Boost) + list(APPEND SG_DEPS Boost) - list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) - list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) + list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) + list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) endif(MSVC) # of Windows message(STATUS "OSG install prefix is ${OSG_INSTALL_PREFIX}") ExternalProject_Add(OSG - DEPENDS ${OSG_DEPS} + DEPENDS ${OSG_DEPS} PREFIX ${CMAKE_BINARY_DIR} ${OSG_SOURCE} - URL_HASH MD5=4980f8692712a24d4c99f363f80c6814 + URL_HASH MD5=4980f8692712a24d4c99f363f80c6814 BINARY_DIR osgbuild CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${OSG_INSTALL_PREFIX} -# force Release build of OpenSceneGraph -# BUILD_COMMAND "cmake --build . --config Release" + # force Release build of OpenSceneGraph + # BUILD_COMMAND "cmake --build . --config Release" ) # FIXME install of OpenRTI is failing on Windows, files in PREFIX/share which @@ -138,31 +140,32 @@ if (NOT MSVC) CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ) - list(APPEND SG_DEPS OpenRTI) - list(APPEND SG_CMAKE_ARGS -DENABLE_RTI=1) - list(APPEND FG_CMAKE_ARGS -DENABLE_RTI=1) + list(APPEND SG_DEPS OpenRTI) + list(APPEND SG_CMAKE_ARGS -DENABLE_RTI=1) + list(APPEND FG_CMAKE_ARGS -DENABLE_RTI=1) endif() ExternalProject_Add(SimGear PREFIX ${CMAKE_BINARY_DIR} DEPENDS ${SG_DEPS} - DOWNLOAD_COMMAND "" # no need to download - UPDATE_COMMAND "" # or update. + DOWNLOAD_COMMAND "" # no need to download + UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear BINARY_DIR sgbuild - CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX}) + CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${OSG_MSVC} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} +) # on Windows, PLIB is in the 3rd-party dependencies zip if (NOT WIN32) - SET(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux) + SET(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux) - ExternalProject_Add(PLIB - PREFIX ${CMAKE_BINARY_DIR} - URL http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz - URL_HASH MD5=47a6fbf63668c1eed631024038b2ea90 - CONFIGURE_COMMAND /configure --prefix=${CMAKE_INSTALL_PREFIX} ${PLIB_ARGS} - BUILD_IN_SOURCE 1 - ) + ExternalProject_Add(PLIB + PREFIX ${CMAKE_BINARY_DIR} + URL http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz + URL_HASH MD5=47a6fbf63668c1eed631024038b2ea90 + CONFIGURE_COMMAND /configure --prefix=${CMAKE_INSTALL_PREFIX} ${PLIB_ARGS} + BUILD_IN_SOURCE 1 + ) list(APPEND FG_DEPS PLIB) endif() @@ -170,9 +173,9 @@ endif() ExternalProject_Add(FlightGear PREFIX ${CMAKE_BINARY_DIR} DEPENDS ${FG_DEPS} - DOWNLOAD_COMMAND "" # no need to download - UPDATE_COMMAND "" # or update. + DOWNLOAD_COMMAND "" # no need to download + UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear BINARY_DIR fgbuild - CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} - ) + CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${OSG_MSVC} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} +) From 24e55d6b92a7414a622338efd8f276c271af9830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Wed, 13 Nov 2013 17:45:48 +0100 Subject: [PATCH 44/73] Superbuild: add 64bits support for 3rdParty --- CMakeLists.txt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e5c7053..ff78f21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,14 +65,19 @@ elseif(MSVC) endif (${MSVC_VERSION} EQUAL 1700) if (CMAKE_CL_64) set(OSG_MSVC ${OSG_MSVC}-64) + set(WIN_TAG x64) + set(RDPARTY_DIR 3rdParty) + else () + set(WIN_TAG win32) + set(RDPARTY_DIR 3rdParty.x64) endif (CMAKE_CL_64) SET(OSG_CMAKE_ARGS - -DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/3rdParty + -DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR} -DBUILD_OSG_APPLICATIONS:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH= -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF - -DFREETYPE_LIBRARY:FILEPATH=${CMAKE_BINARY_DIR}/3rdParty/lib/freetype243.lib + -DFREETYPE_LIBRARY:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/lib/freetype243.lib -DGDAL_INCLUDE_DIR:PATH= -DGDAL_LIBRARY:FILEPATH= ) @@ -86,9 +91,11 @@ else() endif() if (MSVC) + + # download 3rdparty dependencies zip, including boost ExternalProject_Add(WinDeps - DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-win32-VS100-3rdParty+OSG-20120411.zip + DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-${WIN_TAG}-VS100-3rdParty+OSG-20120411.zip # extract to current root SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps BINARY_DIR ${CMAKE_BINARY_DIR} From 56e9eb4b6aee5d872e4168d71255425e76261c2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Wed, 13 Nov 2013 21:10:20 +0100 Subject: [PATCH 45/73] Superbuild: oops forget a level in path --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ff78f21..9a74fe7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -159,7 +159,7 @@ ExternalProject_Add(SimGear UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear BINARY_DIR sgbuild - CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${OSG_MSVC} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} + CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${OSG_MSVC}/SimGear -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} ) # on Windows, PLIB is in the 3rd-party dependencies zip @@ -184,5 +184,5 @@ ExternalProject_Add(FlightGear UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear BINARY_DIR fgbuild - CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${OSG_MSVC} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} + CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${OSG_MSVC}/FlightGear -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} ) From d627ec7360dcec5be50b3595e5839b5b425ea0c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Wed, 13 Nov 2013 23:21:18 +0100 Subject: [PATCH 46/73] Superbuild: make CMAKE_INSTALL_PREFIX usable for Unix and Win --- CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a74fe7..94574a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,8 @@ if(APPLE) endif() # of Apple set(OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +set(SG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +set(FG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) # OpenSceneGraph configuration set(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) @@ -84,6 +86,8 @@ elseif(MSVC) # for compatability with MSVC directory layout set(OSG_INSTALL_PREFIX ${OSG_INSTALL_PREFIX}/${OSG_MSVC}/OpenSceneGraph) + set(FG_INSTALL_PREFIX ${FG_INSTALL_PREFIX}/${OSG_MSVC}/FlightGear) + set(SG_INSTALL_PREFIX ${SG_INSTALL_PREFIX}/${OSG_MSVC}/SimGear) list(APPEND OSG_DEPS WinDeps) else() # normal OSG @@ -159,7 +163,7 @@ ExternalProject_Add(SimGear UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear BINARY_DIR sgbuild - CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${OSG_MSVC}/SimGear -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} + CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${SG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} ) # on Windows, PLIB is in the 3rd-party dependencies zip @@ -184,5 +188,5 @@ ExternalProject_Add(FlightGear UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear BINARY_DIR fgbuild - CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${OSG_MSVC}/FlightGear -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} + CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX};${SG_INSTALL_PREFIX} ) From 0b5855fdeeed4845151a0ef4495853c22670b1e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Thu, 14 Nov 2013 02:35:33 +0100 Subject: [PATCH 47/73] Superbuild: fix 3rdParty 32/64 compatibility --- CMakeLists.txt | 12 ++++++------ installWinDeps.bat | 12 ++++++++---- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 94574a6..33bb252 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,10 +68,10 @@ elseif(MSVC) if (CMAKE_CL_64) set(OSG_MSVC ${OSG_MSVC}-64) set(WIN_TAG x64) - set(RDPARTY_DIR 3rdParty) + set(RDPARTY_DIR 3rdParty.x64) else () set(WIN_TAG win32) - set(RDPARTY_DIR 3rdParty.x64) + set(RDPARTY_DIR 3rdParty) endif (CMAKE_CL_64) SET(OSG_CMAKE_ARGS @@ -91,12 +91,12 @@ elseif(MSVC) list(APPEND OSG_DEPS WinDeps) else() # normal OSG - + set(OSG_INSTALL_PREFIX ${OSG_INSTALL_PREFIX}/OpenSceneGraph) + set(FG_INSTALL_PREFIX ${FG_INSTALL_PREFIX}/FlightGear) + set(SG_INSTALL_PREFIX ${SG_INSTALL_PREFIX}/SimGear) endif() if (MSVC) - - # download 3rdparty dependencies zip, including boost ExternalProject_Add(WinDeps DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-${WIN_TAG}-VS100-3rdParty+OSG-20120411.zip @@ -188,5 +188,5 @@ ExternalProject_Add(FlightGear UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear BINARY_DIR fgbuild - CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX};${SG_INSTALL_PREFIX} + CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH="${OSG_INSTALL_PREFIX};${SG_INSTALL_PREFIX}" ) diff --git a/installWinDeps.bat b/installWinDeps.bat index 6926b48..c7df973 100644 --- a/installWinDeps.bat +++ b/installWinDeps.bat @@ -5,8 +5,12 @@ REM Instead we extract to a subdir, and then move the directories we want REM using this bat file. echo %CD% - -md 3rdParty -xcopy /Y /E winDeps/3rdParty 3rdParty - +IF EXIST winDeps/3rdParty ( + md 3rdParty + xcopy /Y /E winDeps/3rdParty 3rdParty +) +IF EXIST winDeps/3rdParty.x64 ( + md 3rdParty.x64 + xcopy /Y /E winDeps/3rdParty.x64 3rdParty.x64 +) echo "Done copying Windows deps" From 7d2113877130d5efca09f056b4bb2978a0659c7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Thu, 14 Nov 2013 17:58:10 +0100 Subject: [PATCH 48/73] Superbuild: fix SimGear path for FG build --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 33bb252..acd2a80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -188,5 +188,5 @@ ExternalProject_Add(FlightGear UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear BINARY_DIR fgbuild - CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH="${OSG_INSTALL_PREFIX};${SG_INSTALL_PREFIX}" + CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} -DSIMGEAR_DIR=${SG_INSTALL_PREFIX} ) From c78949fd4a446b2a995aea7d693c0aed62af43db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Thu, 14 Nov 2013 20:39:34 +0100 Subject: [PATCH 49/73] Superbuild: fix SimGear path for FG build - bis --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index acd2a80..b55461c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -188,5 +188,5 @@ ExternalProject_Add(FlightGear UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear BINARY_DIR fgbuild - CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} -DSIMGEAR_DIR=${SG_INSTALL_PREFIX} + CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} -DADDITIONAL_LIBRARY_PATHS=${SG_INSTALL_PREFIX} ) From 9763440ef4fdb03dd68419e9136e0e1e1c3126cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Thu, 14 Nov 2013 20:57:54 +0100 Subject: [PATCH 50/73] Superbuild: add FGRun compilation for Windows --- CMakeLists.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b55461c..91c7ea6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,7 @@ endif() # of Apple set(OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) set(SG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) set(FG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +set(FGRUN_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) # OpenSceneGraph configuration set(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) @@ -86,6 +87,7 @@ elseif(MSVC) # for compatability with MSVC directory layout set(OSG_INSTALL_PREFIX ${OSG_INSTALL_PREFIX}/${OSG_MSVC}/OpenSceneGraph) + set(FGRUN_INSTALL_PREFIX ${FGRUN_INSTALL_PREFIX}/${OSG_MSVC}/FGRun) set(FG_INSTALL_PREFIX ${FG_INSTALL_PREFIX}/${OSG_MSVC}/FlightGear) set(SG_INSTALL_PREFIX ${SG_INSTALL_PREFIX}/${OSG_MSVC}/SimGear) list(APPEND OSG_DEPS WinDeps) @@ -181,6 +183,19 @@ if (NOT WIN32) list(APPEND FG_DEPS PLIB) endif() +# Only compile FGRun for Windows +if (MSVC) + ExternalProject_Add(FGRun + PREFIX ${CMAKE_BINARY_DIR} + DEPENDS ${FG_DEPS} + DOWNLOAD_COMMAND "" # no need to download + UPDATE_COMMAND "" # or update. + SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/fgrun + BINARY_DIR fgrunbuild + CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FGRUN_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} -DADDITIONAL_LIBRARY_PATHS=${SG_INSTALL_PREFIX} + ) +endif() + ExternalProject_Add(FlightGear PREFIX ${CMAKE_BINARY_DIR} DEPENDS ${FG_DEPS} From 9e8fc07ea1f11d2bd87703a94827a50886c20be1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Thu, 14 Nov 2013 21:15:31 +0100 Subject: [PATCH 51/73] Superbuild: FGRun tweak --- CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 91c7ea6..64a8e2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,7 @@ set(SG_DEPS OSG) set(FG_DEPS SimGear) set(SG_CMAKE_ARGS "") set(FG_CMAKE_ARGS "") +set(FGRUN_CMAKE_ARGS "") if(APPLE) set(BOOST_ARGS link=static stage --with-system) @@ -129,6 +130,7 @@ if (MSVC) list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) + list(APPEND FGRUN_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) endif(MSVC) # of Windows message(STATUS "OSG install prefix is ${OSG_INSTALL_PREFIX}") @@ -185,6 +187,10 @@ endif() # Only compile FGRun for Windows if (MSVC) + list(APPPEND FGRUN_CMAKE_ARGS -DMSVC_3RDPARTY_ROOT:PATH=${CMAKE_BINARY_DIR}) + list(APPPEND FGRUN_CMAKE_ARGS -DFLTK_FLUID_EXECUTABLE:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/bin/fluid.exe) + list(APPPEND FGRUN_CMAKE_ARGS -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH==${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/bin/msgfmt.exe) + list(APPPEND FGRUN_CMAKE_ARGS -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/bin/msgmerge.exe) ExternalProject_Add(FGRun PREFIX ${CMAKE_BINARY_DIR} DEPENDS ${FG_DEPS} @@ -192,7 +198,7 @@ if (MSVC) UPDATE_COMMAND "" # or update. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/fgrun BINARY_DIR fgrunbuild - CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FGRUN_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} -DADDITIONAL_LIBRARY_PATHS=${SG_INSTALL_PREFIX} + CMAKE_ARGS ${FGRUN_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FGRUN_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} -DADDITIONAL_LIBRARY_PATHS=${SG_INSTALL_PREFIX} ) endif() From 4ba10aafda070a3a79841cee644301b2283c3a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Thu, 14 Nov 2013 21:28:10 +0100 Subject: [PATCH 52/73] Superbuild: typo --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 64a8e2b..267a0b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -187,10 +187,10 @@ endif() # Only compile FGRun for Windows if (MSVC) - list(APPPEND FGRUN_CMAKE_ARGS -DMSVC_3RDPARTY_ROOT:PATH=${CMAKE_BINARY_DIR}) - list(APPPEND FGRUN_CMAKE_ARGS -DFLTK_FLUID_EXECUTABLE:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/bin/fluid.exe) - list(APPPEND FGRUN_CMAKE_ARGS -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH==${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/bin/msgfmt.exe) - list(APPPEND FGRUN_CMAKE_ARGS -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/bin/msgmerge.exe) + list(APPEND FGRUN_CMAKE_ARGS -DMSVC_3RDPARTY_ROOT:PATH=${CMAKE_BINARY_DIR}) + list(APPEND FGRUN_CMAKE_ARGS -DFLTK_FLUID_EXECUTABLE:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/bin/fluid.exe) + list(APPEND FGRUN_CMAKE_ARGS -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH==${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/bin/msgfmt.exe) + list(APPEND FGRUN_CMAKE_ARGS -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/bin/msgmerge.exe) ExternalProject_Add(FGRun PREFIX ${CMAKE_BINARY_DIR} DEPENDS ${FG_DEPS} From 758488cd6d71d3fa05f46db58b1e8d01c29823ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Fri, 15 Nov 2013 16:37:54 +0100 Subject: [PATCH 53/73] Make sumodule trancking next branch but maclauncher tracks master --- .gitmodules | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitmodules b/.gitmodules index c3d50eb..bf5114c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,12 +1,16 @@ [submodule "simgear"] path = simgear url = git://gitorious.org/fg/simgear.git + branch = next [submodule "flightgear"] path = flightgear url = git://gitorious.org/fg/flightgear.git + branch = next [submodule "fgrun"] path = fgrun url = git://gitorious.org/fg/fgrun.git + branch = next [submodule "maclauncher"] path = maclauncher url = git://gitorious.org/fg/maclauncher.git + branch = master From 9a1a5ce7a6f5dbdf8385a6949c63eb69206c1e57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Fri, 15 Nov 2013 20:58:05 +0100 Subject: [PATCH 54/73] Superbuild: fix flightgear 64 compilation --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 267a0b5..8638a0f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,7 @@ elseif(MSVC) set(OSG_MSVC ${OSG_MSVC}-64) set(WIN_TAG x64) set(RDPARTY_DIR 3rdParty.x64) + list(APPEND FG_CMAKE_ARGS -DWITH_FGPANEL=OFF) else () set(WIN_TAG win32) set(RDPARTY_DIR 3rdParty) From e5531723b896fc4d93b2a9f31e8f10a74bdccc8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Fri, 15 Nov 2013 21:01:19 +0100 Subject: [PATCH 55/73] Update submodules to last commit --- fgrun | 2 +- flightgear | 2 +- simgear | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fgrun b/fgrun index 90e936c..0afb81c 160000 --- a/fgrun +++ b/fgrun @@ -1 +1 @@ -Subproject commit 90e936c01e28feac4a9c3e28d5227980fb8f1e1d +Subproject commit 0afb81ce4047c00dc5cacf74866b2352822967f8 diff --git a/flightgear b/flightgear index 02a5261..13d5fd4 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 02a5261797998841e2c3d8580385e68a5d319929 +Subproject commit 13d5fd4c25d75e0ad1f039468b5701c88d9167c7 diff --git a/simgear b/simgear index 7076c9a..e973e40 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit 7076c9a0ff82a27cbee3f5a9a512b11adc4abd97 +Subproject commit e973e406a37207492a35bc7cd78c91419105b7fc From ba53b4ce5fe0a236c632ad860c45c3f1e1fbd915 Mon Sep 17 00:00:00 2001 From: Clement de l'Hamaide Date: Sat, 16 Nov 2013 00:07:57 +0100 Subject: [PATCH 56/73] Superbuild: use SVN for 3rdParty and Boost + add exit code in installWinDeps.bat if xcopy fails --- CMakeLists.txt | 21 +++++++++------------ installWinDeps.bat | 17 ++++++++++------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8638a0f..c50a884 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,33 +102,30 @@ endif() if (MSVC) # download 3rdparty dependencies zip, including boost + string(TOLOWER ${RDPARTY_DIR} Rd_Party_Lower) ExternalProject_Add(WinDeps - DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-${WIN_TAG}-VS100-3rdParty+OSG-20120411.zip + SVN_REPOSITORY http://fgfs.goneabitbursar.com/fgwin3rdparty/trunk/msvc100/${Rd_Party_Lower} # extract to current root - SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps - BINARY_DIR ${CMAKE_BINARY_DIR} + SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps/${RDPARTY_DIR} + BINARY_DIR ${CMAKE_BINARY_DIR} + UPDATE_COMMAND "" CONFIGURE_COMMAND "" BUILD_COMMAND ${CMAKE_SOURCE_DIR}/installWinDeps.bat INSTALL_COMMAND "" ) - - set(BOOST_ARGS link=static stage --with-system) - set( Boost_Version 1.54.0 ) - string( REPLACE "." "_" Boost_Version_Underscore ${Boost_Version} ) + set(BOOST_ARGS link=static stage --with-system) ExternalProject_Add(Boost PREFIX ${CMAKE_BINARY_DIR} - URL http://downloads.sourceforge.net/project/boost/boost/${Boost_Version}/boost_${Boost_Version_Underscore}.zip - URL_MD5 78a35834c45220a6164310e280abe675 - UPDATE_COMMAND "bootstrap.bat" + SVN_REPOSITORY http://svn.boost.org/svn/boost/tags/release/Boost_1_54_0 + UPDATE_COMMAND ${BOOST_BOOTSTRAP} CONFIGURE_COMMAND "" BUILD_COMMAND bjam --with-program_options ${BOOST_ARGS} BUILD_IN_SOURCE 1 INSTALL_COMMAND "" ) - + list(APPEND SG_DEPS Boost) - list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) list(APPEND FGRUN_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) diff --git a/installWinDeps.bat b/installWinDeps.bat index c7df973..73972a6 100644 --- a/installWinDeps.bat +++ b/installWinDeps.bat @@ -1,5 +1,3 @@ - - REM ExternalProject can't cleanly extract a zip into an existing directory REM Instead we extract to a subdir, and then move the directories we want REM using this bat file. @@ -8,9 +6,14 @@ echo %CD% IF EXIST winDeps/3rdParty ( md 3rdParty xcopy /Y /E winDeps/3rdParty 3rdParty + echo "Done copying Windows deps" +) ELSE ( + IF EXIST winDeps/3rdParty.x64 ( + md 3rdParty.x64 + xcopy /Y /E winDeps/3rdParty.x64 3rdParty.x64 + echo "Done copying Windows deps" + ) ELSE ( + echo "Error: Windows deps not found" + exit -1 + ) ) -IF EXIST winDeps/3rdParty.x64 ( - md 3rdParty.x64 - xcopy /Y /E winDeps/3rdParty.x64 3rdParty.x64 -) -echo "Done copying Windows deps" From fe838ad8e8f9f4b245c2a72d3ca91415cfac1375 Mon Sep 17 00:00:00 2001 From: Clement de l'Hamaide Date: Sat, 16 Nov 2013 00:40:02 +0100 Subject: [PATCH 57/73] Superbuild: revert SVN use for Boost (SVN throws too many unnecessary lines) --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c50a884..67e6a6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,9 +115,12 @@ if (MSVC) ) set(BOOST_ARGS link=static stage --with-system) + set(Boost_Version 1.54.0) + string(REPLACE "." "_" Boost_Version_Underscore ${Boost_Version}) ExternalProject_Add(Boost PREFIX ${CMAKE_BINARY_DIR} - SVN_REPOSITORY http://svn.boost.org/svn/boost/tags/release/Boost_1_54_0 + URL http://downloads.sourceforge.net/project/boost/boost/${Boost_Version}/boost_${Boost_Version_Underscore}.zip + URL_MD5 78a35834c45220a6164310e280abe675 UPDATE_COMMAND ${BOOST_BOOTSTRAP} CONFIGURE_COMMAND "" BUILD_COMMAND bjam --with-program_options ${BOOST_ARGS} From 57dfbfe524db0b257db89355928867bd2dc47ab9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Sun, 17 Nov 2013 19:50:33 +0100 Subject: [PATCH 58/73] ignore build/ directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b5a76ca..8b08baf 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ output fgBuild sgBuild image +build macflightgear fgdata src From 866a2348228398ed3f0d190f97be0dd02aaec180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Sun, 17 Nov 2013 19:52:32 +0100 Subject: [PATCH 59/73] Bump submodule commits --- fgrun | 2 +- flightgear | 2 +- maclauncher | 2 +- simgear | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fgrun b/fgrun index 0afb81c..973f772 160000 --- a/fgrun +++ b/fgrun @@ -1 +1 @@ -Subproject commit 0afb81ce4047c00dc5cacf74866b2352822967f8 +Subproject commit 973f772231bd601dbbe2fc0910b75765724fbc40 diff --git a/flightgear b/flightgear index 13d5fd4..6afc17a 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 13d5fd4c25d75e0ad1f039468b5701c88d9167c7 +Subproject commit 6afc17a763039c538f973759b7f7107822230cba diff --git a/maclauncher b/maclauncher index 7e6406f..3692e79 160000 --- a/maclauncher +++ b/maclauncher @@ -1 +1 @@ -Subproject commit 7e6406f35cebeb7bb7d060bc0adf9d07c7ca6525 +Subproject commit 3692e79f7dbc2c0d8a98a04da6ac55684185eb67 diff --git a/simgear b/simgear index e973e40..27063d0 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit e973e406a37207492a35bc7cd78c91419105b7fc +Subproject commit 27063d0c32bbc5eecf1980d0747b84f4ef5a9a86 From a2a2d6f3543f87c27bb8392b794370d93456a10f Mon Sep 17 00:00:00 2001 From: Clement de l'Hamaide Date: Mon, 18 Nov 2013 22:24:31 +0100 Subject: [PATCH 60/73] Superbuild: compatible for Linux and Windows --- CMakeLists.txt | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 67e6a6d..bcca9c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,10 +38,12 @@ endif() # of Apple set(OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) set(SG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) set(FG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +set(PLIB_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +set(RTI_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) set(FGRUN_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) # OpenSceneGraph configuration -set(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) +set(OSG_SOURCE http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip) if (APPLE) set(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk) @@ -80,7 +82,6 @@ elseif(MSVC) SET(OSG_CMAKE_ARGS -DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR} -DBUILD_OSG_APPLICATIONS:BOOL=ON - -DCMAKE_INSTALL_PREFIX:PATH= -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF -DFREETYPE_LIBRARY:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/lib/freetype243.lib -DGDAL_INCLUDE_DIR:PATH= @@ -95,9 +96,6 @@ elseif(MSVC) list(APPEND OSG_DEPS WinDeps) else() # normal OSG - set(OSG_INSTALL_PREFIX ${OSG_INSTALL_PREFIX}/OpenSceneGraph) - set(FG_INSTALL_PREFIX ${FG_INSTALL_PREFIX}/FlightGear) - set(SG_INSTALL_PREFIX ${SG_INSTALL_PREFIX}/SimGear) endif() if (MSVC) @@ -134,18 +132,24 @@ if (MSVC) list(APPEND FGRUN_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost) endif(MSVC) # of Windows -message(STATUS "OSG install prefix is ${OSG_INSTALL_PREFIX}") ExternalProject_Add(OSG DEPENDS ${OSG_DEPS} PREFIX ${CMAKE_BINARY_DIR} - ${OSG_SOURCE} + URL ${OSG_SOURCE} URL_HASH MD5=4980f8692712a24d4c99f363f80c6814 BINARY_DIR osgbuild CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${OSG_INSTALL_PREFIX} - # force Release build of OpenSceneGraph - # BUILD_COMMAND "cmake --build . --config Release" ) +# Because OSG install the libraries in lib64/ instead of lib/ +if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + ExternalProject_Add_Step(OSG after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${OSG_INSTALL_PREFIX}/lib64 ${OSG_INSTALL_PREFIX}/lib + COMMAND ${CMAKE_COMMAND} -E remove_directory ${OSG_INSTALL_PREFIX}/lib64 + DEPENDEES install + ) +endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + # FIXME install of OpenRTI is failing on Windows, files in PREFIX/share which # are ending up in C:/Program Files/OpenRTI if (NOT MSVC) @@ -153,7 +157,7 @@ if (NOT MSVC) PREFIX ${CMAKE_BINARY_DIR} DOWNLOAD_COMMAND GIT_REPOSITORY git://gitorious.org/openrti/openrti.git BINARY_DIR rtibuild - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${RTI_INSTALL_PREFIX} ) list(APPEND SG_DEPS OpenRTI) @@ -173,13 +177,13 @@ ExternalProject_Add(SimGear # on Windows, PLIB is in the 3rd-party dependencies zip if (NOT WIN32) - SET(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux) + set(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux) ExternalProject_Add(PLIB PREFIX ${CMAKE_BINARY_DIR} URL http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz URL_HASH MD5=47a6fbf63668c1eed631024038b2ea90 - CONFIGURE_COMMAND /configure --prefix=${CMAKE_INSTALL_PREFIX} ${PLIB_ARGS} + CONFIGURE_COMMAND /configure --prefix=${PLIB_INSTALL_PREFIX} ${PLIB_ARGS} BUILD_IN_SOURCE 1 ) From 4a10d32c61ea74037ca169de81c6cf209962c19c Mon Sep 17 00:00:00 2001 From: Clement de l'Hamaide Date: Wed, 20 Nov 2013 18:33:50 +0100 Subject: [PATCH 61/73] Superbuild: Fix 3rdParty for FGRun x64 --- CMakeLists.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bcca9c6..85b8251 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,11 +71,9 @@ elseif(MSVC) endif (${MSVC_VERSION} EQUAL 1700) if (CMAKE_CL_64) set(OSG_MSVC ${OSG_MSVC}-64) - set(WIN_TAG x64) set(RDPARTY_DIR 3rdParty.x64) list(APPEND FG_CMAKE_ARGS -DWITH_FGPANEL=OFF) else () - set(WIN_TAG win32) set(RDPARTY_DIR 3rdParty) endif (CMAKE_CL_64) @@ -100,9 +98,8 @@ endif() if (MSVC) # download 3rdparty dependencies zip, including boost - string(TOLOWER ${RDPARTY_DIR} Rd_Party_Lower) ExternalProject_Add(WinDeps - SVN_REPOSITORY http://fgfs.goneabitbursar.com/fgwin3rdparty/trunk/msvc100/${Rd_Party_Lower} + SVN_REPOSITORY http://fgfs.goneabitbursar.com/fgwin3rdparty/trunk/msvc100/3rdparty # extract to current root SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps/${RDPARTY_DIR} BINARY_DIR ${CMAKE_BINARY_DIR} From a16f37e678bfc0624cc50a33eb43b45b9d8ef8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Wed, 20 Nov 2013 18:48:26 +0100 Subject: [PATCH 62/73] Bump to the last SG, FG and FGRun commit --- fgrun | 2 +- flightgear | 2 +- simgear | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fgrun b/fgrun index 973f772..0ca81d6 160000 --- a/fgrun +++ b/fgrun @@ -1 +1 @@ -Subproject commit 973f772231bd601dbbe2fc0910b75765724fbc40 +Subproject commit 0ca81d6a2ea1154a954b3672802ad692977d1632 diff --git a/flightgear b/flightgear index 6afc17a..1f69998 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 6afc17a763039c538f973759b7f7107822230cba +Subproject commit 1f699984e9d11d798b3e6db9a912b3c4a7ece70d diff --git a/simgear b/simgear index 27063d0..dd367da 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit 27063d0c32bbc5eecf1980d0747b84f4ef5a9a86 +Subproject commit dd367daac9f784d8f4df39c4d8e9f78ef88e4de0 From af9a7e9bd20d72018e1d48d3de0ff83fc8408dd7 Mon Sep 17 00:00:00 2001 From: James Turner Date: Wed, 23 Oct 2013 21:17:28 +0100 Subject: [PATCH 63/73] Tweak data file name (.tar.bz to .tar.bz2) This simplifies life for the upload step which only needs to deal with one file suffix, not two. --- hudson_build_release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hudson_build_release.sh b/hudson_build_release.sh index 97ef1f6..5f8edd4 100755 --- a/hudson_build_release.sh +++ b/hudson_build_release.sh @@ -64,5 +64,5 @@ echo "Syncing base packages files from sphere.telascience.org" rsync -avz --filter 'merge base-package.rules' \ -e ssh jturner@sphere.telascience.org:/home/jturner/fgdata . -tar cjf output/FlightGear-$VERSION-data.tar.bz fgdata/ +tar cjf output/FlightGear-$VERSION-data.tar.bz2 fgdata/ From 95d0692b0efab58e1c765147e735f0ad48ad2ce6 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 24 Oct 2013 10:27:10 +0100 Subject: [PATCH 64/73] Keep Windows script in sync with new data name. --- hudson_win_package_release.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hudson_win_package_release.bat b/hudson_win_package_release.bat index cf926cb..30d5f91 100644 --- a/hudson_win_package_release.bat +++ b/hudson_win_package_release.bat @@ -32,7 +32,7 @@ ECHO #define OTSoNumber "%OT_SO_NUMBER%" >> InstallConfig.iss set DATA_FILE=FlightGear-%FLIGHTGEAR_VERSION%-data REM extract the data files -7z e -aoa %DATA_FILE%.tar.bz && 7z x -aoa %DATA_FILE%.tar +7z e -aoa %DATA_FILE%.tar.bz2 && 7z x -aoa %DATA_FILE%.tar REM run Inno-setup! REM use iscc instead of compil32 for better error reporting From 784a595e82d75106a7cc20c598069b5350c559f0 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sun, 24 Nov 2013 21:55:06 +0000 Subject: [PATCH 65/73] Updated maclauncher SHA --- maclauncher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maclauncher b/maclauncher index 3692e79..bc7f928 160000 --- a/maclauncher +++ b/maclauncher @@ -1 +1 @@ -Subproject commit 3692e79f7dbc2c0d8a98a04da6ac55684185eb67 +Subproject commit bc7f928dc92ba2759aa4f23920abec4e7984421f From 0a81018df99f151d7b67e2299cf2ce06b6a53a16 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sun, 24 Nov 2013 21:57:21 +0000 Subject: [PATCH 66/73] Sync download&compile Copy from master -> next since next is the new default branch. --- download_and_compile.sh | 401 ++++++++++++++++++++++++++++------------ 1 file changed, 279 insertions(+), 122 deletions(-) diff --git a/download_and_compile.sh b/download_and_compile.sh index 6e3ff26..469554c 100755 --- a/download_and_compile.sh +++ b/download_and_compile.sh @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -VERSION="1.9-12" +VERSION="1.9-12" #COMPILE GIT FGFS @@ -34,21 +34,153 @@ VERSION="1.9-12" # --------------------------------------------------------- # Script Section: Script and Option Initialization # --------------------------------------------------------- -echo $0 $* >rebuild -chmod +x rebuild - - +function write_log(){ + if [[ "$1" = "separator" ]] + then + echo "" | tee -a download_and_compile_summary.log + echo "-----------------------------------------------------------------------------------" \ + | tee -a download_and_compile_summary.log + echo "" | tee -a download_and_compile_summary.log + else + echo "$(date) $1"| tee -a download_and_compile_summary.log + fi +} +function write_log_and_exec(){ + write_log "$1 $2" + $1 +} function SET_WINDOW_TITLE(){ echo -ne "\033]0;Build Flightgear: - ${CBD} - $1\007" } +function check_build(){ +# +# which directories have flightgear installations +# + + +cd $1 +pwd=$(pwd) +for fgfs_install_dir in $(find $1 -type d -regex '.*install/fgfs') +do + write_log; write_log; + + cd $pwd + + cd "${fgfs_install_dir}/.." + install_dir=$(pwd) + exe_fgfs="" + exe_fgrun="" + exe_fgcom="" + exe_fgcomgui="" + install_dir_fgfs="" + install_dir_fgrun="" + install_dir_fgcom="" + install_dir_fgcomgui="" + no_exe_fgfs="" + no_exe_fgrun="" + no_exe_fgcom="" + no_exe_fgcomgui="" + no_install_dir_fgfs="" + no_install_dir_fgrun="" + no_install_dir_fgcom="" + no_install_dir_fgcomgui="" + + if [[ -e ${install_dir}/fgfs/bin/fgfs ]] + then + exe_fgfs="fgfs" + else + no_exe_fgfs="fgfs" + fi + + if [[ -e "${install_dir}/fgrun/bin/fgrun" ]] + then + exe_fgrun="fgrun" + else + no_exe_fgrun="fgrun" + fi + + if [[ -e "${install_dir}/fgcom/bin/fgcom" ]] + then + exe_fgcom="fgcom" + else + no_exe_fgcom="fgcom" + fi + + if [[ -e "${install_dir}/fgcomgui/bin/fgcomgui" ]] + then + exe_fgcomgui="fgcomgui" + else + no_exe_fgcomgui="fgcomgui" + fi + + if [[ -e ${install_dir}/fgfs ]] + then + install_dir_fgfs="fgfs" + else + no_install_dir_fgfs="fgfs" + fi + + if [[ -e "${install_dir}/fgrun" ]] + then + install_dir_fgrun="fgrun" + else + no_install_dir_fgrun="fgrun" + fi + + if [[ -e "${install_dir}/fgcom" ]] + then + install_dir_fgcom="fgcom" + else + no_install_dir_fgcom="fgcom" + fi + + if [[ -e "${install_dir}/fgcomgui" ]] + then + install_dir_fgcomgui="fgcomgui" + else + no_install_dir_fgcomgui="fgcomgui" + fi + + + found_exe="$exe_fgfs $exe_fgrun $exe_fgcom $exe_fgcomgui" + no_exe="$no_exe_fgfs $no_exe_fgrun $no_exe_fgcom $no_exe_fgcomgui" + found_install_dir="$install_dir_fgfs $install_dir_fgrun $install_dir_fgcom $install_dir_fgcomgui" + no_install_dir="$no_install_dir_fgfs $no_install_dir_fgrun $no_install_dir_fgcom $no_install_dir_fgcomgui" + found_exe=${found_exe=## } + found_install_dir=${found_install_dir=##} + no_exe=${no_exe##} + no_install_dir=${no_install_dir##} + + cd $pwd + + write_log separator + write_log "Install dir: ${install_dir}" + write_log separator + + write_log "Found fgdata: $(cat $install_dir/fgfs/fgdata/version)" + write_log "Found Executables: $found_exe" + write_log "Found Install Dir: $found_install_dir" + write_log "Found No Executables: $no_exe" + write_log "Found No Install Dir: $no_install_dir" + write_log "" + write_log separator + write_log separator + write_log "" +done +} +rebuild_command="$0 $*" +echo $0 $* >>download_and_compile.log +echo " started building in $(pwd)" >>download_and_compile.log +echo " at $(date)" >>download_and_compile.log LOGFILE=compilation_log.txt LOGSEP="***********************************" WHATTOBUILD= -WHATTOBUILDALL=( PLIB OSG OPENRTI SIMGEAR FGFS DATA FGRUN FGCOM FGCOMGUI) +WHATTOBUILDALL=( PLIB OSG OPENRTI SIMGEAR FGFS DATA FGRUN FGCOM ) UPDATE= STABLE= +STOP_AFTER_ONE_MODULE=false APT_GET_UPDATE="y" DOWNLOAD_PACKAGES="y" @@ -62,27 +194,28 @@ OOPTION="" DEBUG="" WITH_EVENT_INPUT="" WITH_OPENRTI="" -FG_SG_BRANCH="next" -FG_SG_REVISION="HEAD" +FGSG_BRANCH="next" +FGSG_REVISION="HEAD" OSG_VERSION="3.0.1" # --------------------------------------------------------- # Script Section: Option Interpretation # --------------------------------------------------------- SET_WINDOW_TITLE "Script and Option Initialization" -while getopts "suhgeixvwc:p:a:d:r:j:O:B:R:G:" OPTION +while getopts "zsuhgeixvwc:p:a:d:r:j:O:B:R:G:" OPTION do + echo $OPTION case $OPTION in s) STABLE="STABLE" - FG_SG_BRANCH="2.10.0" - FG_SG_REVISION="HEAD" + FGSG_BRANCH="2.10.0" + FGSG_REVISION="HEAD" ;; B) - FG_SG_BRANCH=$OPTARG + FGSG_BRANCH=$OPTARG ;; R) - FG_SG_REVISION=$OPTARG + FGSG_REVISION=$OPTARG ;; G) OSG_VERSION=${OPTARG^^} #3.0.1, 3.0.1d 3.1.9 3.1.9d, next nextd, etc @@ -92,7 +225,8 @@ do OSG_DEBUG_OR_RELEASE='Debug' OSG_VERSION= ${OSG_VERSION%d} fi - ;; u) + ;; + u) UPDATE="UPDATE" ;; h) @@ -137,6 +271,9 @@ do w) VERBOSE_MAKEFILE="-D CMAKE_VERBOSE_MAKEFILE=ON" ;; + z) + STOP_AFTER_ONE_MODULE=true + ;; ?) echo "error" HELP="HELP" @@ -177,7 +314,7 @@ then WHATTOBUILD=( "${WHATTOBUILDALL[@]}" ) fi -#printf "%s\n" "${WHATTOBUILD[@]}" +printf "%s\n" "${WHATTOBUILD[@]}" # --------------------------------------------------------- # Script Section: Set Source Archive Version Variables @@ -189,31 +326,43 @@ OSG_SVN="http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-${ declare -A OPENRTI_MAP declare -A FGSG_MAP -FGSG_MAP=( [next]="next HEAD 2.99.9" \ +declare -A FGDATA_MAP +FGSG_MAP=( [next]="next HEAD" \ + [master]="master HEAD " \ + [2.12.1]="release/2.12.1 HEAD" \ + [2.12.0]="release/2.12.0 HEAD" \ + [2.10.0]="release/2.10.0 HEAD " \ + [2.8.0]="release/2.8.0 version/2.8.0-final" ) +FGDATA_MAP=([next]="next HEAD 2.99.9" \ + [master]="master HEAD 2.12.1" \ [master]="master HEAD 2.12.0" \ [2.12.0]="release/2.12.0 HEAD 2.12.0" \ [2.10.0]="release/2.10.0 HEAD 2.10.0" \ - [2.8.0]="release/2.8.0 version/2.8.0-final 2.8.0" ) + [2.8.0]="release/2.8.0 HEAD 2.8.0" ) OPENRTI_MAP=( [next]="master HEAD" \ [master]="master HEAD" \ + [2.12.1]="master HEAD" \ [2.12.0]="master HEAD" \ [2.10.0]="master HEAD" \ [2.8.0]="release-0.3 OpenRTI-0.3.0" ) -FG_SG_VERSION=${FG_SG_BRANCH##*/} +FG_SG_VERSION=${FGSG_BRANCH##*/} MAP_ITEM=( ${FGSG_MAP[${FG_SG_VERSION}]} ) -FG_SG_BRANCH=${MAP_ITEM[0]} -FG_SG_REVISION=${MAP_ITEM[1]} -FGDATA_BRANCH=${MAP_ITEM[0]} -FGDATA_REVISION=${MAP_ITEM[1]} -FGDATA_VERSION=${MAP_ITEM[2]} +FGSG_BRANCH=${MAP_ITEM[0]} +FGSG_REVISION=${MAP_ITEM[1]} + +MAP_ITEM=( ${FGDATA_MAP[${FG_SG_VERSION}]} ) +FGDATA_BRANCH=${MAP_ITEM[1]} +FGDATA_REVISION=${MAP_ITEM[2]} +FGDATA_VERSION=${MAP_ITEM[3]} MAP_ITEM=( ${OPENRTI_MAP[${FG_SG_VERSION}]} ) OPENRTI_BRANCH=${MAP_ITEM[0]} OPENRTI_REVISION=${MAP_ITEM[1]} + # FGCOM FGCOM_BRANCH="master" FGCOMGUI_STABLE_REVISION="46" @@ -221,13 +370,8 @@ FGCOMGUI_STABLE_REVISION="46" #OpenRadar OR_STABLE_RELEASE="http://wagnerw.de/OpenRadar.zip" - - -# --------------------------------------------------------- -# Script Section: set script to stop if an error occours -# --------------------------------------------------------- - -set -e +fgdata_git="git://gitorious.org/fg/fgdata.git" +echo $(pwd) # --------------------------------------------------------- # Script Section: Display Script Help @@ -329,16 +473,22 @@ 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 +echo "APT_GET_UPDATE=$APT_GET_UPDATE" |tee -a $LOGFILE +echo "DOWNLOAD_PACKAGES=$DOWNLOAD_PACKAGES" |tee -a $LOGFILE +echo "COMPILE=$COMPILE" |tee -a $LOGFILE +echo "RECONFIGURE=$RECONFIGURE" |tee -a $LOGFILE +echo "DOWNLOAD=$DOWNLOAD" |tee -a $LOGFILE +echo "JOPTION=$JOPTION" |tee -a $LOGFILE +echo "OOPTION=$OOPTION" |tee -a $LOGFILE +echo "DEBUG=$DEBUG" |tee -a $LOGFILE +echo "FGSG_VERSION=$FGSG_VERSION" |tee -a LOGFILE +echo "FGSG_REVISION=$FGSG_REVISION" |tee -a LOGFILE +echo "FGDATA_BRANCH=$FGDATA_BRANCH" |tee -a LOGFILE +echo "FGDATA_REVISION=$FGDATA_REVISION" |tee -a LOGFILE +echo "FGDATA_VERSION=$FGDATA_VERSION" |tee -a LOGFILE + +echo "$LOGSEP" |tee -a $LOGFILE -echo "$LOGSEP" >> $LOGFILE # --------------------------------------------------------- # Script Section: Determine Linux Distribution # --------------------------------------------------------- @@ -357,9 +507,8 @@ DEBIAN_PACKAGES_STABLE="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.1-dev libfl 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 +then echo "$DISTRIB_ID $DISTRIB_RELEASE" >> $LOGFILE DISTRO_PACKAGES="$DISTRO_PACKAGES $UBUNTU_PACKAGES" else @@ -445,6 +594,11 @@ INSTALL_DIR=$CBD/$SUB_INSTALL_DIR cd "$CBD" mkdir -p build +# --------------------------------------------------------- +# Script Section: set script to stop if an error occours +# --------------------------------------------------------- + +set -e # --------------------------------------------------------- # Script Section: Build Components @@ -458,8 +612,6 @@ INSTALL_DIR_PLIB=$INSTALL_DIR/$PLIB_INSTALL_DIR cd "$CBD" -#svn co http://plib.svn.sourceforge.net/svnroot/plib/trunk/ plib - if [[ "$(declare -p WHATTOBUILD)" =~ '['([0-9]+)']="PLIB"' ]] then if [ ! "$UPDATE" = "UPDATE" ] @@ -489,10 +641,8 @@ then svn update $PLIB_STABLE_REVISION_ cd - else - echo -n "DOWNLOADING FROM http://plib.svn.sourceforge.net ..." >> $LOGFILE - svn $PLIB_STABLE_REVISION_ co http://plib.svn.sourceforge.net/svnroot/plib/trunk/ plib - #cat plib/src/util/ul.h | sed s/"PLIB_TINY_VERSION 5"/"PLIB_TINY_VERSION 6"/g > ul.h-v1.8.6 - #mv ul.h-v1.8.6 plib/src/util/ul.h + echo -n "DOWNLOADING FROM http://svn.code.sf.net/p/plib/code/trunk/ ..." >> $LOGFILE + svn $PLIB_STABLE_REVISION_ co http://svn.code.sf.net/p/plib/code/trunk/ plib echo " OK" >> $LOGFILE fi fi @@ -539,6 +689,7 @@ then cd "$CBD" fi + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi ####################################################### @@ -571,7 +722,7 @@ then mkdir -p build/osg cd "$CBD"/build/osg echo -n "RECONFIGURE OSG ... " >> $LOGFILE - rm -f ../../OpenSceneGraph/CMakeCache.txt + rm -f CMakeCache.txt ../../OpenSceneGraph/CMakeCache.txt cmake ../../OpenSceneGraph/ echo " OK" >> $LOGFILE @@ -611,6 +762,7 @@ then fi cd - + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi ####################################################### @@ -708,6 +860,7 @@ then make install 2>&1 | tee -a $LOGFILE fi cd - + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi ####################################################### @@ -776,6 +929,7 @@ then fi + cd "simgear/simgear" if [ ! "$UPDATE" = "UPDATE" ] @@ -788,6 +942,7 @@ then cd "$CBD"/build/simgear echo -n "RECONFIGURE SIMGEAR ... " >> $LOGFILE rm -f ../../simgear/simgear/CMakeCache.txt + rm -f CMakeCache.txt cmake ${VERBOSE_MAKEFILE} -D CMAKE_BUILD_TYPE="Release" $WITH_OPENRTI -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -D CMAKE_INSTALL_PREFIX:PATH="$INSTALL_DIR_SIMGEAR" -D "CMAKE_PREFIX_PATH=$INSTALL_DIR_OSG;$INSTALL_DIR_OPENRTI" ../../simgear/simgear/ 2>&1 | tee -a $LOGFILE echo " OK" >> $LOGFILE @@ -809,6 +964,7 @@ then make install 2>&1 | tee -a $LOGFILE fi cd - + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi ####################################################### @@ -853,6 +1009,7 @@ then fi cd flightgear + # fix for CMakeLists.txt broken by fltk issues on Ubuntu 13.10 git fetch origin if [ "$STABLE" = "STABLE" ] @@ -881,7 +1038,24 @@ then fi cd flightgear - + if [[ $(grep -L 'list(APPEND FLTK_LIBRARIES ${CMAKE_DL_LIBS})' CMakeLists.txt) != "" ]] + then + patch CMakeLists.txt <<\EOF +--- fgfs/flightgear/CMakeLists.txt_old 2013-08-04 08:59:00.614104454 -0400 ++++ fgfs/flightgear/CMakeLists.txt_new 2013-08-04 09:03:32.430104979 -0400 +@@ -203,6 +203,10 @@ + list(APPEND FLTK_LIBRARIES ${X11_Xft_LIB}) + endif() + ++ if ( CMAKE_DL_LIBS ) ++ list(APPEND FLTK_LIBRARIES ${CMAKE_DL_LIBS}) ++ endif() ++ + message(STATUS "Using FLTK_LIBRARIES for fgadmin: ${FLTK_LIBRARIES}") + endif ( FLTK_FOUND ) + endif(ENABLE_FGADMIN) +EOF +fi if [ ! "$UPDATE" = "UPDATE" ] then if [ "$RECONFIGURE" = "y" ] @@ -900,6 +1074,7 @@ then echo -n "RECONFIGURE FGFS ... " >> $LOGFILE rm -f ../../fgfs/flightgear/CMakeCache.txt + rm -f CMakeCache.txt # REMOVING BAD LINES IN CMakeLists.txt #echo "REMOVING BAD LINES IN CMakeLists.txt" @@ -952,18 +1127,18 @@ then fi EXDIR=$(pwd) cd $INSTALL_DIR_FGFS - echo -n "GIT DATA FROM git://gitorious.org/fg/fgdata.git ... " >> $LOGFILE + echo -n "GIT DATA FROM $fgdata_git ... " |tee -a $LOGFILE if [ -d "fgdata" ] then echo "fgdata exists already." else # no repository yet - need to clone a fresh one - git clone git://gitorious.org/fg/fgdata.git fgdata + git clone $fgdata_git fgdata fi - cd fgdata - + cd $INSTALL_DIR_FGFS/fgdata + git remote set-url origin $fgdata_git git fetch origin if [ "$STABLE" = "STABLE" ] then @@ -977,9 +1152,9 @@ then else # switch to unstable branch # create local unstable branch, ignore errors if it exists - git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH 2> /dev/null || true + git branch -f $FGDATA_BRANCH origin/$FGDATA_BRANCH 2> /dev/null || true # switch to unstable branch. No error is reported if we're already on the branch. - git checkout -f $FGSG_BRANCH + git checkout -f $FGDATA_BRANCH # pull latest version from the unstable branch git pull fi @@ -1023,6 +1198,7 @@ ENDOFALL2 echo "./terrasync \$@" >> $SCRIPT chmod 755 $SCRIPT + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi ####################################################### @@ -1060,6 +1236,7 @@ then echo "python fgo" >> $SCRIPT chmod 755 $SCRIPT + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi ####################################################### @@ -1155,6 +1332,7 @@ then echo "./fgx" >> $SCRIPT chmod 755 $SCRIPT + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi ####################################################### @@ -1189,7 +1367,24 @@ then fi cd fgrun - +if [[ $(grep -L 'list(APPEND FLTK_LIBRARIES ${CMAKE_DL_LIBS})' CMakeLists.txt) != "" ]] +then +patch CMakeLists.txt <<\EOD +--- master/fgrun/CMakeLists.txt 2013-05-25 06:37:31.882942339 -0400 ++++ next/fgrun/CMakeLists.txt 2013-08-04 07:54:59.274097042 -0400 +@@ -212,6 +212,10 @@ if ( FLTK_FOUND ) + list(APPEND FLTK_LIBRARIES ${X11_Xft_LIB}) + endif() + ++ if ( CMAKE_DL_LIBS ) ++ list(APPEND FLTK_LIBRARIES ${CMAKE_DL_LIBS}) ++ endif() ++ + set( CMAKE_REQUIRED_INCLUDES ${FLTK_INCLUDE_DIR} ) + set( CMAKE_REQUIRED_LIBRARIES ${FLTK_LIBRARIES} ) + message(STATUS "Using FLTK_LIBRARIES for fgrun: ${FLTK_LIBRARIES}") +EOD +fi git fetch origin if [ "$STABLE" = "STABLE" ] then @@ -1230,6 +1425,7 @@ then echo -n "RECONFIGURE FGRUN ... " >> $LOGFILE rm -f ../../fgrun/CMakeCache.txt + rm -f CMakeCache.txt cmake ${VERBOSE_MAKEFILE} -D CMAKE_BUILD_TYPE="Release" -D CMAKE_CXX_FLAGS="-O3 -D__STDC_CONSTANT_MACROS" -D CMAKE_C_FLAGS="-O3" -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 @@ -1261,6 +1457,7 @@ then chmod 755 $SCRIPT + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi ####################################################### @@ -1281,13 +1478,6 @@ then #svn checkout svn://svn.dfn.de:/fgcom/trunk fgcom if [ "$DOWNLOAD" = "y" ] then - - FGCOM_STABLE_REVISION_="" - if [ "$STABLE" = "STABLE" ] - then - FGCOM_STABLE_REVISION_=" -r $FGCOM_STABLE_REVISION" - fi - echo -n "git://gitorious.org/fg/fgcom.git ... " >> $LOGFILE if [ -d "fgcom" ] @@ -1299,24 +1489,14 @@ then cd fgcom git fetch origin - if [ "$STABLE" = "STABLE" ] - then - # switch to stable branch - # create local stable branch, ignore errors if it exists - git branch -f $FGCOM_STABLE_FGOM_BRANCH origin/$FGCOM_STABLE_FGCOM_BRANCH 2> /dev/null || true - # switch to stable branch. No error is reported if we're already on the branch. - git checkout -f $FGCOM_STABLE_FGCOM_BRANCH - # get indicated stable version - git reset --hard $FGCOM_STABLE_REVISION - else - # switch to unstable branch - # create local unstable branch, ignore errors if it exists - git branch -f $FGCOM_BRANCH origin/$FGCOM_BRANCH 2> /dev/null || true - # switch to unstable branch. No error is reported if we're already on the branch. - git checkout -f $FGCOM_BRANCH - # pull latest version from the unstable branch - git pull - fi + + # create local unstable branch, ignore errors if it exists + git branch -f $FGCOM_UNSTABLE_GIT_BRANCH origin/$FGCOM_UNSTABLE_GIT_BRANCH 2> /dev/null || true + # switch to unstable branch. No error is reported if we're already on the branch. + git checkout -f $FGCOM_UNSTABLE_GIT_BRANCH + # pull latest version from the unstable branch + git pull + echo " OK" >> $LOGFILE cd .. @@ -1331,56 +1511,21 @@ then then if [ "$RECONFIGURE" = "y" ] then + cd "$CBD"/fgcom + cd "$CBD" mkdir -p build/fgcom cd "$CBD"/build/fgcom echo -n "RECONFIGURE FGCOM ... " >> $LOGFILE rm -f CMakeCache.txt - cmake ${VERBOSE_MAKEFILE} -D CMAKE_BUILD_TYPE="Release" -D "CMAKE_PREFIX_PATH=$INSTALL_DIR_PLIB;$INSTALL_DIR_SIMGEAR" -D "CMAKE_INSTALL_PREFIX:PATH=$INSTALL_DIR_FGCOM" "$CBD"/fgcom 2>&1 | tee -a $LOGFILE + # add -lpthread for UNIX + cmake ${VERBOSE_MAKEFILE} -DCMAKE_SKIP_INSTALL_RPATH:BOOL=TRUE -DCMAKE_SKIP_RPATH:BOOL=TRUE -DFIND_PTHREAD_LIB:BOOL=TRUE -D CMAKE_BUILD_TYPE="Release" -D "CMAKE_PREFIX_PATH=$INSTALL_DIR_PLIB" -D "CMAKE_INSTALL_PREFIX:PATH=$INSTALL_DIR_FGCOM" "$CBD"/fgcom 2>&1 | tee -a $LOGFILE echo " OK" >> $LOGFILE cd "$CBD"/fgcom/src/ - cp Makefile Makefile.original - cat Makefile | sed s/\\//MY_SLASH_HERE/g > Makefile_NOSLASHES - - # 1 - INSTALL_DIR_PLIB_NO_SLASHES=$(echo "$INSTALL_DIR_PLIB" | sed -e 's/\//MY_SLASH_HERE/g') - cat Makefile_NOSLASHES | sed s/PLIB_PREFIX\ *:=\ *MY_SLASH_HEREusrMY_SLASH_HERElocalMY_SLASH_HEREsrcMY_SLASH_HEREfgfs-builderMY_SLASH_HEREinstall/PLIB_PREFIX\ :=\ $INSTALL_DIR_PLIB_NO_SLASHES/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES - - #2 - CXXFLAGS=$(cat Makefile_NOSLASHES | grep ^CXXFLAGS | head -n 1) - CXXFLAGS2=$CXXFLAGS" -I $INSTALL_DIR_SIMGEAR/include -I $INSTALL_DIR_OSG/include" - CXXFLAGS3=$(echo $CXXFLAGS2 | sed s/\\//MY_SLASH_HERE/g) - - cat Makefile_NOSLASHES | sed s/^CXXFLAGS\ *:=.*/"$CXXFLAGS3"/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES - - #3 - LDFLAGS=$(cat Makefile_NOSLASHES | grep ^LDFLAGS | head -n 1) - LDFLAGS2=$LDFLAGS" -L $INSTALL_DIR_SIMGEAR/lib" - LDFLAGS3=$(echo $LDFLAGS2 | sed s/\\//MY_SLASH_HERE/g) - - cat Makefile_NOSLASHES | sed s/^LDFLAGS.*/"$LDFLAGS3"/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES - - #4 - INSTALL_DIR_FGCOM_NO_SLASHS=$(echo "$INSTALL_DIR_FGCOM" | sed -e 's/\//MY_SLASH_HERE/g') - INSTALL_BIN_FGCOM_NO_SLASHS="$INSTALL_DIR_FGCOM_NO_SLASHS""MY_SLASH_HEREbin" - - cat Makefile_NOSLASHES | sed s/INSTALL_BIN\ *:=\ *MY_SLASH_HEREusrMY_SLASH_HERElocalMY_SLASH_HEREbin/INSTALL_BIN\ :=\ $INSTALL_BIN_FGCOM_NO_SLASHS/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES - - cat Makefile_NOSLASHES | sed s/INSTALL_DIR\ *:=\ *MY_SLASH_HEREusrMY_SLASH_HERElocal/INSTALL_DIR\ :=\ $INSTALL_DIR_FGCOM_NO_SLASHS/g > Makefile_temp - mv -f Makefile_temp Makefile_NOSLASHES - - - #last - cat Makefile_NOSLASHES | sed s/MY_SLASH_HERE/\\//g > Makefile - fi cd "$CBD"/build/fgcom @@ -1405,6 +1550,7 @@ then echo "./fgcom -Sfgcom.flightgear.org.uk \$@" >> run_fgcom.sh chmod 755 run_fgcom.sh fi + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi ####################################################### @@ -1461,8 +1607,9 @@ then echo "./fgcomgui \$@" >> run_fgcomgui.sh chmod 755 run_fgcomgui.sh fi -fi + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi +fi ####################################################### # OPENRADAR ####################################################### @@ -1491,9 +1638,9 @@ then echo "cd install/OpenRadar" >> run_openradar.sh echo "java -jar OpenRadar.jar" >> run_openradar.sh chmod 755 run_openradar.sh + if [[ $STOP_AFTER_ONE_MODULE = true ]]; then exit; fi fi - ####################################################### # ATLAS ####################################################### @@ -1564,6 +1711,10 @@ then fi fi SET_WINDOW_TITLE "Finished Building" +echo " finished at $(date)" >>download_and_compile.log +echo "" >>download_and_compile.log + +check_build "$CBD" echo "To start fgfs, run the run_fgfs.sh file" echo "To start terrasync, run the run_terrasync.sh file" @@ -1578,4 +1729,10 @@ then else echo "Usage: $0 -h" echo "for help" + echo "$rebuild" >rebuild + chmod +x rebuild fi + + + + From 247ca7b113931fc7d087f7916b69a3ce3229d871 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Sat, 30 Nov 2013 16:25:12 +0100 Subject: [PATCH 67/73] Sync 3rdParty folder with SVN repo --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 85b8251..a222843 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,7 +99,7 @@ endif() if (MSVC) # download 3rdparty dependencies zip, including boost ExternalProject_Add(WinDeps - SVN_REPOSITORY http://fgfs.goneabitbursar.com/fgwin3rdparty/trunk/msvc100/3rdparty + SVN_REPOSITORY http://fgfs.goneabitbursar.com/fgwin3rdparty/trunk/msvc100/${RDPARTY_DIR} # extract to current root SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps/${RDPARTY_DIR} BINARY_DIR ${CMAKE_BINARY_DIR} From 102f797cc3238d1c19087433335acdec67614430 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Sun, 1 Dec 2013 11:01:57 +0100 Subject: [PATCH 68/73] Bump FG, SG, FGrun commit --- fgrun | 2 +- flightgear | 2 +- simgear | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fgrun b/fgrun index 0ca81d6..53fc766 160000 --- a/fgrun +++ b/fgrun @@ -1 +1 @@ -Subproject commit 0ca81d6a2ea1154a954b3672802ad692977d1632 +Subproject commit 53fc766bbb3f0e38812520a3d58e7bf83012fd17 diff --git a/flightgear b/flightgear index 1f69998..b50ea67 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 1f699984e9d11d798b3e6db9a912b3c4a7ece70d +Subproject commit b50ea6753bf976ac93d7457366f3afeda1c4319e diff --git a/simgear b/simgear index dd367da..dfb07f3 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit dd367daac9f784d8f4df39c4d8e9f78ef88e4de0 +Subproject commit dfb07f359eddbf7086bc2c217fcfcacb446f5baf From 5f94a6d623dc5f9046448f62b0e7d540e3e23c10 Mon Sep 17 00:00:00 2001 From: James Turner Date: Mon, 2 Dec 2013 21:55:59 +0000 Subject: [PATCH 69/73] Superbuild tweaks - fix download/configure of Boost on Windows - attempt to use custom build steps to fix re-builds. --- CMakeLists.txt | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a222843..e92534f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,8 +116,8 @@ if (MSVC) PREFIX ${CMAKE_BINARY_DIR} URL http://downloads.sourceforge.net/project/boost/boost/${Boost_Version}/boost_${Boost_Version_Underscore}.zip URL_MD5 78a35834c45220a6164310e280abe675 - UPDATE_COMMAND ${BOOST_BOOTSTRAP} - CONFIGURE_COMMAND "" + UPDATE_COMMAND "" + CONFIGURE_COMMAND ${BOOST_BOOTSTRAP} BUILD_COMMAND bjam --with-program_options ${BOOST_ARGS} BUILD_IN_SOURCE 1 INSTALL_COMMAND "" @@ -172,6 +172,15 @@ ExternalProject_Add(SimGear CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${SG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} ) +# because we download SimGear externally (via Git submodules), +# the change-detection doesn't work. Ensure we always change +# for changes +ExternalProject_Add_Step(SimGear forcebuild + ALWAYS 1 + COMMAND ${CMAKE_COMMAND} -E echo foo + DEPENDERS build + ) + # on Windows, PLIB is in the 3rd-party dependencies zip if (NOT WIN32) set(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux) @@ -213,3 +222,12 @@ ExternalProject_Add(FlightGear BINARY_DIR fgbuild CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} -DADDITIONAL_LIBRARY_PATHS=${SG_INSTALL_PREFIX} ) + +# because we download FlightGear externally (via Git submodules), +# the change-detection doesn't work. Ensure we always change +# for changes +ExternalProject_Add_Step(FlightGear forcebuild + ALWAYS 1 + COMMAND ${CMAKE_COMMAND} -E echo foo + DEPENDERS build + ) From fe39e97c2ed376a081de8251e18bfd876621c617 Mon Sep 17 00:00:00 2001 From: James Turner Date: Mon, 2 Dec 2013 22:03:40 +0000 Subject: [PATCH 70/73] Bump for FGRun windows fixes --- fgrun | 2 +- flightgear | 2 +- simgear | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fgrun b/fgrun index 53fc766..7fe3ed1 160000 --- a/fgrun +++ b/fgrun @@ -1 +1 @@ -Subproject commit 53fc766bbb3f0e38812520a3d58e7bf83012fd17 +Subproject commit 7fe3ed19000de7f300f26df19e0f8181f16ee9ed diff --git a/flightgear b/flightgear index b50ea67..3e1af82 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit b50ea6753bf976ac93d7457366f3afeda1c4319e +Subproject commit 3e1af8248a099f1fb7c2a23c1c7681d04a671d2e diff --git a/simgear b/simgear index dfb07f3..5861b52 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit dfb07f359eddbf7086bc2c217fcfcacb446f5baf +Subproject commit 5861b52cffd9f0a7969562216645ec8b7a440db0 From 75cc4a410c4843544ae13c60c31e98c808732926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20de=20l=27Hamaide?= Date: Tue, 24 Dec 2013 12:58:54 +0100 Subject: [PATCH 71/73] Bump FGRun/FG/SG commit --- fgrun | 2 +- flightgear | 2 +- simgear | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fgrun b/fgrun index 7fe3ed1..4e0ed61 160000 --- a/fgrun +++ b/fgrun @@ -1 +1 @@ -Subproject commit 7fe3ed19000de7f300f26df19e0f8181f16ee9ed +Subproject commit 4e0ed6179dd3c7464e6cc2a4f067624903681983 diff --git a/flightgear b/flightgear index 3e1af82..c9a0a50 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit 3e1af8248a099f1fb7c2a23c1c7681d04a671d2e +Subproject commit c9a0a50847872b6759a8a24c200475cae026c02a diff --git a/simgear b/simgear index 5861b52..fb54386 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit 5861b52cffd9f0a7969562216645ec8b7a440db0 +Subproject commit fb54386f8d904477333af424a5cbedc6e09ede25 From 2e4f0171eb7ff0fefc50cae58dca1fdbe501700e Mon Sep 17 00:00:00 2001 From: James Turner Date: Sat, 4 Jan 2014 16:16:57 +0000 Subject: [PATCH 72/73] Updated download_and_compile script. From Pat Callahan. --- download_and_compile.sh | 89 ++++++++++++++++++++++++++++++++--------- 1 file changed, 69 insertions(+), 20 deletions(-) diff --git a/download_and_compile.sh b/download_and_compile.sh index 469554c..ab14fe2 100755 --- a/download_and_compile.sh +++ b/download_and_compile.sh @@ -17,7 +17,12 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -VERSION="1.9-12" +VERSION="1.9-13" +#compatibility with UBUNTU 13.10 - libhal no longer in ubuntu 13.10 +#symbolic link error when using data directories in higher directories +#fixed array index on FGDATA version picker +#fixed fgdata directory reference when using parent or grandparent directories to store master copies. +#fixed rebuild command #COMPILE GIT FGFS @@ -49,6 +54,23 @@ function write_log_and_exec(){ write_log "$1 $2" $1 } +function write_log_and_exec_subprocess(){ + write_log "$1 $2" + if [[ "$3" = "noerror" ]] + then + $1 2>/dev/null || true + else + $1 + fi +} +function git_check_branch_or_tag(){ + if [[ "$1" != "" ]] + then + branch="$(git branch |sed "s/* //" |grep $1)" + tag="$(git tag |sed "s/* //" |grep $1)" + echo $branch$tag + fi +} function SET_WINDOW_TITLE(){ echo -ne "\033]0;Build Flightgear: - ${CBD} - $1\007" } @@ -333,9 +355,9 @@ FGSG_MAP=( [next]="next HEAD" \ [2.12.0]="release/2.12.0 HEAD" \ [2.10.0]="release/2.10.0 HEAD " \ [2.8.0]="release/2.8.0 version/2.8.0-final" ) -FGDATA_MAP=([next]="next HEAD 2.99.9" \ - [master]="master HEAD 2.12.1" \ - [master]="master HEAD 2.12.0" \ +FGDATA_MAP=([next]="master HEAD 2.99.9" \ + [master]="master HEAD 2.99.9" \ + [2.12.1]="release/2.12.0 HEAD 2.12.0" \ [2.12.0]="release/2.12.0 HEAD 2.12.0" \ [2.10.0]="release/2.10.0 HEAD 2.10.0" \ [2.8.0]="release/2.8.0 HEAD 2.8.0" ) @@ -354,9 +376,9 @@ FGSG_BRANCH=${MAP_ITEM[0]} FGSG_REVISION=${MAP_ITEM[1]} MAP_ITEM=( ${FGDATA_MAP[${FG_SG_VERSION}]} ) -FGDATA_BRANCH=${MAP_ITEM[1]} -FGDATA_REVISION=${MAP_ITEM[2]} -FGDATA_VERSION=${MAP_ITEM[3]} +FGDATA_BRANCH=${MAP_ITEM[0]} +FGDATA_REVISION=${MAP_ITEM[1]} +FGDATA_VERSION=${MAP_ITEM[2]} MAP_ITEM=( ${OPENRTI_MAP[${FG_SG_VERSION}]} ) OPENRTI_BRANCH=${MAP_ITEM[0]} @@ -499,10 +521,14 @@ then fi # default is hardy -DISTRO_PACKAGES="libopenal-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 libboost-dev libasound2-dev libasound2 libpng12-dev libpng12-0 libjasper1 libjasper-dev libopenexr-dev libboost-serialization-dev git-core libhal-dev libqt4-dev scons python-tk python-imaging-tk libsvn-dev libglew1.5-dev libxft2 libxft-dev libxinerama1 libxinerama-dev" +DISTRO_PACKAGES="libopenal-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 libboost-dev libasound2-dev libasound2 libpng12-dev libpng12-0 libjasper1 libjasper-dev libopenexr-dev libboost-serialization-dev git-core libqt4-dev scons python-tk python-imaging-tk libsvn-dev libglew1.5-dev libxft2 libxft-dev libxinerama1 libxinerama-dev" UBUNTU_PACKAGES="freeglut3-dev libjpeg62-dev libjpeg62 libapr1-dev libfltk1.3-dev libfltk1.3" +if [[ ( "$DISTRIB_ID" = "Ubuntu" || "$DISTRIB_ID" = "LinuxMint" ) && "$DISTRIB_RELEASE" < "13.10" ]] +then + UBUNTU_PACKAGES="$UBUNTU_PACKAGES libhal-dev" +fi 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" @@ -709,8 +735,19 @@ then if [ "$DOWNLOAD" = "y" ] then echo -n "SVN FROM $OSG_SVN ... " >> $LOGFILE - svn co "$OSG_SVN" OpenSceneGraph - echo " OK" >> $LOGFILE + if [ -d "OpenSceneGraph/.svn" ] + then + echo -n "updating OpenSceneGraph svn" + cd OpenSceneGraph + svn update + cd - + else + echo -n "downloadING FROM $OSG_SVN ..." + svn co "$OSG_SVN" OpenSceneGraph + echo " OK" + fi + echo " OK" >> $LOGFILE + fi cd OpenSceneGraph @@ -1114,12 +1151,13 @@ fi SET_WINDOW_TITLE " FGDATA" if [[ -e ../fgdata_${FGDATA_VERSION} ]] then - FGDATA_DIR=../fgdata_${FGDATA_VERSION} + FGDATA_DIR=$(cd $(dirname ../fgdata_${FGDATA_VERSION}/fgdata); pwd)/$(basename ../fgdata_${FGDATA_VERSION}/fgdata) fi if [[ -e ../../fgdata_${FGDATA_VERSION} ]] then - FGDATA_DIR=../../fgdata_${FGDATA_VERSION} + FGDATA_DIR=$(cd $(dirname ../../fgdata_${FGDATA_VERSION}/fgdata); pwd)/$(basename ../../fgdata_${FGDATA_VERSION}/fgdata) fi + if [[ ! -e $INSTALL_DIR_FGFS/fgdata && -e ${FGDATA_DIR} ]] then ln -s ${FGDATA_DIR} $INSTALL_DIR_FGFS/fgdata @@ -1129,7 +1167,7 @@ fi cd $INSTALL_DIR_FGFS echo -n "GIT DATA FROM $fgdata_git ... " |tee -a $LOGFILE - if [ -d "fgdata" ] + if [ -e "fgdata" ] then echo "fgdata exists already." else @@ -1144,19 +1182,30 @@ fi then # switch to stable branch # create local stable branch, ignore errors if it exists - git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH 2> /dev/null || true + if [[ "$(git_check_branch_or_tag $FGSG_BRANCH)" = "" ]] + then + write_log_and_exec + "git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH" + fi # switch to stable branch. No error is reported if we're already on the branch. - git checkout -f $FGSG_BRANCH + write_log_and_exec "git checkout -f $FGSG_BRANCH" + # get indicated stable version - git reset --hard $FGSG_BRANCH + + write_log_and_exec "git reset --hard $FGSG_BRANCH" else # switch to unstable branch # create local unstable branch, ignore errors if it exists - git branch -f $FGDATA_BRANCH origin/$FGDATA_BRANCH 2> /dev/null || true + $(git_check_branch_or_tag) + if [[ "$(git_check_branch_or_tag $FGDATA_BRANCH)" = "" ]] + then + write_log_and_exec + "git branch -f $FGDATA_BRANCH origin/$FGDATA_BRANCH" + fi # switch to unstable branch. No error is reported if we're already on the branch. - git checkout -f $FGDATA_BRANCH + write_log_and_exec "git checkout -f $FGDATA_BRANCH" # pull latest version from the unstable branch - git pull + write_log_and_exec "git pull" fi cd .. @@ -1729,7 +1778,7 @@ then else echo "Usage: $0 -h" echo "for help" - echo "$rebuild" >rebuild + echo "$rebuild_command" >rebuild chmod +x rebuild fi From f98529dbce6319b17344744659b39246dced30cf Mon Sep 17 00:00:00 2001 From: James Turner Date: Sat, 4 Jan 2014 16:19:21 +0000 Subject: [PATCH 73/73] Bump submodule revisions. --- fgrun | 2 +- flightgear | 2 +- simgear | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fgrun b/fgrun index 4e0ed61..89385a0 160000 --- a/fgrun +++ b/fgrun @@ -1 +1 @@ -Subproject commit 4e0ed6179dd3c7464e6cc2a4f067624903681983 +Subproject commit 89385a013d0d3e8e3a66e4a256de5d5007ce5f8a diff --git a/flightgear b/flightgear index c9a0a50..9e773e8 160000 --- a/flightgear +++ b/flightgear @@ -1 +1 @@ -Subproject commit c9a0a50847872b6759a8a24c200475cae026c02a +Subproject commit 9e773e85f865d42abb8027b515292db4af82876a diff --git a/simgear b/simgear index fb54386..c6330b6 160000 --- a/simgear +++ b/simgear @@ -1 +1 @@ -Subproject commit fb54386f8d904477333af424a5cbedc6e09ede25 +Subproject commit c6330b64f6930c75c3c12a070a3625b8908f9e4d