Compare commits

...

128 Commits

Author SHA1 Message Date
James Turner
b6bcaaa36d Update from Pat:
First time users of the script on ubuntu will find an error when the
script attempts to install packages using su instead of sudo.
2014-03-04 09:09:52 +00:00
James Turner
1026e75f7c Download_and_compile 1.9.14
1. Version bump for 2.99.9 now 3.0.0
 2. changed logging to log entire output of a sub-process
    rather than write individual lines of output to a logfile.
 3. logs are versioned.
 4. fix to support a change in fgdata version when fgdata is a symlink
 5. Automatic j option # of cores + 1
 6. fixed stable fgrun build
 7. stable is now 2.12.0 for fgfs & simgear, 2.12.1 for fgdata
 8. fixed broken stable build for 2.12.0
 9. Added section on setup
 10. once built, unless specifically requested by parameter
	OSG or PLIB:
	Don't rebuild OSG or plib
       Don't update OSG or plib sources
 12. self testing with ./download_and_compile.sh test.
 	this will build 2.12.0, stable, master, next, 3.0.0
 	in sub-directories under the one
	containing ./download_and_compile.sh
	if doing this test it is highly recommended that you
	create a directory "othersrc" in the same directory
	as download_and_compile.sh.  You may also want to place a
       recent copy of fgdata in both ../fgdata_3.0.0 and fgdata_2.12.1

       usage:  ./download_and_compile.sh test reset
	You had better have lots of disk space free.
	and plenty of time as it will download a copy of
	fgdata for each version if you don't provide one.
