Merge branch 'refs/heads/next'
This commit is contained in:
@@ -9,6 +9,7 @@ output
|
|||||||
fgBuild
|
fgBuild
|
||||||
sgBuild
|
sgBuild
|
||||||
image
|
image
|
||||||
|
build
|
||||||
macflightgear
|
macflightgear
|
||||||
fgdata
|
fgdata
|
||||||
src
|
src
|
||||||
|
|||||||
+141
-81
@@ -4,6 +4,11 @@ include (ExternalProject)
|
|||||||
|
|
||||||
project(FlightGear-Meta)
|
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)
|
if (UNIX)
|
||||||
set(BOOST_BOOTSTRAP "./bootstrap.sh" --prefix=${CMAKE_INSTALL_PREFIX})
|
set(BOOST_BOOTSTRAP "./bootstrap.sh" --prefix=${CMAKE_INSTALL_PREFIX})
|
||||||
else()
|
else()
|
||||||
@@ -12,39 +17,39 @@ endif()
|
|||||||
|
|
||||||
set(SG_DEPS OSG)
|
set(SG_DEPS OSG)
|
||||||
set(FG_DEPS SimGear)
|
set(FG_DEPS SimGear)
|
||||||
|
set(SG_CMAKE_ARGS "")
|
||||||
|
set(FG_CMAKE_ARGS "")
|
||||||
|
set(FGRUN_CMAKE_ARGS "")
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
|
|
||||||
set(BOOST_ARGS link=static stage --with-system)
|
set(BOOST_ARGS link=static stage --with-system)
|
||||||
ExternalProject_Add(Boost
|
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})
|
|
||||||
|
|
||||||
|
|
||||||
ExternalProject_Add(libSvn
|
|
||||||
DOWNLOAD_COMMAND URL http://flightgear.simpits.org:8080/job/Mac-Subversion-libs/lastSuccessfulBuild/artifact/dist/*zip*/dist.zip
|
|
||||||
PREFIX ${CMAKE_BINARY_DIR}
|
PREFIX ${CMAKE_BINARY_DIR}
|
||||||
|
SVN_REPOSITORY http://svn.boost.org/svn/boost/tags/release/Boost_1_52_0
|
||||||
|
UPDATE_COMMAND ${BOOST_BOOTSTRAP}
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ./bjam ${BOOST_ARGS}
|
||||||
INSTALL_COMMAND cp -r ${CMAKE_BINARY_DIR}/src/libSvn/include ${CMAKE_INSTALL_PREFIX} && cp -r ${CMAKE_BINARY_DIR}/src/libSvn/lib ${CMAKE_INSTALL_PREFIX}
|
BUILD_IN_SOURCE 1
|
||||||
)
|
INSTALL_COMMAND ./b2 install ${BOOST_ARGS})
|
||||||
|
|
||||||
list(APPEND SG_DEPS Boost libSvn)
|
list(APPEND SG_DEPS Boost)
|
||||||
endif() # of Apple
|
endif() # of Apple
|
||||||
|
|
||||||
set (OSG_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
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
|
# OpenSceneGraph configuration
|
||||||
|
set(OSG_SOURCE http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip)
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
SET(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk)
|
set(SDKROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk)
|
||||||
# force disable Qt and Jasper, and ensure an SDKROOT is set, or
|
# force disable Qt and Jasper, and ensure an SDKROOT is set, or
|
||||||
# osgViewer system detection goes wrongh
|
# osgViewer system detection goes wrongh
|
||||||
SET(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT}
|
set(OSG_CMAKE_ARGS -DCMAKE_OSX_SYSROOT=${SDKROOT}
|
||||||
-DOSG_USE_QT=0
|
-DOSG_USE_QT=0
|
||||||
-DJASPER_LIBRARY=
|
-DJASPER_LIBRARY=
|
||||||
-DSDL_LIBRARY:FILEPATH=
|
-DSDL_LIBRARY:FILEPATH=
|
||||||
@@ -52,77 +57,95 @@ if (APPLE)
|
|||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.7
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.7
|
||||||
)
|
)
|
||||||
# OSG with some patches applied for Mac
|
# OSG with some patches applied for Mac
|
||||||
# SET(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git)
|
# set(OSG_SOURCE GIT_REPOSITORY git://gitorious.org/+flightgear-developers/openscenegraph/mac-release-osg.git)
|
||||||
SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip)
|
# set(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.0.zip)
|
||||||
|
|
||||||
elseif(MSVC)
|
elseif(MSVC)
|
||||||
set( OSG_MSVC "msvc" )
|
set(OSG_MSVC "msvc")
|
||||||
if (${MSVC_VERSION} EQUAL 1700)
|
if (${MSVC_VERSION} EQUAL 1700)
|
||||||
set( OSG_MSVC ${OSG_MSVC}110 )
|
set(OSG_MSVC ${OSG_MSVC}110)
|
||||||
elseif (${MSVC_VERSION} EQUAL 1600)
|
elseif (${MSVC_VERSION} EQUAL 1600)
|
||||||
set( OSG_MSVC ${OSG_MSVC}100 )
|
set(OSG_MSVC ${OSG_MSVC}100)
|
||||||
else (${MSVC_VERSION} EQUAL 1700)
|
else (${MSVC_VERSION} EQUAL 1700)
|
||||||
set( OSG_MSVC ${OSG_MSVC}90 )
|
set(OSG_MSVC ${OSG_MSVC}90)
|
||||||
endif (${MSVC_VERSION} EQUAL 1700)
|
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
|
SET(OSG_CMAKE_ARGS
|
||||||
-DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/3rdParty
|
-DACTUAL_3RDPARTY_DIR:PATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}
|
||||||
-DBUILD_OSG_APPLICATIONS:BOOL=ON
|
-DBUILD_OSG_APPLICATIONS:BOOL=ON
|
||||||
-DCMAKE_INSTALL_PREFIX:PATH=
|
-DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF
|
||||||
-DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF
|
-DFREETYPE_LIBRARY:FILEPATH=${CMAKE_BINARY_DIR}/${RDPARTY_DIR}/lib/freetype243.lib
|
||||||
-DFREETYPE_LIBRARY:FILEPATH=${CMAKE_BINARY_DIR}/3rdParty/lib/freetype243.lib
|
-DGDAL_INCLUDE_DIR:PATH=
|
||||||
-DGDAL_INCLUDE_DIR:PATH=
|
-DGDAL_LIBRARY:FILEPATH=
|
||||||
-DGDAL_LIBRARY:FILEPATH=
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# for compatability with MSVC directory layout
|
# for compatability with MSVC directory layout
|
||||||
set(OSG_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install/${OSG_MSVC}/OpenSceneGraph)
|
set(OSG_INSTALL_PREFIX ${OSG_INSTALL_PREFIX}/${OSG_MSVC}/OpenSceneGraph)
|
||||||
SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip)
|
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)
|
list(APPEND OSG_DEPS WinDeps)
|
||||||
else()
|
else()
|
||||||
# normal OSG
|
# normal OSG
|
||||||
SET(OSG_SOURCE URL http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.4.zip)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
# download 3rdparty dependeancies zip, including boost
|
# download 3rdparty dependencies zip, including boost
|
||||||
ExternalProject_Add(WinDeps
|
ExternalProject_Add(WinDeps
|
||||||
DOWNLOAD_COMMAND URL http://files.goneabitbursar.com/fg/fgfs-win32-VS100-3rdParty+OSG-20120411.zip
|
SVN_REPOSITORY http://fgfs.goneabitbursar.com/fgwin3rdparty/trunk/msvc100/${RDPARTY_DIR}
|
||||||
# extract to current root
|
# extract to current root
|
||||||
SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps
|
SOURCE_DIR ${CMAKE_BINARY_DIR}/winDeps/${RDPARTY_DIR}
|
||||||
BINARY_DIR ${CMAKE_BINARY_DIR}
|
BINARY_DIR ${CMAKE_BINARY_DIR}
|
||||||
CONFIGURE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
BUILD_COMMAND ${CMAKE_SOURCE_DIR}/installWinDeps.bat
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(Boost
|
|
||||||
DOWNLOAD_COMMAND URL http://flightgear.simpits.org:8080/job/Boost-Win/lastSuccessfulBuild/artifact/Boost/boost/*zip*/boost.zip
|
|
||||||
SOURCE_DIR ${CMAKE_BINARY_DIR}/Boost/boost
|
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ${CMAKE_SOURCE_DIR}/installWinDeps.bat
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND SG_DEPS Boost)
|
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_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR})
|
list(APPEND SG_DEPS Boost)
|
||||||
list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR})
|
list(APPEND SG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost)
|
||||||
|
list(APPEND FG_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost)
|
||||||
|
list(APPEND FGRUN_CMAKE_ARGS -DBOOST_ROOT=${CMAKE_BINARY_DIR}/src/Boost)
|
||||||
endif(MSVC) # of Windows
|
endif(MSVC) # of Windows
|
||||||
|
|
||||||
ExternalProject_Add(OSG
|
ExternalProject_Add(OSG
|
||||||
DEPENDS ${OSG_DEPS}
|
DEPENDS ${OSG_DEPS}
|
||||||
PREFIX ${CMAKE_BINARY_DIR}
|
PREFIX ${CMAKE_BINARY_DIR}
|
||||||
${OSG_SOURCE}
|
URL ${OSG_SOURCE}
|
||||||
|
URL_HASH MD5=4980f8692712a24d4c99f363f80c6814
|
||||||
BINARY_DIR osgbuild
|
BINARY_DIR osgbuild
|
||||||
CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${OSG_INSTALL_PREFIX}
|
CMAKE_ARGS ${OSG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${OSG_INSTALL_PREFIX}
|
||||||
# force Release build of OpenSceneGraph
|
|
||||||
# BUILD_COMMAND "cmake --build . --config Release"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set(SG_CMAKE_ARGS -DENABLE_PACKAGE=1)
|
# Because OSG install the libraries in lib64/ instead of lib/
|
||||||
set(FG_CMAKE_ARGS "")
|
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
|
# FIXME install of OpenRTI is failing on Windows, files in PREFIX/share which
|
||||||
# are ending up in C:/Program Files/OpenRTI
|
# are ending up in C:/Program Files/OpenRTI
|
||||||
@@ -131,43 +154,80 @@ if (NOT MSVC)
|
|||||||
PREFIX ${CMAKE_BINARY_DIR}
|
PREFIX ${CMAKE_BINARY_DIR}
|
||||||
DOWNLOAD_COMMAND GIT_REPOSITORY git://gitorious.org/openrti/openrti.git
|
DOWNLOAD_COMMAND GIT_REPOSITORY git://gitorious.org/openrti/openrti.git
|
||||||
BINARY_DIR rtibuild
|
BINARY_DIR rtibuild
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${RTI_INSTALL_PREFIX}
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND SG_DEPS OpenRTI)
|
list(APPEND SG_DEPS OpenRTI)
|
||||||
list(APPEND SG_CMAKE_ARGS -DENABLE_RTI=1)
|
list(APPEND SG_CMAKE_ARGS -DENABLE_RTI=1)
|
||||||
list(APPEND FG_CMAKE_ARGS -DENABLE_RTI=1)
|
list(APPEND FG_CMAKE_ARGS -DENABLE_RTI=1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(SimGear
|
ExternalProject_Add(SimGear
|
||||||
PREFIX ${CMAKE_BINARY_DIR}
|
PREFIX ${CMAKE_BINARY_DIR}
|
||||||
DEPENDS ${SG_DEPS}
|
DEPENDS ${SG_DEPS}
|
||||||
DOWNLOAD_COMMAND "" # no need to download
|
DOWNLOAD_COMMAND "" # no need to download
|
||||||
UPDATE_COMMAND "" # or update.
|
UPDATE_COMMAND "" # or update.
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear
|
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/simgear
|
||||||
BINARY_DIR sgbuild
|
BINARY_DIR sgbuild
|
||||||
CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX})
|
CMAKE_ARGS ${SG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${SG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX}
|
||||||
|
)
|
||||||
|
|
||||||
# on Windows, PLIB is in the 3rd-party dependancies zip
|
# 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)
|
if (NOT WIN32)
|
||||||
SET(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux)
|
set(PLIB_ARGS --disable-pw --disable-sl --disable-psl --disable-ssg --disable-ssgaux)
|
||||||
|
|
||||||
ExternalProject_Add(PLIB
|
ExternalProject_Add(PLIB
|
||||||
PREFIX ${CMAKE_BINARY_DIR}
|
PREFIX ${CMAKE_BINARY_DIR}
|
||||||
URL http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz
|
URL http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz
|
||||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${CMAKE_INSTALL_PREFIX} ${PLIB_ARGS}
|
URL_HASH MD5=47a6fbf63668c1eed631024038b2ea90
|
||||||
BUILD_IN_SOURCE 1
|
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PLIB_INSTALL_PREFIX} ${PLIB_ARGS}
|
||||||
)
|
BUILD_IN_SOURCE 1
|
||||||
|
)
|
||||||
|
|
||||||
list(APPEND FG_DEPS PLIB)
|
list(APPEND FG_DEPS PLIB)
|
||||||
endif()
|
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
|
ExternalProject_Add(FlightGear
|
||||||
PREFIX ${CMAKE_BINARY_DIR}
|
PREFIX ${CMAKE_BINARY_DIR}
|
||||||
DEPENDS ${FG_DEPS}
|
DEPENDS ${FG_DEPS}
|
||||||
DOWNLOAD_COMMAND "" # no need to download
|
DOWNLOAD_COMMAND "" # no need to download
|
||||||
UPDATE_COMMAND "" # or update.
|
UPDATE_COMMAND "" # or update.
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear
|
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/flightgear
|
||||||
BINARY_DIR fgbuild
|
BINARY_DIR fgbuild
|
||||||
CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
|
CMAKE_ARGS ${FG_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FG_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${OSG_INSTALL_PREFIX} -DADDITIONAL_LIBRARY_PATHS=${SG_INSTALL_PREFIX}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# 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
|
||||||
|
)
|
||||||
|
|||||||
+68
-19
@@ -17,7 +17,12 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
VERSION="1.9-12"
|
VERSION="1.9-13"
|
||||||
|
#compatibility with UBUNTU 13.10 - libhal no longer in ubuntu 13.10
|
||||||
|
#symbolic link error when using data directories in higher directories
|
||||||
|
#fixed array index on FGDATA version picker
|
||||||
|
#fixed fgdata directory reference when using parent or grandparent directories to store master copies.
|
||||||
|
#fixed rebuild command
|
||||||
|
|
||||||
#COMPILE GIT FGFS
|
#COMPILE GIT FGFS
|
||||||
|
|
||||||
@@ -49,6 +54,23 @@ function write_log_and_exec(){
|
|||||||
write_log "$1 $2"
|
write_log "$1 $2"
|
||||||
$1
|
$1
|
||||||
}
|
}
|
||||||
|
function write_log_and_exec_subprocess(){
|
||||||
|
write_log "$1 $2"
|
||||||
|
if [[ "$3" = "noerror" ]]
|
||||||
|
then
|
||||||
|
$1 2>/dev/null || true
|
||||||
|
else
|
||||||
|
$1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function git_check_branch_or_tag(){
|
||||||
|
if [[ "$1" != "" ]]
|
||||||
|
then
|
||||||
|
branch="$(git branch |sed "s/* //" |grep $1)"
|
||||||
|
tag="$(git tag |sed "s/* //" |grep $1)"
|
||||||
|
echo $branch$tag
|
||||||
|
fi
|
||||||
|
}
|
||||||
function SET_WINDOW_TITLE(){
|
function SET_WINDOW_TITLE(){
|
||||||
echo -ne "\033]0;Build Flightgear: - ${CBD} - $1\007"
|
echo -ne "\033]0;Build Flightgear: - ${CBD} - $1\007"
|
||||||
}
|
}
|
||||||
@@ -333,9 +355,9 @@ FGSG_MAP=( [next]="next HEAD" \
|
|||||||
[2.12.0]="release/2.12.0 HEAD" \
|
[2.12.0]="release/2.12.0 HEAD" \
|
||||||
[2.10.0]="release/2.10.0 HEAD " \
|
[2.10.0]="release/2.10.0 HEAD " \
|
||||||
[2.8.0]="release/2.8.0 version/2.8.0-final" )
|
[2.8.0]="release/2.8.0 version/2.8.0-final" )
|
||||||
FGDATA_MAP=([next]="next HEAD 2.99.9" \
|
FGDATA_MAP=([next]="master HEAD 2.99.9" \
|
||||||
[master]="master HEAD 2.12.1" \
|
[master]="master HEAD 2.99.9" \
|
||||||
[master]="master HEAD 2.12.0" \
|
[2.12.1]="release/2.12.0 HEAD 2.12.0" \
|
||||||
[2.12.0]="release/2.12.0 HEAD 2.12.0" \
|
[2.12.0]="release/2.12.0 HEAD 2.12.0" \
|
||||||
[2.10.0]="release/2.10.0 HEAD 2.10.0" \
|
[2.10.0]="release/2.10.0 HEAD 2.10.0" \
|
||||||
[2.8.0]="release/2.8.0 HEAD 2.8.0" )
|
[2.8.0]="release/2.8.0 HEAD 2.8.0" )
|
||||||
@@ -354,9 +376,9 @@ FGSG_BRANCH=${MAP_ITEM[0]}
|
|||||||
FGSG_REVISION=${MAP_ITEM[1]}
|
FGSG_REVISION=${MAP_ITEM[1]}
|
||||||
|
|
||||||
MAP_ITEM=( ${FGDATA_MAP[${FG_SG_VERSION}]} )
|
MAP_ITEM=( ${FGDATA_MAP[${FG_SG_VERSION}]} )
|
||||||
FGDATA_BRANCH=${MAP_ITEM[1]}
|
FGDATA_BRANCH=${MAP_ITEM[0]}
|
||||||
FGDATA_REVISION=${MAP_ITEM[2]}
|
FGDATA_REVISION=${MAP_ITEM[1]}
|
||||||
FGDATA_VERSION=${MAP_ITEM[3]}
|
FGDATA_VERSION=${MAP_ITEM[2]}
|
||||||
|
|
||||||
MAP_ITEM=( ${OPENRTI_MAP[${FG_SG_VERSION}]} )
|
MAP_ITEM=( ${OPENRTI_MAP[${FG_SG_VERSION}]} )
|
||||||
OPENRTI_BRANCH=${MAP_ITEM[0]}
|
OPENRTI_BRANCH=${MAP_ITEM[0]}
|
||||||
@@ -499,10 +521,14 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# default is hardy
|
# default is hardy
|
||||||
DISTRO_PACKAGES="libopenal-dev libalut-dev libalut0 cvs subversion cmake make build-essential automake zlib1g-dev zlib1g libwxgtk2.8-0 libwxgtk2.8-dev fluid gawk gettext libxi-dev libxi6 libxmu-dev libxmu6 libboost-dev libasound2-dev libasound2 libpng12-dev libpng12-0 libjasper1 libjasper-dev libopenexr-dev libboost-serialization-dev git-core libhal-dev libqt4-dev scons python-tk python-imaging-tk libsvn-dev libglew1.5-dev libxft2 libxft-dev libxinerama1 libxinerama-dev"
|
DISTRO_PACKAGES="libopenal-dev libalut-dev libalut0 cvs subversion cmake make build-essential automake zlib1g-dev zlib1g libwxgtk2.8-0 libwxgtk2.8-dev fluid gawk gettext libxi-dev libxi6 libxmu-dev libxmu6 libboost-dev libasound2-dev libasound2 libpng12-dev libpng12-0 libjasper1 libjasper-dev libopenexr-dev libboost-serialization-dev git-core libqt4-dev scons python-tk python-imaging-tk libsvn-dev libglew1.5-dev libxft2 libxft-dev libxinerama1 libxinerama-dev"
|
||||||
|
|
||||||
UBUNTU_PACKAGES="freeglut3-dev libjpeg62-dev libjpeg62 libapr1-dev libfltk1.3-dev libfltk1.3"
|
UBUNTU_PACKAGES="freeglut3-dev libjpeg62-dev libjpeg62 libapr1-dev libfltk1.3-dev libfltk1.3"
|
||||||
|
|
||||||
|
if [[ ( "$DISTRIB_ID" = "Ubuntu" || "$DISTRIB_ID" = "LinuxMint" ) && "$DISTRIB_RELEASE" < "13.10" ]]
|
||||||
|
then
|
||||||
|
UBUNTU_PACKAGES="$UBUNTU_PACKAGES libhal-dev"
|
||||||
|
fi
|
||||||
DEBIAN_PACKAGES_STABLE="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.1-dev libfltk1.1"
|
DEBIAN_PACKAGES_STABLE="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.1-dev libfltk1.1"
|
||||||
DEBIAN_PACKAGES_TESTING="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.3-dev libfltk1.3"
|
DEBIAN_PACKAGES_TESTING="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.3-dev libfltk1.3"
|
||||||
DEBIAN_PACKAGES_UNSTABLE="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.3-dev libfltk1.3"
|
DEBIAN_PACKAGES_UNSTABLE="freeglut3-dev libjpeg8-dev libjpeg8 libfltk1.3-dev libfltk1.3"
|
||||||
@@ -709,8 +735,19 @@ then
|
|||||||
if [ "$DOWNLOAD" = "y" ]
|
if [ "$DOWNLOAD" = "y" ]
|
||||||
then
|
then
|
||||||
echo -n "SVN FROM $OSG_SVN ... " >> $LOGFILE
|
echo -n "SVN FROM $OSG_SVN ... " >> $LOGFILE
|
||||||
svn co "$OSG_SVN" OpenSceneGraph
|
if [ -d "OpenSceneGraph/.svn" ]
|
||||||
|
then
|
||||||
|
echo -n "updating OpenSceneGraph svn"
|
||||||
|
cd OpenSceneGraph
|
||||||
|
svn update
|
||||||
|
cd -
|
||||||
|
else
|
||||||
|
echo -n "downloadING FROM $OSG_SVN ..."
|
||||||
|
svn co "$OSG_SVN" OpenSceneGraph
|
||||||
|
echo " OK"
|
||||||
|
fi
|
||||||
echo " OK" >> $LOGFILE
|
echo " OK" >> $LOGFILE
|
||||||
|
|
||||||
fi
|
fi
|
||||||
cd OpenSceneGraph
|
cd OpenSceneGraph
|
||||||
|
|
||||||
@@ -1114,12 +1151,13 @@ fi
|
|||||||
SET_WINDOW_TITLE " FGDATA"
|
SET_WINDOW_TITLE " FGDATA"
|
||||||
if [[ -e ../fgdata_${FGDATA_VERSION} ]]
|
if [[ -e ../fgdata_${FGDATA_VERSION} ]]
|
||||||
then
|
then
|
||||||
FGDATA_DIR=../fgdata_${FGDATA_VERSION}
|
FGDATA_DIR=$(cd $(dirname ../fgdata_${FGDATA_VERSION}/fgdata); pwd)/$(basename ../fgdata_${FGDATA_VERSION}/fgdata)
|
||||||
fi
|
fi
|
||||||
if [[ -e ../../fgdata_${FGDATA_VERSION} ]]
|
if [[ -e ../../fgdata_${FGDATA_VERSION} ]]
|
||||||
then
|
then
|
||||||
FGDATA_DIR=../../fgdata_${FGDATA_VERSION}
|
FGDATA_DIR=$(cd $(dirname ../../fgdata_${FGDATA_VERSION}/fgdata); pwd)/$(basename ../../fgdata_${FGDATA_VERSION}/fgdata)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -e $INSTALL_DIR_FGFS/fgdata && -e ${FGDATA_DIR} ]]
|
if [[ ! -e $INSTALL_DIR_FGFS/fgdata && -e ${FGDATA_DIR} ]]
|
||||||
then
|
then
|
||||||
ln -s ${FGDATA_DIR} $INSTALL_DIR_FGFS/fgdata
|
ln -s ${FGDATA_DIR} $INSTALL_DIR_FGFS/fgdata
|
||||||
@@ -1129,7 +1167,7 @@ fi
|
|||||||
cd $INSTALL_DIR_FGFS
|
cd $INSTALL_DIR_FGFS
|
||||||
echo -n "GIT DATA FROM $fgdata_git ... " |tee -a $LOGFILE
|
echo -n "GIT DATA FROM $fgdata_git ... " |tee -a $LOGFILE
|
||||||
|
|
||||||
if [ -d "fgdata" ]
|
if [ -e "fgdata" ]
|
||||||
then
|
then
|
||||||
echo "fgdata exists already."
|
echo "fgdata exists already."
|
||||||
else
|
else
|
||||||
@@ -1144,19 +1182,30 @@ fi
|
|||||||
then
|
then
|
||||||
# switch to stable branch
|
# switch to stable branch
|
||||||
# create local stable branch, ignore errors if it exists
|
# create local stable branch, ignore errors if it exists
|
||||||
git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH 2> /dev/null || true
|
if [[ "$(git_check_branch_or_tag $FGSG_BRANCH)" = "" ]]
|
||||||
|
then
|
||||||
|
write_log_and_exec
|
||||||
|
"git branch -f $FGSG_BRANCH origin/$FGSG_BRANCH"
|
||||||
|
fi
|
||||||
# switch to stable branch. No error is reported if we're already on the branch.
|
# switch to stable branch. No error is reported if we're already on the branch.
|
||||||
git checkout -f $FGSG_BRANCH
|
write_log_and_exec "git checkout -f $FGSG_BRANCH"
|
||||||
|
|
||||||
# get indicated stable version
|
# get indicated stable version
|
||||||
git reset --hard $FGSG_BRANCH
|
|
||||||
|
write_log_and_exec "git reset --hard $FGSG_BRANCH"
|
||||||
else
|
else
|
||||||
# switch to unstable branch
|
# switch to unstable branch
|
||||||
# create local unstable branch, ignore errors if it exists
|
# create local unstable branch, ignore errors if it exists
|
||||||
git branch -f $FGDATA_BRANCH origin/$FGDATA_BRANCH 2> /dev/null || true
|
$(git_check_branch_or_tag)
|
||||||
|
if [[ "$(git_check_branch_or_tag $FGDATA_BRANCH)" = "" ]]
|
||||||
|
then
|
||||||
|
write_log_and_exec
|
||||||
|
"git branch -f $FGDATA_BRANCH origin/$FGDATA_BRANCH"
|
||||||
|
fi
|
||||||
# switch to unstable branch. No error is reported if we're already on the branch.
|
# switch to unstable branch. No error is reported if we're already on the branch.
|
||||||
git checkout -f $FGDATA_BRANCH
|
write_log_and_exec "git checkout -f $FGDATA_BRANCH"
|
||||||
# pull latest version from the unstable branch
|
# pull latest version from the unstable branch
|
||||||
git pull
|
write_log_and_exec "git pull"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
@@ -1729,7 +1778,7 @@ then
|
|||||||
else
|
else
|
||||||
echo "Usage: $0 -h"
|
echo "Usage: $0 -h"
|
||||||
echo "for help"
|
echo "for help"
|
||||||
echo "$rebuild" >rebuild
|
echo "$rebuild_command" >rebuild
|
||||||
chmod +x rebuild
|
chmod +x rebuild
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
|
|
||||||
IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0
|
IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0
|
||||||
|
|
||||||
ECHO #define SIMGEAR_VERSION "2.9.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 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"
|
rem call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat"
|
||||||
|
|
||||||
md build-sg
|
md build-sg
|
||||||
md build-fg
|
md build-fg
|
||||||
md build-fgrun
|
md build-fgrun
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
|
|
||||||
IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0
|
IF NOT DEFINED WORKSPACE SET WORKSPACE=%~dp0
|
||||||
|
|
||||||
ECHO #define SIMGEAR_VERSION "2.9.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 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
|
rem call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64
|
||||||
|
|
||||||
md build-sg64
|
md build-sg64
|
||||||
md build-fg64
|
md build-fg64
|
||||||
md build-fgrun64
|
md build-fgrun64
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ ECHO #define OTSoNumber "%OT_SO_NUMBER%" >> InstallConfig.iss
|
|||||||
set DATA_FILE=FlightGear-%FLIGHTGEAR_VERSION%-data
|
set DATA_FILE=FlightGear-%FLIGHTGEAR_VERSION%-data
|
||||||
|
|
||||||
REM extract the data files
|
REM extract the data files
|
||||||
7z e -aoa %DATA_FILE%.tar.bz && 7z x -aoa %DATA_FILE%.tar
|
7z e -aoa %DATA_FILE%.tar.bz2 && 7z x -aoa %DATA_FILE%.tar
|
||||||
|
|
||||||
REM run Inno-setup!
|
REM run Inno-setup!
|
||||||
REM use iscc instead of compil32 for better error reporting
|
REM use iscc instead of compil32 for better error reporting
|
||||||
|
|||||||
+14
-7
@@ -1,12 +1,19 @@
|
|||||||
|
|
||||||
|
|
||||||
REM ExternalProject can't cleanly extract a zip into an existing directory
|
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 Instead we extract to a subdir, and then move the directories we want
|
||||||
REM using this bat file.
|
REM using this bat file.
|
||||||
|
|
||||||
echo %CD%
|
echo %CD%
|
||||||
|
IF EXIST winDeps/3rdParty (
|
||||||
md 3rdParty
|
md 3rdParty
|
||||||
xcopy /Y /E winDeps/3rdParty 3rdParty
|
xcopy /Y /E winDeps/3rdParty 3rdParty
|
||||||
|
echo "Done copying Windows deps"
|
||||||
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
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user