Compare commits
2 Commits
release/3.
...
release/pr
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb80ee392e | ||
|
|
658afaab27 |
8
.gitignore
vendored
8
.gitignore
vendored
@@ -9,13 +9,5 @@ output
|
||||
fgBuild
|
||||
sgBuild
|
||||
image
|
||||
build
|
||||
macflightgear
|
||||
fgdata
|
||||
src
|
||||
tmp
|
||||
Makefile
|
||||
CMakeFiles
|
||||
archivebuild
|
||||
osgbuild
|
||||
CMakeCache.txt
|
||||
|
||||
4
.gitmodules
vendored
4
.gitmodules
vendored
@@ -1,16 +1,12 @@
|
||||
[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
|
||||
|
||||
233
CMakeLists.txt
233
CMakeLists.txt
@@ -1,233 +0,0 @@
|
||||
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
|
||||
)
|
||||
@@ -48,7 +48,6 @@ LicenseFile=X:\flightgear\COPYING
|
||||
Uninstallable=yes
|
||||
SetupIconFile=X:\flightgear\package\flightgear.ico
|
||||
VersionInfoVersion={#FGVersion}.0
|
||||
InfoBeforeFile=X:\flightgear\package\Win32-Inno\infobefore.txt
|
||||
WizardImageFile=X:\flightgear\package\Win32-Inno\setupimg.bmp
|
||||
WizardImageStretch=No
|
||||
WizardSmallImageFile=X:\flightgear\package\Win32-Inno\setupsmall.bmp
|
||||
@@ -61,7 +60,7 @@ ArchitecturesAllowed=x86 x64
|
||||
; 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:"
|
||||
Name: "insoal"; Description: "Install OpenAL (the sound engine)"
|
||||
Name: "force32"; Description: "Force 32bit install on 64bit system (Not recommended)"; Check: Is64BitInstallMode; Flags: unchecked
|
||||
Name: "force32"; Description: "Force 32bit install on 64bit system"; Check: Is64BitInstallMode
|
||||
|
||||
[Files]
|
||||
; NOTE: run subst X: F:\ (or whatever path the expanded tree resides at)
|
||||
@@ -82,10 +81,6 @@ 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')
|
||||
|
||||
@@ -101,18 +96,7 @@ 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
|
||||
|
||||
; CrashRpt DLLs are copied by the wildcard rule on *.dll above
|
||||
Source: "X:\3rdParty\bin\CrashSender1402.exe"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion skipifsourcedoesntexist
|
||||
Source: "X:\3rdParty\bin\crashrpt_lang.ini"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion skipifsourcedoesntexist
|
||||
|
||||
Source: "X:\3rdParty.x64\bin\CrashSender1402.exe"; DestDir: "{app}\bin\Win64"; Flags: ignoreversion skipifsourcedoesntexist; Check: Is64BitInstallMode and not IsTaskSelected('force32')
|
||||
Source: "X:\3rdParty\bin\crashrpt_lang.ini"; DestDir: "{app}\bin\Win64"; Flags: ignoreversion skipifsourcedoesntexist; Check: Is64BitInstallMode and not IsTaskSelected('force32')
|
||||
|
||||
|
||||
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')
|
||||
@@ -124,7 +108,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\ot{#OTSoNumber}-OpenThreads.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: "{#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')
|
||||
@@ -160,7 +144,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\ot{#OTSoNumber}-OpenThreads.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: "{#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')
|
||||
@@ -213,8 +197,6 @@ 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"
|
||||
|
||||
|
||||
@@ -1,171 +0,0 @@
|
||||
#!/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')
|
||||
|
||||
1018
download_and_compile.sh
Executable file → Normal file
1018
download_and_compile.sh
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
2
fgrun
2
fgrun
Submodule fgrun updated: e030882cdb...ae0b0fef36
Submodule flightgear updated: d2addc67f7...4873a28e97
@@ -5,8 +5,6 @@ if [ "$WORKSPACE" == "" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION=`cat flightgear/version`
|
||||
|
||||
#####################################################################################
|
||||
# remove old and create fresh build directories
|
||||
rm -rf sgBuild
|
||||
@@ -55,14 +53,3 @@ 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/
|
||||
|
||||
|
||||
@@ -22,6 +22,10 @@ puts "Code signing identity is #{$codeSignIdentity}"
|
||||
|
||||
puts "osgVersion=#{osgVersion}, so-number=#{$osgSoVersion}"
|
||||
|
||||
$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']
|
||||
|
||||
def fix_install_names(object)
|
||||
#puts "fixing install names for #{object}"
|
||||
|
||||
@@ -40,11 +44,31 @@ $prefixDir=Dir.pwd + "/dist"
|
||||
dmgDir=Dir.pwd + "/image"
|
||||
srcDir=Dir.pwd + "/flightgear"
|
||||
|
||||
def fix_svn_install_names(object)
|
||||
$svnLibs.each do |l|
|
||||
fileName = "lib#{l}-1.0.dylib"
|
||||
newName = "@executable_path/../Frameworks/#{fileName}"
|
||||
`install_name_tool -change #{fileName} #{newName} #{object}`
|
||||
end
|
||||
end
|
||||
|
||||
def copy_svn_libs()
|
||||
puts "Copying Subversion client libraries"
|
||||
$svnLibs.each do |l|
|
||||
libFile = "lib#{l}-1.0.dylib"
|
||||
path = "#{$frameworksDir}/#{libFile}"
|
||||
`cp #{$prefixDir}/lib/#{libFile} #{$frameworksDir}`
|
||||
fix_svn_install_names(path)
|
||||
# `install_name_tool -id #{libFile} #{path}`
|
||||
end
|
||||
end
|
||||
|
||||
def code_sign(path)
|
||||
puts "Signing #{path}"
|
||||
`codesign -s "#{$codeSignIdentity}" #{path}`
|
||||
end
|
||||
|
||||
|
||||
puts "Erasing previous image dir"
|
||||
`rm -rf #{dmgDir}`
|
||||
|
||||
@@ -62,7 +86,7 @@ fgCurrentYear = t.year
|
||||
fgVersion = File.read("#{srcDir}/version").strip
|
||||
volName="\"FlightGear #{fgVersion}\""
|
||||
|
||||
dmgPath = Dir.pwd + "/output/FlightGear-#{fgVersion}.dmg"
|
||||
dmgPath = Dir.pwd + "/output/fg_mac_#{fgVersion}.dmg"
|
||||
|
||||
puts "Creating directory structure"
|
||||
`mkdir -p #{macosDir}`
|
||||
@@ -80,6 +104,7 @@ bins.each do |b|
|
||||
outPath = "#{macosDir}/#{b}"
|
||||
`cp #{$prefixDir}/bin/#{b} #{outPath}`
|
||||
fix_install_names(outPath)
|
||||
fix_svn_install_names(outPath)
|
||||
end
|
||||
|
||||
puts "copying libraries"
|
||||
@@ -99,12 +124,14 @@ $osgPlugins.each do |p|
|
||||
fix_install_names("#{osgPluginsDir}/#{pluginFile}")
|
||||
end
|
||||
|
||||
copy_svn_libs()
|
||||
|
||||
# Macflightgear launcher
|
||||
puts "Copying Macflightgear launcher files"
|
||||
|
||||
Dir.chdir "maclauncher/FlightGearOSX" do
|
||||
`cp FlightGear #{macosDir}`
|
||||
`rsync -a *.rb *.lproj *.sh *.tiff *.html #{resourcesDir}`
|
||||
`rsync -a *.rb *.lproj *.sh *.tiff #{resourcesDir}`
|
||||
end
|
||||
|
||||
if File.exist?("#{$prefixDir}/bin/fgcom-data")
|
||||
@@ -123,10 +150,6 @@ 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`
|
||||
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
|
||||
IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0
|
||||
|
||||
SET /P SIMGEAR_VERSION=<%WORKSPACE%\simgear\version
|
||||
ECHO #define SIMGEAR_VERSION "%SIMGEAR_VERSION%" > %WORKSPACE%\simgear\simgear\version.h
|
||||
|
||||
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\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 -DBOOST_ROOT=%WORKSPACE%/Boost
|
||||
cmake --build . --config RelWithDebInfo --target INSTALL
|
||||
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 -DBOOST_ROOT=%WORKSPACE%/Boost
|
||||
cmake --build . --config RelWithDebInfo --target INSTALL
|
||||
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
|
||||
|
||||
@@ -1,23 +1,19 @@
|
||||
|
||||
IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0
|
||||
|
||||
|
||||
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
|
||||
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 -DBOOST_ROOT=%WORKSPACE%/Boost
|
||||
cmake --build . --config RelWithDebInfo --target INSTALL
|
||||
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 -DBOOST_ROOT=%WORKSPACE%/Boost -DWITH_FGPANEL=OFF -DENABLE_PROFILE=OFF
|
||||
cmake --build . --config RelWithDebInfo --target INSTALL
|
||||
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
|
||||
|
||||
@@ -10,31 +10,21 @@ 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
|
||||
|
||||
iscc FlightGear.iss
|
||||
Compil32 /cc FlightGear.iss
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
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 maclauncher updated: 45a598c7cc...7ffef2cb26
2
simgear
2
simgear
Submodule simgear updated: e218c099a2...724fba4af9
Reference in New Issue
Block a user