2014-01-29 14:23:24 +00:00
James Turner
d3955a4e2c Merge branch 'refs/heads/next' 2014-01-04 16:26:56 +00:00
James Turner
f98529dbce Bump submodule revisions. 2014-01-04 16:19:21 +00:00
James Turner
2e4f0171eb Updated download_and_compile script.
From Pat Callahan.
2014-01-04 16:16:57 +00:00
Clément de l'Hamaide
75cc4a410c Bump FGRun/FG/SG commit 2013-12-24 12:58:54 +01:00
James Turner
fe39e97c2e Bump for FGRun windows fixes 2013-12-02 22:03:40 +00:00
James Turner
5f94a6d623 Superbuild tweaks
- fix download/configure of Boost on Windows
- attempt to use custom build steps to fix re-builds.
2013-12-02 22:02:24 +00:00
Clément de l'Hamaide
102f797cc3 Bump FG, SG, FGrun commit 2013-12-01 11:01:57 +01:00
Clément de l'Hamaide
247ca7b113 Sync 3rdParty folder with SVN repo 2013-11-30 16:25:12 +01:00
James Turner
0a81018df9 Sync download&compile
Copy from master -> next since next is the new default branch.
2013-11-24 21:57:21 +00:00
James Turner
784a595e82 Updated maclauncher SHA 2013-11-24 21:55:06 +00:00
James Turner
95d0692b0e Keep Windows script in sync with new data name. 2013-11-22 22:48:56 +01:00
James Turner
af9a7e9bd2 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.
2013-11-22 22:48:41 +01:00
Clément de l'Hamaide
a16f37e678 Bump to the last SG, FG and FGRun commit 2013-11-20 18:48:36 +01:00
Clement de l'Hamaide
4a10d32c61 Superbuild: Fix 3rdParty for FGRun x64 2013-11-20 18:33:50 +01:00
Clement de l'Hamaide
a2a2d6f354 Superbuild: compatible for Linux and Windows 2013-11-18 22:24:31 +01:00
Clément de l'Hamaide
866a234822 Bump submodule commits 2013-11-17 19:52:32 +01:00
Clément de l'Hamaide
57dfbfe524 ignore build/ directory 2013-11-17 19:50:33 +01:00
Clement de l'Hamaide
fe838ad8e8 Superbuild: revert SVN use for Boost (SVN throws too many unnecessary lines) 2013-11-16 00:40:02 +01:00
Clement de l'Hamaide
ba53b4ce5f Superbuild: use SVN for 3rdParty and Boost + add exit code in installWinDeps.bat if xcopy fails 2013-11-16 00:07:57 +01:00
Clément de l'Hamaide
e5531723b8 Update submodules to last commit 2013-11-15 21:01:19 +01:00
Clément de l'Hamaide
9a1a5ce7a6 Superbuild: fix flightgear 64 compilation 2013-11-15 20:58:05 +01:00
Clément de l'Hamaide
758488cd6d Make sumodule trancking next branch but maclauncher tracks master 2013-11-15 16:37:54 +01:00
Clément de l'Hamaide
4ba10aafda Superbuild: typo 2013-11-14 21:28:10 +01:00
Clément de l'Hamaide
9e8fc07ea1 Superbuild: FGRun tweak 2013-11-14 21:15:31 +01:00
Clément de l'Hamaide
9763440ef4 Superbuild: add FGRun compilation for Windows 2013-11-14 20:57:54 +01:00
Clément de l'Hamaide
c78949fd4a Superbuild: fix SimGear path for FG build - bis 2013-11-14 20:39:34 +01:00
Clément de l'Hamaide
7d21138771 Superbuild: fix SimGear path for FG build 2013-11-14 17:58:10 +01:00
Clément de l'Hamaide
0b5855fdee Superbuild: fix 3rdParty 32/64 compatibility 2013-11-14 02:35:33 +01:00
Clément de l'Hamaide
d627ec7360 Superbuild: make CMAKE_INSTALL_PREFIX usable for Unix and Win 2013-11-13 23:21:18 +01:00
Clément de l'Hamaide
56e9eb4b6a Superbuild: oops forget a level in path 2013-11-13 21:10:20 +01:00
Clément de l'Hamaide
24e55d6b92 Superbuild: add 64bits support for 3rdParty 2013-11-13 17:45:48 +01:00
Clément de l'Hamaide
f625f7b5e5 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
2013-11-13 17:34:29 +01:00
Clément de l'Hamaide
2f97b62112 Upgrade win package release adding FGCom installation 2013-11-01 19:02:33 +01:00
Clément de l'Hamaide
636548111e FG-Win-installer: add FGCom installation 2013-10-31 22:52:42 +01:00
James Turner
3378b289aa Bump to latest SG+FG 2013-10-30 14:52:36 +00:00
Clément de l'Hamaide
6a0c88934f build-mac-release: use new FGCom 2013-10-25 15:42:41 +02:00
James Turner
811d421382 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.
2013-10-24 08:40:07 +01:00
James Turner
871236a9de Use different InnoSetup compiler.
(Hopefully this one reports errors to stdout instead of a GUI)
2013-10-24 08:40:07 +01:00
James Turner
51b9e61667 Make OpenThreads SO number dynamic. 2013-10-24 08:40:07 +01:00
James Turner
f4fc5a3a58 Add data package extraction to Windows script 2013-10-24 08:40:07 +01:00
James Turner
3d0dce4a11 Bump FGRun version to master. 2013-10-24 08:40:07 +01:00
James Turner
b493681787 Use Boost from Jenkins, on Windows. 2013-10-24 08:40:07 +01:00
James Turner
75815ca5bc 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.
2013-10-24 08:40:07 +01:00
James Turner
fecaccdb8e Catalog XML creation basically works.
Still need to write <aircraft> entries.
2013-10-24 08:40:07 +01:00
James Turner
b59449aa63 XML write-out improving.
Use existing catalog for static data, revision counting.
2013-10-24 08:40:07 +01:00
James Turner
ac4189b12b Metabuild starting to work on Windows 2013-10-24 08:40:07 +01:00
James Turner
6d8aadb35f SuperBuild tweaks 2013-10-24 08:40:07 +01:00
James Turner
5405da6e3f RTI support 2013-10-24 08:40:07 +01:00
James Turner
3b41a1f8dc SuperBuild file 2013-10-24 08:40:07 +01:00
James Turner
32c5b8819a 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.
2013-10-24 08:40:07 +01:00
James Turner
091c466b9e Mac launcher tweaks for release. 2013-10-24 08:40:07 +01:00
James Turner
286253fda4 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.
2013-10-24 08:40:07 +01:00
James Turner
c97c439db7 DMG file naming tweaks. 2013-10-24 08:40:03 +01:00
James Turner
822926bcaa Fixed MSAA option in Mac launcher 2013-10-24 08:40:03 +01:00
James Turner
037176fb72 Mac launcher tweaks. 2013-10-24 08:39:59 +01:00
James Turner
c8afb19ce6 Include the Options html file in the Mac DMG. 2013-10-24 08:39:59 +01:00
James Turner
66b389f011 Include GetStart and Short-Ref PDFs in the DMG.
Rather than hiding these inside the bundle, lift them up to a visible place.
2013-10-24 08:39:59 +01:00
James Turner
b04de947a8 Bump to include Ati viewport hack. 2013-10-24 08:39:59 +01:00
James Turner
5014a47ead Updated Maclauncher version. 2013-10-24 08:39:59 +01:00
James Turner
00bbc6cea7 Build Mac release build with debugInfo.
(Experimental, let's see if this helps testing)
2013-10-24 08:39:58 +01:00
James Turner
e1ff3e5f69 Use 2.10.0 branch for maclauncher too. 2013-10-24 08:39:52 +01:00
James Turner
3ebf7b6286 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.
2013-10-24 08:39:45 +01:00
James Turner
f8046e65ec Maclauncher: No 32-bit anymore! 2013-10-24 08:31:00 +01:00
Pat
36e9b1d4f3 Version 1.9.12
1. Added the output of a rebuild command to facilitate
   rerunning with The same parameters.

   usage: chmod +x rebuild
          ./rebuild

2. Removed FGCOMGUI from the all build due to its failure to build
   at least on Ubuntu 13.04

3. Added options

   -B branch
   -R revision

   usage:  -B master -R HEAD
           -B next   -R HEAD
	   -B 2.10.0 -R HEAD
	   -B 2.12.0 -R HEAD

   other entries are possibl -R defaults to HEAD, but can also be a commit #
   or a tag name

4. OSG Version option -G

   usage:

	-G 3.0.1 (default)
	-G 3.1.9
        -G 3.1.9d (debug build for osg - untested)

5. Stop after building one module

   This was added to facilitate testing.

   usage: -z

6. Enable Flightgear 2.10.0 as stable

   usage: -s

7. Add optional build for OPENRADAR

   usage:

   ./download_and_compile.sh OPENRADAR

   untested

8. Echo compile bash variable values to terminal and logfile

9. add patches for fltk libraries on Ubuntu 13.04

10. Sets the window title at each step

11. Initial support for keeping multiple versions of fgdata

    To do this, create directories in the parent of where you are building:

    fgdata_2.10.0
    fgdata_2.12.0
    fgdata_2.99.9

    move a copy of ANY fgdata git clone into all three

    the next initial build of a given version will set the corresponding
    fgdata to the right version.

    to use these, set up a symbolic link to fgdata_x from install/fgfs/fgdata

12. Added output to an additonal log: download_and_compile.log

    The log contains only a record of starting each component build
    and the end of the build.

    Fun fact:  OSG builds in about 4 minutes using -j 9
               on an i7 4770k with 16gb memory

    ../download_and_compile.sh -xvp n -j 9 -B 2.12.0 ALL
    cat download_and_compile.log
../download_and_compile.sh -xvp n -j 9 -B 2.12.0 ALL
		started building in /home/pac1/work/fg/test-gits/team-master/2.12.0
		        at Tue Aug 27 22:43:17 EDT 2013
		finished at Tue Aug 27 22:56:04 EDT 2013

Version 1.9.12-pre5  5th pre-release version of 1.9.12
function write_log() added.
	write_log writes summary information to sysout and a summary log file
	the function is added as a preview of changes to the logging for the script
function SET_WINDOW_TITLE()
	changes the window title to indicate what is being built.
function check_build()
	writes to the summary log a list of what was found as executables after a build.
outputs a rebuild command
	the rebuild command can be used to re-execute the same build without entry of options or parameters.

removes fgcomgui from the list of modules built when ALL is specified

STOP_AFTER_ONE_MODULE
Adds options z, B, R and G

option z will set this so that only one module will be built, and then the script
will immediately stop.  This is useful during testing of the script.

Option B allows the build of a specific branch. Without the R option it will build the head of the branch.
option R allows the build of a specific revision or commit.
Option G allows selection of a specific version of OpenSceneGraph.

This version introduces the use of a bash associative array to select branch and version for building.

patches allow building with fltk under Ubuntu 13.04

Open radar has been added
2013-10-24 08:20:27 +01:00
James Turner
8fe9281692 Update superbuild
- remove libSvn
- compile Boost ourselves on Windows
- tweak OSG detection
2013-10-21 22:19:45 +01:00
James Turner
5610f352af Use OSG 3.2 for superbuild.
Bump to current FG+SG head revisions on next
2013-09-15 22:04:58 +01:00
James Turner
19e9e62ba6 Add data package extraction to Windows script 2013-08-28 13:12:14 +01:00
Pat
75f1a35520 Version 1.9.12 see release notes on
http://wiki.flightgear.org/Scripted_Compilation_on_Linux_Debian/Ubuntu
2013-08-01 13:32:32 +01:00
Pat
06df73928f Version 1.9.11 approved by Francesco Brisa 2013-08-01 13:31:43 +01:00
Pat
1e183ed9de 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
2013-06-15 12:38:49 +01:00
James Turner
8f53e02e26 Bump to latest 'next' heads. 2013-03-28 11:11:24 +00:00
James Turner
19705077f5 Bump to latest fg+sg 2013-03-10 15:10:15 +00:00
James Turner
5e82468203 Use Boost from Jenkins, on Windows. 2013-03-06 12:38:22 +00:00
James Turner
40b0daec9f Bump SG+FG versions. 2013-03-03 16:09:41 +00:00
James Turner
9019d3c49c 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.
2013-03-01 17:55:55 +00:00
James Turner
530e41f1b0 Catalog XML creation basically works.
Still need to write <aircraft> entries.
2013-03-01 16:34:50 +00:00
James Turner
c20802b84f XML write-out improving.
Use existing catalog for static data, revision counting.
2013-03-01 16:34:49 +00:00
James Turner
b4b5f665c1 Metabuild starting to work on Windows 2013-03-01 16:26:38 +00:00
James Turner
e5f6218be9 SuperBuild tweaks 2013-02-24 21:14:08 +00:00
James Turner
3c32c48955 RTI support 2013-02-21 14:21:26 +00:00
James Turner
8fc045b409 Latest SG+FG 2013-02-21 11:08:06 +00:00
James Turner
ecd1537a61 SuperBuild file 2013-02-21 11:06:29 +00:00
James Turner
82fedc7362 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.
2013-02-17 17:19:57 +00:00
James Turner
958a9ac2ba Merge branch 'refs/heads/release/2.10.0' into next 2013-02-17 12:02:25 +00:00
James Turner
9a02d6ecb7 Mac launcher tweaks for release. 2013-02-09 11:04:50 +00:00
James Turner
20fffd5b2e 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.
2013-02-09 10:34:26 +00:00
James Turner
bd19b4a2bd Update for revised nav-cache rebuild. 2013-02-04 08:40:44 +00:00
James Turner
cf425684a6 DMG file naming tweaks. 2013-02-01 14:45:30 +00:00
James Turner
ace2336cde Fixed MSAA option in Mac launcher 2013-02-01 10:00:59 +00:00
James Turner
abe9cb809a Bump to include Mac keypad fix. 2013-01-31 18:49:09 +00:00
James Turner
e72e6c5621 Mac launcher tweaks. 2013-01-31 14:02:02 +00:00
James Turner
33693907c3 Include the Options html file in the Mac DMG. 2013-01-31 09:26:45 +00:00
James Turner
55933a7621 Include GetStart and Short-Ref PDFs in the DMG.
Rather than hiding these inside the bundle, lift them up to a visible place.
2013-01-30 15:46:15 +00:00
James Turner
91fdda387d Bump to include Ati viewport hack. 2013-01-28 23:42:06 +00:00
James Turner
c2edd66b51 Updated Maclauncher version. 2013-01-28 16:14:16 +00:00
James Turner
94ea65ec2e Build Mac release build with debugInfo.
(Experimental, let's see if this helps testing)
2013-01-28 16:14:16 +00:00
James Turner
df6ee9a211 One more bump of the fg release branch. 2013-01-25 13:18:11 +01:00
James Turner
60c95026ec Bump FlightGear version for release branch. 2013-01-24 11:38:12 +01:00
James Turner
24fd57edd3 Bump to flightgear branch head. 2013-01-19 16:29:52 +00:00
James Turner
ecbee417b8 Use 2.10.0 branch for maclauncher too. 2013-01-19 16:28:58 +00:00
James Turner
2c2c819a44 Initial release-branch heads. 2013-01-18 13:17:41 +00:00
James Turner
bac9b55f06 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.
2013-01-18 13:13:22 +00:00
James Turner
4e9ab5aa80 Maclauncher: No 32-bit anymore! 2013-01-18 13:13:16 +00:00
James Turner
6380e284c2 Bump FG & SG to latest, testing release build. 2013-01-04 10:43:24 +00:00
James Turner
e27bfc00cf Remove any references to ALUT from Mac build. 2013-01-04 10:40:43 +00:00
James Turner
f165971a23 Merge branch 'refs/heads/release/2.8.0' 2013-01-04 10:37:42 +00:00
Frederic Bouvier
2ffc2e2161 Bump fgmeta to latest sources 2012-12-20 08:46:41 +01:00
Frederic Bouvier
675d32f137 Update to latest sources 2012-12-04 09:18:56 +01:00
Frederic Bouvier
24b0e27fee Fix the windows 64 release build 2012-12-04 09:18:22 +01:00
Frederic Bouvier
76abd56d61 Build release with last Boost 2012-11-30 19:52:22 +01:00
Frederic Bouvier
b60191638b Bump fgmeta to latest next 2012-11-30 16:30:35 +01:00
ThorstenB
73fac5dd6a Francesco Brisa: d&c script update
* fix OpenRTI support for simgear.
* fix package management on debian 6.0
2012-11-27 22:09:03 +01:00
ThorstenB
6941d72b9f Francesco Brisa: d&c script, F-JJTH has done some big improvements
Added OpenRTI to compilation list
Added FGX to compilation list
Simgear now can be compiled with openrti option.
Minor minor fixes for plib
2012-11-22 20:38:51 +01:00
ThorstenB
1b1be1678e Francesco Angelo Brisa: plib update for d&c script. 2012-11-20 19:40:35 +01:00
ThorstenB
babafbb198 Francesco Angelo Brisa: FGRun update for d&c script.
Also pulls FGrun from git repository now, thanks to Pac.
2012-11-01 13:28:51 +01:00
Frederic Bouvier
7cbc6a0439 Update fgmeta master to latest sources 2012-09-03 10:51:33 +02:00
ThorstenB
9a80c0103e Francesco Angelo Brisa: Updated d_and_c script for FG2.8.0 2012-08-23 20:49:07 +02:00
Frederic Bouvier
9ca5e06578 Give FG version to fgrun to control what path should be set and overwrite a previous installation in the preference file 2012-08-17 22:27:48 +02:00
Frederic Bouvier
c7ef5567d3 Bump for fgrun 2012-08-17 21:12:25 +02:00
Frederic Bouvier
78dfd31128 Build embedded fgrun 2012-08-17 21:07:05 +02:00
Frederic Bouvier
9fc39e9575 Bump master for test purposes 2012-08-15 23:55:23 +02:00
Frederic Bouvier
dd0bbe0a05 Add fgrun git repository as git module for future release (not 2.8). Hand edited .gitmodules as msysgit doesn't modify that file 2012-08-05 23:24:00 +02:00
Frederic Bouvier
86d0cef390 Add fgrun git repository as git module for future release (not 2.8) 2012-08-05 22:47:38 +02:00
Torsten Dreyer
ecc8111986 Fix typo in hudson win32/64 build scripts
Also remove obsolete build of SimGear which is included
in the build of the solution.
2011-07-29 14:12:32 +02:00
James Turner
5c289cb98c Set next versions of FG/SG, for testing 2011-05-21 15:11:57 +01:00
James Turner
8302a21ef7 Pickup SimGear version from its workspace (only works with 2.3.0 or higher) 2011-05-21 15:11:22 +01:00
17 changed files with 1879 additions and 590 deletions

8
.gitignore vendored
View File

@@ -9,5 +9,13 @@ output
fgBuild
sgBuild
image
build
macflightgear
fgdata
src
tmp
Makefile
CMakeFiles
archivebuild
osgbuild
CMakeCache.txt

3
.gitmodules vendored
View File

@@ -4,6 +4,9 @@
[submodule "flightgear"]
path = flightgear
url = git://gitorious.org/fg/flightgear.git
[submodule "fgrun"]
path = fgrun
url = git://gitorious.org/fg/fgrun.git
[submodule "maclauncher"]
path = maclauncher
url = git://gitorious.org/fg/maclauncher.git

233
CMakeLists.txt Normal file
View File

@@ -0,0 +1,233 @@
cmake_minimum_required (VERSION 2.6.4)
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()
set(BOOST_BOOTSTRAP "bootstrap.bat")
endif()
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)
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})
list(APPEND SG_DEPS Boost)
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 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
# osgViewer system detection goes wrongh
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
)
# 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)
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)
if (CMAKE_CL_64)
set(OSG_MSVC ${OSG_MSVC}-64)
set(RDPARTY_DIR 3rdParty.x64)
list(APPEND FG_CMAKE_ARGS -DWITH_FGPANEL=OFF)
else ()
set(RDPARTY_DIR 3rdParty)
endif (CMAKE_CL_64)
SET(OSG_CMAKE_ARGS
-DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}
-DBUILD_OSG_APPLICATIONS:BOOL=ON
-DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF
-DFREETYPE_LIBRARY:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/lib/freetype243.lib
-DGDAL_INCLUDE_DIR:PATH=
-DGDAL_LIBRARY:FILEPATH=
)
# 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)
else()
# normal OSG
endif()
if (MSVC)
# download 3rdparty dependencies zip, including boost
ExternalProject_Add(WinDeps
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}
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})
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 ""
CONFIGURE_COMMAND ${BOOST_BOOTSTRAP}
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)
endif(MSVC) # of Windows
ExternalProject_Add(OSG
DEPENDS ${OSG_DEPS}
PREFIX ${CMAKE_BINARY_DIR}
URL ${OSG_SOURCE}
URL_HASH MD5=4980f8692712a24d4c99f363f80c6814
BINARY_DIR osgbuild
CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${OSG_INSTALL_PREFIX}
)
# 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)
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=${RTI_INSTALL_PREFIX}
)
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.
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear
BINARY_DIR sgbuild
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)
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 <SOURCE_DIR>/configure --prefix=${PLIB_INSTALL_PREFIX} ${PLIB_ARGS}
BUILD_IN_SOURCE 1
)
list(APPEND FG_DEPS PLIB)
endif()
# Only compile FGRun for Windows
if (MSVC)
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}
DOWNLOAD_COMMAND "" # no need to download
UPDATE_COMMAND "" # or update.
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/fgrun
BINARY_DIR fgrunbuild
CMAKE_ARGS ${FGRUN_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}
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=${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
)

