diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6380c51 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +dist +.DS_Store +install +3rdParty +boost_1_44_0 +InstallConfig.iss +Output diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..dbc0fce --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "simgear"] + path = simgear + url = http://git.gitorious.org/fg/simgear.git +[submodule "flightgear"] + path = flightgear + url = http://git.gitorious.org/fg/flightgear.git diff --git a/FlightGear.iss b/FlightGear.iss new file mode 100755 index 0000000..5ddd35d --- /dev/null +++ b/FlightGear.iss @@ -0,0 +1,234 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! +; +; This script creates an installable FlightGear package for Win32 using the +; "Inno Setup" package builder. Inno Setup is free (but probably not open +; source?.) The official web site for this package building software is: +; +; http://www.jrsoftware.org/isinfo.php +; +; Note: the files must appear in the X: drive. +; You can do this with the command below: +; +; subst X: path_to_files +; +; For example: +; +; C:\> subst X: F:\Path\to\FlightGear\root +; C:\> subst X: F:\ +; + +#include "InstallConfig.iss" + +#if GetEnv("VSINSTALLDIR") == "" + #define VSInstallDir "C:\Program Files\Microsoft Visual Studio 9.0" +#else + #define VSInstallDir GetEnv("VSINSTALLDIR") +#endif + +#define VCInstallDir VSInstallDir + "\VC" +#define OSGInstallDir "X:\install\msvc90\OpenSceneGraph" +#define OSGPluginsDir OSGInstallDir + "\bin\osgPlugins-" + OSGVersion + +#define OSG64InstallDir "X:\install\msvc90-64\OpenSceneGraph" +#define OSG64PluginsDir OSG64InstallDir + "\bin\osgPlugins-" + OSGVersion + +[Setup] +AppId=FlightGear +AppName=FlightGear +AppPublisher=The FlightGear Team +OutputBaseFilename=fgsetup-{#FGVersion} +AppVerName=FlightGear v{#FGVersion} +AppPublisherURL=http://www.flightgear.org +AppSupportURL=http://www.flightgear.org +AppUpdatesURL=http://www.flightgear.org +DefaultDirName={pf}\FlightGear +DefaultGroupName=FlightGear {#FGVersion} +LicenseFile=X:\flightgear\COPYING +Uninstallable=yes +SetupIconFile=X:\flightgear\projects\VC90\flightgear.ico +VersionInfoVersion={#FGVersion}.0 +WizardImageFile=X:\flightgear\package\Win32-Inno\setupimg.bmp +WizardImageStretch=No +WizardSmallImageFile=X:\flightgear\package\Win32-Inno\setupsmall.bmp +VersionInfoCompany=The FlightGear Team +UninstallDisplayIcon=X:\flightgear\projects\VC90\flightgear.ico + +[Tasks] +; NOTE: The following entry contains English phrases ("Create a desktop icon" and "Additional icons"). You are free to translate them into another language if required. +Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:" + +[Files] +; NOTE: run subst X: F:\ (or whatever path the expanded tree resides at) +;Source: "X:\*.txt"; DestDir: "{app}"; Flags: ignoreversion +Source: "X:\flightgear\projects\VC90\Win32\Release\*.exe"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion +Source: "X:\flightgear\projects\VC90\x64\Release\*.exe"; DestDir: "{app}\bin\Win64"; Flags: ignoreversion skipifsourcedoesntexist + +Source: "X:\fgrun\msvc\9.0\Win32\Release\fgrun.exe"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion +Source: "X:\fgrun\msvc\9.0\Win32\Release\locale\*"; DestDir: "{app}\bin\Win32\locale"; Flags: ignoreversion recursesubdirs + +Source: "X:\fgrun\msvc\9.0\x64\Release\fgrun.exe"; DestDir: "{app}\bin\Win64"; Flags: ignoreversion +Source: "X:\fgrun\msvc\9.0\Win32\Release\locale\*"; DestDir: "{app}\bin\Win64\locale"; Flags: ignoreversion recursesubdirs + +Source: "X:\3rdParty\bin\*.dll"; DestDir: "{app}\bin\Win32" +Source: "X:\3rdParty.x64\bin\*.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode + +Source: "{#VCInstallDir}\redist\x86\Microsoft.VC90.CRT\*.dll"; DestDir: "{app}\bin\Win32" +Source: "{#VCInstallDir}\redist\x64\Microsoft.VC90.CRT\*.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode + +Source: "X:\data\*.*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist + +Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osg.dll"; DestDir: "{app}\bin\Win32" +Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgDB.dll"; DestDir: "{app}\bin\Win32" +Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgGA.dll"; DestDir: "{app}\bin\Win32" +Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgParticle.dll"; DestDir: "{app}\bin\Win32" +Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgText.dll"; DestDir: "{app}\bin\Win32" +Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgUtil.dll"; DestDir: "{app}\bin\Win32" +Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgViewer.dll"; DestDir: "{app}\bin\Win32" +Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgSim.dll"; DestDir: "{app}\bin\Win32" +Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgFX.dll"; DestDir: "{app}\bin\Win32" + +Source: "{#OSGInstallDir}\bin\ot12-OpenThreads.dll"; DestDir: "{app}\bin\Win32" + +Source: "{#OSGPluginsDir}\osgdb_ac.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}" +Source: "{#OSGPluginsDir}\osgdb_osg.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}" +Source: "{#OSGPluginsDir}\osgdb_3ds.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}" +Source: "{#OSGPluginsDir}\osgdb_mdl.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}" +Source: "{#OSGPluginsDir}\osgdb_jpeg.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}" +Source: "{#OSGPluginsDir}\osgdb_rgb.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}" +Source: "{#OSGPluginsDir}\osgdb_png.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}" +Source: "{#OSGPluginsDir}\osgdb_txf.dll"; DestDir: "{app}\bin\Win32\osgPlugins-{#OSGVersion}" + +Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osg.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist +Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgDB.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist +Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgGA.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist +Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgParticle.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist +Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgText.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist +Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgUtil.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist +Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgViewer.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist +Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgSim.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist +Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgFX.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist + +Source: "{#OSG64InstallDir}\bin\ot12-OpenThreads.dll"; DestDir: "{app}\bin\Win64"; Flags: skipifsourcedoesntexist + +Source: "{#OSG64PluginsDir}\osgdb_ac.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist +Source: "{#OSG64PluginsDir}\osgdb_osg.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist +Source: "{#OSG64PluginsDir}\osgdb_3ds.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist +Source: "{#OSG64PluginsDir}\osgdb_mdl.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist +Source: "{#OSG64PluginsDir}\osgdb_jpeg.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist +Source: "{#OSG64PluginsDir}\osgdb_rgb.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist +Source: "{#OSG64PluginsDir}\osgdb_png.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist +Source: "{#OSG64PluginsDir}\osgdb_txf.dll"; DestDir: "{app}\bin\Win64\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist + +[Dirs] +; Make the user installable scenery directory +Name: "{app}\scenery"; Permissions: everyone-modify +Name: "{code:TerrasyncDir}"; Permissions: everyone-modify + +[Icons] +Name: "{group}\FlightGear Launcher"; Filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}"; +; Name: "{group}\FlightGear"; Filename: "{app}\bin\Win32\fgfs.exe"; Parameters: "--fg-root=."; WorkingDir: "{app}"; +Name: "{group}\FlightGear Manual"; Filename: "{app}\data\Docs\getstart.pdf" +Name: "{group}\FlightGear Documentation"; Filename: "{app}\data\Docs\index.html" +Name: "{group}\Flightgear Wiki"; Filename: "http://wiki.flightgear.org" +Name: "{userdesktop}\FlightGear {#FGVersion}"; Filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}"; Tasks: desktopicon + +Name: "{group}\Tools\Install & Uninstall Scenery"; Filename: "{app}\bin\Win32\fgadmin.exe"; WorkingDir: "{app}"; +Name: "{group}\Tools\TerraSync"; Filename: "{app}\bin\Win32\terrasync.exe"; Parameters: "-S -p 5505 -d ""{app}\terrasync"""; WorkingDir: "{app}"; +Name: "{group}\Tools\Uninstall FlightGear"; Filename: "{uninstallexe}" + +Name: "{group}\Tools\js_demo"; Filename: "{app}\bin\Win32\js_demo.exe" +Name: "{group}\Tools\fgjs"; Filename: "cmd"; Parameters: "/k fgjs.exe ""--fg-root={app}\data"""; WorkingDir: "{app}\bin\Win32"; +Name: "{group}\Tools\GPSsmooth"; Filename: "cmd"; Parameters: "/k ""{app}\bin\Win32\GPSsmooth.exe"" -h"; WorkingDir: "{app}\bin\Win32"; +Name: "{group}\Tools\UGsmooth"; Filename: "cmd"; Parameters: "/k ""{app}\bin\Win32\UGsmooth.exe"" -h"; WorkingDir: "{app}\bin\Win32"; +Name: "{group}\Tools\MIDSsmooth"; Filename: "cmd"; Parameters: "/k ""{app}\bin\Win32\MIDSsmooth.exe"" -h"; WorkingDir: "{app}\bin\Win32"; +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\Explore Documentation Folder"; Filename: "{app}\data\Docs" + +; For running flightgear directly +; Name: "{userdesktop}\FlightGear v2.0.0"; Filename: "{app}\bin\Win32\fgfs.exe"; Parameters: "--fg-root=."; WorkingDir: "{app}"; Tasks: desktopicon + +[Run] + +; Put installation directory into the fgrun.prefs +filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}\bin\Win32"; Parameters: "--silent ""--fg-exe={app}\bin\Win32\fgfs.exe"" ""--ts-exe={app}\bin\Win32\terrasync.exe"" ""--fg-root={app}\data"" ""--fg-scenery={app}\data\Scenery;{app}\scenery;{code:TerrasyncDir}"" --ts-dir=3" + +; Put installation and source directories into the fgadmin.prefs +filename: "{app}\bin\Win32\fgadmin.exe"; WorkingDir: "{app}\bin\Win32"; Parameters: "--silent ""--install-source={src}\..\Scenery"" ""--scenery-dest={app}\scenery""" + +[Registry] +Root: HKLM; Subkey: "Software\flightgear.org"; ValueType: string; ValueName: "TerrasyncDir"; ValueData: "{code:TerrasyncDir}" + +[Code] +var + TerrasyncDirPage: TInputDirWizardPage; + +procedure URLLabelOnClick(Sender: TObject); +var + ErrorCode: Integer; +begin + ShellExec('open', 'http://www.flightgear.org', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode); +end; + +procedure CreateURLLabel(ParentForm: TSetupForm; CancelButton: TNewButton); +var + URLLabel: TNewStaticText; +begin + URLLabel := TNewStaticText.Create(ParentForm); + URLLabel.Caption := 'www.flightgear.org'; + URLLabel.Cursor := crHand; + URLLabel.OnClick := @URLLabelOnClick; + URLLabel.Parent := ParentForm; + { Alter Font *after* setting Parent so the correct defaults are inherited first } + URLLabel.Font.Style := URLLabel.Font.Style + [fsUnderline]; + URLLabel.Font.Color := clBlue; + URLLabel.Top := CancelButton.Top + CancelButton.Height - URLLabel.Height - 2; + URLLabel.Left := ScaleX(20); +end; + +procedure InitializeWizard(); +begin + TerrasyncDirPage := CreateInputDirPage(wpSelectDir, + 'Select Terrasync Directory', 'Where should scenery downloaded by Terrasync be put?', + 'Select the folder in which Terrasync would download additional scenery, then click Next.', + False, 'Terrasync Folder'); + TerrasyncDirPage.Add(''); + + CreateURLLabel(WizardForm, WizardForm.CancelButton); +end; + +function NextButtonClick(CurPageID: Integer): Boolean; +begin + if CurPageID = wpSelectDir then begin + TerrasyncDirPage.Values[0] := GetPreviousData( 'TerrasyncDir', ExpandConstant('{reg:HKLM\Software\flightgear.org,TerrasyncDir|{app}\terrasync}') ); + end; + Result := True; +end; + +function TerrasyncDir(Param: String): String; +begin + Result := TerrasyncDirPage.Values[0]; +end; + +procedure RegisterPreviousData(PreviousDataKey: Integer); +begin + { Store the settings so we can restore them next time } + SetPreviousData(PreviousDataKey, 'TerrasyncDir', TerrasyncDirPage.Values[0]); +end; + +function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; +var + S: String; +begin + S := ''; + S := S + MemoDirInfo + NewLine + NewLine; + S := S + 'Terrasync folder:' + NewLine; + S := S + Space + TerrasyncDirPage.Values[0] + NewLine + NewLine; + S := S + MemoGroupInfo + NewLine + NewLine; + S := S + MemoTasksInfo + NewLine + NewLine; + + Result := S; +end; + diff --git a/Info.plist.in b/Info.plist.in new file mode 100644 index 0000000..5fdd5d4 --- /dev/null +++ b/Info.plist.in @@ -0,0 +1,29 @@ + + + + + CFBundleIconFile + FlightGear.icns + CFBundlePackageType + APPL + CFBundleGetInfoString + FlightGear nightly build + CFBundleSignature + ???? + CFBundleExecutable + FlightGear + CFBundleIdentifier + org.flightgear.FlightGear + CFBundleVersion + <%= fgVersion %> + CFBundleShortVersionString + <%= fgVersion %> + LSMinimumSystemVersion + 10.5.0 + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + + diff --git a/flightgear b/flightgear new file mode 160000 index 0000000..118d8fb --- /dev/null +++ b/flightgear @@ -0,0 +1 @@ +Subproject commit 118d8fbca5d98e994d572e4c922f76ba2cab9e52 diff --git a/hudson_build_release.sh b/hudson_build_release.sh index f50cbf1..a91f480 100755 --- a/hudson_build_release.sh +++ b/hudson_build_release.sh @@ -1,2 +1,30 @@ #!/bin/sh -echo "Write me!" + +cd simgear +./autogen.sh +./configure --prefix=$WORKSPACE/dist --with-osg=$WORKSPACE/dist + +make + +if [ $? -ne '0' ]; then + echo "make simgear failed" + exit 1 +fi + +make install +make dist + +echo "Starting on FlightGear" + +cd ../flightgear +./autogen.sh +./configure --prefix=$WORKSPACE/dist --with-osg=$WORKSPACE/dist +make + +if [ $? -ne '0' ]; then + echo "make flightgear failed" + exit 1 +fi + +make install +make dist diff --git a/hudson_mac_build_launcher.sh b/hudson_mac_build_launcher.sh new file mode 100755 index 0000000..dc3bd24 --- /dev/null +++ b/hudson_mac_build_launcher.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +SDK_PATH="/Developer/SDKs/MacOSX10.6.sdk" +OSX_TARGET="10.6" + +svn co https://macflightgear.svn.sourceforge.net/svnroot/macflightgear/trunk/FlightGearOSX macflightgear + +pushd macflightgear + +# compile the stub executable +gcc -o FlightGear -mmacosx-version-min=$OSX_TARGET -isysroot $SDK_PATH -arch i386 main.m \ + -framework Cocoa -framework RubyCocoa -framework Foundation -framework AppKit + +popd + diff --git a/hudson_mac_package_release.rb b/hudson_mac_package_release.rb new file mode 100755 index 0000000..d1cfb24 --- /dev/null +++ b/hudson_mac_package_release.rb @@ -0,0 +1,119 @@ +#!/usr/bin/ruby + +require 'ERB' + +$osgLibs = ['osgFX', 'osgParticle', 'osg', 'osgGA', 'osgText', 'osgUtil', 'osgSim', 'osgViewer', 'osgDB'] +$osgPlugins = ['ac', 'osg', 'freetype', 'qt', 'imageio', 'rgb', 'txf', 'mdl', '3ds'] + +def runOsgVersion(option) + env = "export DYLD_LIBRARY_PATH=#{Dir.pwd}/dist/lib" + bin = Dir.pwd + "/dist/bin/osgversion" + return `#{env}; #{bin} --#{option}`.chomp +end + +osgVersion = runOsgVersion('version-number') +$osgSoVersion=runOsgVersion('so-number') +$openThreadsSoVersion=runOsgVersion('openthreads-soversion-number') + +puts "osgVersion=#{osgVersion}, so-number=#{$osgSoVersion}" + +$alutSourcePath='/Library/Frameworks/ALUT.framework' + +def fix_install_names(object) + #puts "fixing install names for #{object}" + + $osgLibs.each do |l| + oldName = "lib#{l}.#{$osgSoVersion}.dylib" + newName = "@executable_path/../Frameworks/#{oldName}" + `install_name_tool -change #{oldName} #{newName} #{object}` + end + + 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" +dmgDir=Dir.pwd + "/image" +srcDir=Dir.pwd + "/flightgear" + + +puts "Erasing previous image dir" +`rm -rf #{dmgDir}` + +bundle=dmgDir + "/FlightGear.app" +contents=bundle + "/Contents" +macosDir=contents + "/MacOS" +frameworksDir=contents +"/Frameworks" +resourcesDir=contents+"/Resources" +osgPluginsDir=contents+"/PlugIns/osgPlugins-#{osgVersion}" + + +fgVersion = File.read("#{srcDir}/version").strip +volName="\"FlightGear #{fgVersion}\"" + +dmgPath = Dir.pwd + "/fg_mac_#{fgVersion}.dmg" + +puts "Creating directory structure" +`mkdir -p #{macosDir}` +`mkdir -p #{frameworksDir}` +`mkdir -p #{resourcesDir}` +`mkdir -p #{osgPluginsDir}` + +puts "Copying binaries" +bins = ['fgfs', 'terrasync'] +bins.each do |b| + `cp #{prefixDir}/bin/#{b} #{resourcesDir}/#{b}` + fix_install_names("#{resourcesDir}/#{b}") +end + +puts "copying libraries" +$osgLibs.each do |l| + libFile = "lib#{l}.#{$osgSoVersion}.dylib" + `cp #{prefixDir}/lib/#{libFile} #{frameworksDir}` + fix_install_names("#{frameworksDir}/#{libFile}") +end + +# and not forgetting OpenThreads +libFile = "libOpenThreads.#{$openThreadsSoVersion}.dylib" +`cp #{prefixDir}/lib/#{libFile} #{frameworksDir}` + +$osgPlugins.each do |p| + pluginFile = "osgdb_#{p}.so" + `cp #{prefixDir}/lib/osgPlugins-#{osgVersion}/#{pluginFile} #{osgPluginsDir}` + fix_install_names("#{osgPluginsDir}/#{pluginFile}") +end + +# custom ALUT +# must copy frameworks using ditto +`ditto #{$alutSourcePath} #{frameworksDir}/ALUT.framework` + +# Macflightgear launcher +puts "Copying Macflightgear launcher files" + +Dir.chdir "macflightgear" do + `cp FlightGear #{macosDir}` + `rsync -a --exclude=\".svn\" *.rb *.lproj *.sh *.tiff #{resourcesDir}` +end + +# Info.plist +template = File.read("Info.plist.in") +output = ERB.new(template).result(binding) + +File.open("#{contents}/Info.plist", 'w') { |f| + f.write(output) +} + +`cp #{srcDir}/package/mac/FlightGear.icns #{resourcesDir}/FlightGear.icns` +`cp #{srcDir}/COPYING #{dmgDir}` + +puts "Creating DMG" + +createArgs = "-format UDBZ -imagekey bzip2-level=9 -quiet -volname #{volName}" + +`rm #{dmgPath}` +`hdiutil create -srcfolder #{dmgDir} #{createArgs} #{dmgPath}` diff --git a/hudson_win_build32.bat b/hudson_win_build32.bat new file mode 100644 index 0000000..77669d5 --- /dev/null +++ b/hudson_win_build32.bat @@ -0,0 +1,12 @@ + +IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0 + +ECHO #define SIMGEAR_VERSION "2.2.0" > %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 +cd %WORKSPACE%\flightgear\projects\VC90 +msbuild FlightGear.sln /p:Configuration=Release /m diff --git a/hudson_win_build64.bat b/hudson_win_build64.bat new file mode 100644 index 0000000..4d235de --- /dev/null +++ b/hudson_win_build64.bat @@ -0,0 +1,13 @@ + +IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0 + +ECHO #define SIMGEAR_VERSION "2.2.0" > %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 +cd %WORKSPACE%\flightgear\projects\VC90 +msbuild FlightGear.sln /p:Configuration=Release /p:Platform=x64 + diff --git a/hudson_win_package_release.bat b/hudson_win_package_release.bat new file mode 100644 index 0000000..d058849 --- /dev/null +++ b/hudson_win_package_release.bat @@ -0,0 +1,30 @@ +ECHO OFF + +IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0 +ECHO Packaging root is %WORKSPACE% + +subst X: /D +subst X: %WORKSPACE% + +REM construct information file to be read by Inno-setup + + +set PATH=%WORKSPACE%\install\msvc90\OpenSceneGraph\bin;%PATH% +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 + +SET /P FLIGHTGEAR_VERSION= InstallConfig.iss +ECHO #define OSGVersion "%OSG_VERSION%" >> InstallConfig.iss +ECHO #define OSGSoNumber "%OSG_SO_NUMBER%" >> InstallConfig.iss + +REM run Inno-setup! + +Compil32 /cc FlightGear.iss + + + diff --git a/simgear b/simgear new file mode 160000 index 0000000..e55017b --- /dev/null +++ b/simgear @@ -0,0 +1 @@ +Subproject commit e55017bbfce20a999bc9173260f402b2ec3819d0