View File

@@ -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')
@@ -97,6 +101,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')
@@ -108,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')
@@ -144,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')
@@ -197,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"

171
create_catalog.py Executable file
View File

@@ -0,0 +1,171 @@
#!/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]
existingCatalogPath = os.path.join(outputDir, 'catalog.xml')
existingCatalog = None
print 'existing ctalog path:' + existingCatalogPath
if os.path.exists(existingCatalogPath):
existingCatalog = 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 = 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)
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['desc'] = desc
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)
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:
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()
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:
print acft + ": MD5 is unchanged"
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'])
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
root = ET.Element('PropertyList')
catalogTree = ET.ElementTree(root)
existingPackages = dict()
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'):
idNode = n.find('id')
if idNode is None:
print 'Missing <id> tag on package'
continue
existingPackages[idNode.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')

1917
download_and_compile.sh Normal file → Executable file

File diff suppressed because it is too large Load Diff

1
fgrun Submodule

Submodule fgrun added at b82da6b7d7

View File

@@ -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.bz2 fgdata/

View File

@@ -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"
@@ -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 -arch i386 main.m \
gcc -o FlightGear main.m \
-framework Cocoa -framework RubyCocoa -framework Foundation -framework AppKit
popd

View File

@@ -22,8 +22,6 @@ puts "Code signing identity is #{$codeSignIdentity}"
puts "osgVersion=#{osgVersion}, so-number=#{$osgSoVersion}"
$alutSourcePath='/Library/Frameworks/ALUT.framework'
$svnLibs = ['svn_client', 'svn_wc', 'svn_delta', 'svn_diff', 'svn_ra',
'svn_ra_local', 'svn_repos', 'svn_fs', 'svn_fs_fs', 'svn_fs_util',
'svn_ra_svn', 'svn_subr', 'svn_ra_neon']
@@ -40,10 +38,6 @@ def fix_install_names(object)
oldName = "libOpenThreads.#{$openThreadsSoVersion}.dylib"
newName= "@executable_path/../Frameworks/#{oldName}"
`install_name_tool -change #{oldName} #{newName} #{object}`
alutBundlePath = "@executable_path/../Frameworks/ALUT.framework"
alutLib = "Versions/A/ALUT"
`install_name_tool -change #{$alutSourcePath}/#{alutLib} #{alutBundlePath}/#{alutLib} #{object}`
end
$prefixDir=Dir.pwd + "/dist"
@@ -92,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}`
@@ -132,21 +126,17 @@ end
copy_svn_libs()
# custom ALUT
# must copy frameworks using ditto
`ditto #{$alutSourcePath} #{$frameworksDir}/ALUT.framework`
# Macflightgear launcher
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")
if File.exist?("#{$prefixDir}/share/flightgear")
puts "Copying FGCom data files"
`ditto #{$prefixDir}/bin/fgcom-data #{resourcesDir}/fgcom-data`
`ditto #{$prefixDir}/share/flightgear #{resourcesDir}`
end
# Info.plist
@@ -160,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}/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`

View File

@@ -1,15 +1,22 @@
IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0
ECHO #define SIMGEAR_VERSION "2.8.0" > %WORKSPACE%\simgear\simgear\version.h
SET /P SIMGEAR_VERSION=<%WORKSPACE%\simgear\version
ECHO #define SIMGEAR_VERSION "%SIMGEAR_VERSION%" > %WORKSPACE%\simgear\simgear\version.h
rem set PATH=%PATH%;D:\Program Files (x86)\CMake 2.8\bin
rem call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat"
md build-sg
md build-fg
md build-fgrun
cd build-sg
cmake ..\simgear -G "Visual Studio 10" -DMSVC_3RDPARTY_ROOT=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear
cmake ..\simgear -G "Visual Studio 10" -DMSVC_3RDPARTY_ROOT=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear -DBOOST_ROOT=%WORKSPACE%/Boost
cmake --build . --config Release --target INSTALL
cd ..\build-fg
cmake ..\flightgear -G "Visual Studio 10" -DMSVC_3RDPARTY_ROOT=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe
cmake ..\flightgear -G "Visual Studio 10" -DMSVC_3RDPARTY_ROOT=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe -DBOOST_ROOT=%WORKSPACE%/Boost
cmake --build . --config Release --target INSTALL
cd ..\build-fgrun
cmake ..\fgrun -G "Visual Studio 10" -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe -DBOOST_ROOT=%WORKSPACE%/Boost
cmake --build . --config Release --target INSTALL

View File

@@ -1,15 +1,24 @@
IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0
ECHO #define SIMGEAR_VERSION "2.8.0" > %WORKSPACE%\simgear\simgear\version.h
SET /P SIMGEAR_VERSION=<%WORKSPACE%\simgear\version
ECHO #define SIMGEAR_VERSION "%SIMGEAR_VERSION%" > %WORKSPACE%\simgear\simgear\version.h
rem ECHO #define SIMGEAR_VERSION "2.9.0" > %WORKSPACE%\simgear\simgear\version.h
rem set PATH=%PATH%;D:\Program Files (x86)\CMake 2.8\bin
rem call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64
md build-sg64
md build-fg64
md build-fgrun64
cd build-sg64
cmake ..\SimGear -G "Visual Studio 10 Win64" -DMSVC_3RDPARTY_ROOT=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100-64/SimGear
cmake ..\SimGear -G "Visual Studio 10 Win64" -DMSVC_3RDPARTY_ROOT=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100-64/SimGear -DBOOST_ROOT=%WORKSPACE%/Boost
cmake --build . --config Release --target INSTALL
cd ..\build-fg64
cmake ..\flightgear -G "Visual Studio 10 Win64" -DMSVC_3RDPARTY_ROOT=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100-64/FlightGear -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe
cmake ..\flightgear -G "Visual Studio 10 Win64" -DMSVC_3RDPARTY_ROOT=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100-64/FlightGear -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe -DBOOST_ROOT=%WORKSPACE%/Boost -DWITH_FGPANEL=OFF -DENABLE_PROFILE=OFF
cmake --build . --config Release --target INSTALL
cd ..\build-fgrun64
cmake ..\fgrun -G "Visual Studio 10 Win64" -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE% -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100-64/FGRun -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe -DBOOST_ROOT=%WORKSPACE%/Boost
cmake --build . --config Release --target INSTALL

View File

@@ -10,21 +10,31 @@ 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
osgversion --openthreads-soversion-number > %TEMP%\openthreads-so-number.txt
SET /P FLIGHTGEAR_VERSION=<flightgear\version
SET /P OSG_VERSION=<%TEMP%\osg-version.txt
SET /P OSG_SO_NUMBER=<%TEMP%\osg-so-number.txt
SET /P OT_SO_NUMBER=<%TEMP%\openthreads-so-number.txt
ECHO #define FGVersion "%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
REM extract the data files
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
Compil32 /cc FlightGear.iss
iscc FlightGear.iss

19
installWinDeps.bat Normal file
View File

@@ -0,0 +1,19 @@
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%
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
)
)

Submodule simgear updated: b1baddd6dc...ea8023e51f