--- /dev/null
+cmake_minimum_required (VERSION 2.6)
+
+include (CheckFunctionExists)
+include (CheckCSourceCompiles)
+include (CPack)
+
+project(FlightGear)
+
+file(READ version FLIGHTGEAR_VERSION)
+
+#packaging
+SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/COPYING")
+SET(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/README")
+
+# We have some custom .cmake scripts not in the official distribution.
+set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}")
+
+# autoconf compatibility
+set(PKGLIBDIR "foo")
+
+option(LOGGING "Set to OFF to build FlightGear without logging" ON)
+
+option(SP_FDMS "Set to ON to build FlightGear with special-purpose FDMs" OFF)
+option(ENABLE_UIUC_MODEL "Set to ON to build FlightGear with UIUCModel FDM" ON)
+option(ENABLE_LARCSIM "Set to ON to build FlightGear with LaRCsim FDM" ON)
+option(ENABLE_YASIM "Set to ON to build FlightGear with YASIM FDM" ON)
+option(ENABLE_JSBSIM "Set to ON to build FlightGear with JSBSim FDM" ON)
+
+option(ATCDCL "Set to ON to build FlightGear with Dave Luff's ATC code" OFF)
+option(EVENT_INPUT "Set to ON to build FlightGear with event-based Input support" OFF)
+
+if(LOGGING)
+ # nothing
+else()
+ set(FG_NDEBUG 1)
+endif()
+
+if(${SP_FDMS})
+ set(ENABLE_SP_FDM 1)
+endif()
+
+if(ATCDCL)
+ set(ENABLE_ATCDCL 1)
+endif()
+
+if(EVENT_INPUT)
+ message(STATUS "checking event-based Input")
+ IF(APPLE)
+
+ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+ else()
+ message(WARNING "event input is not supported on this platform yet")
+ endif()
+else(EVENT_INPUT)
+ set(ENABLE_PLIB_JOYSTICK 1)
+endif(EVENT_INPUT)
+
+# check required dependencies
+find_package(Boost REQUIRED)
+find_package(ZLIB REQUIRED)
+find_package(Threads REQUIRED)
+find_package(OpenGL REQUIRED)
+find_package(OpenAL REQUIRED)
+find_package(ALUT REQUIRED)
+find_package(OpenSceneGraph 2.8.2 REQUIRED osgText osgSim osgDB osgParticle osgFX osgUtil osgViewer osgGA)
+find_package(PLIB REQUIRED pu puaux js fnt)
+find_package(SimGear 2.0.0 REQUIRED)
+
+find_path (HAVE_SYS_TIME_H sys/time.h )
+
+if(CMAKE_COMPILER_IS_GNUCXX)
+ set(WARNING_FLAGS -Wall)
+endif(CMAKE_COMPILER_IS_GNUCXX)
+
+if(WIN32)
+
+ if(MSVC)
+ # turn off various warnings
+ # foreach(warning 4244 4251 4267 4275 4290 4786 4305 4996)
+ # SET(WARNING_FLAGS "${WARNING_FLAGS} /wd${warning}")
+ # endforeach(warning)
+
+ set(MSVC_FLAGS "-DNOMINMAX -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D__CRT_NONSTDC_NO_WARNINGS")
+ endif(MSVC)
+
+ set(NOMINMAX 1)
+endif(WIN32)
+
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS}")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS}")
+
+include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS}
+ ${Boost_INCLUDE_DIRS}
+ ${ZLIB_INCLUDE_DIR}
+ ${ALUT_INCLUDE_DIR}
+ ${OPENAL_INCLUDE_DIR}
+ ${SIMGEAR_INCLUDE_DIR}
+ ${PLIB_INCLUDE_DIR} )
+
+include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/Include)
+
+add_definitions(-DHAVE_CONFIG_H)
+
+# configure a header file to pass some of the CMake settings
+# to the source code
+configure_file (
+ "${PROJECT_SOURCE_DIR}/src/Include/config_cmake.h.in"
+ "${PROJECT_BINARY_DIR}/src/Include/config.h"
+ )
+
+add_subdirectory(src)
+add_subdirectory(utils)
--- /dev/null
+# Locate ALUT
+# This module defines
+# ALUT_LIBRARY
+# ALUT_FOUND, if false, do not try to link to ALUT
+# ALUT_INCLUDE_DIR, where to find the headers
+#
+# $ALUTDIR is an environment variable that would
+# correspond to the ./configure --prefix=$ALUTDIR
+# used in building ALUT.
+#
+# Created by James Turner. This was influenced by the FindOpenAL.cmake module.
+
+#=============================================================================
+# Copyright 2005-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distributed this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# Per my request, CMake should search for frameworks first in
+# the following order:
+# ~/Library/Frameworks/OpenAL.framework/Headers
+# /Library/Frameworks/OpenAL.framework/Headers
+# /System/Library/Frameworks/OpenAL.framework/Headers
+#
+# On OS X, this will prefer the Framework version (if found) over others.
+# People will have to manually change the cache values of
+# OPENAL_LIBRARY to override this selection or set the CMake environment
+# CMAKE_INCLUDE_PATH to modify the search paths.
+
+FIND_PATH(ALUT_INCLUDE_DIR alut.h
+ HINTS
+ $ENV{ALUTDIR}
+ PATH_SUFFIXES include/AL include/ALUT include
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /opt
+)
+
+FIND_LIBRARY(ALUT_LIBRARY
+ NAMES ALUT alut
+ HINTS
+ $ENV{ALUTDIR}
+ PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /opt
+)
+
+
+SET(ALUT_FOUND "NO")
+IF(ALUT_LIBRARY AND ALUT_INCLUDE_DIR)
+ SET(ALUT_FOUND "YES")
+ENDIF(ALUT_LIBRARY AND ALUT_INCLUDE_DIR)
+
--- /dev/null
+# Locate PLIB
+# This module defines
+# PLIB_LIBRARIES
+# PLIB_FOUND, if false, do not try to link to PLIB
+# PLIB_INCLUDE_DIR, where to find the headers
+#
+# $PLIBDIR is an environment variable that would
+# correspond to the ./configure --prefix=$PLIBDIR
+# used in building PLIB.
+#
+# Created by James Turner. This was influenced by the FindOpenAL.cmake module.
+
+#=============================================================================
+# Copyright 2005-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distributed this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# Per my request, CMake should search for frameworks first in
+# the following order:
+# ~/Library/Frameworks/OpenAL.framework/Headers
+# /Library/Frameworks/OpenAL.framework/Headers
+# /System/Library/Frameworks/OpenAL.framework/Headers
+#
+# On OS X, this will prefer the Framework version (if found) over others.
+# People will have to manually change the cache values of
+# OPENAL_LIBRARY to override this selection or set the CMake environment
+# CMAKE_INCLUDE_PATH to modify the search paths.
+
+set(save_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK})
+set(CMAKE_FIND_FRAMEWORK ONLY)
+FIND_PATH(PLIB_INCLUDE_DIR ul.h
+ PATH_SUFFIXES include/plib include
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+)
+set(CMAKE_FIND_FRAMEWORK ${save_FIND_FRAMEWORK})
+
+if(NOT PLIB_INCLUDE_DIR)
+ FIND_PATH(PLIB_INCLUDE_DIR plib/ul.h
+ PATH_SUFFIXES include
+ HINTS $ENV{PLIBDIR}
+ PATHS
+ /usr/local
+ /opt/local
+ /usr
+ )
+endif()
+
+message(STATUS ${PLIB_INCLUDE_DIR})
+
+# check for dynamic framework on Mac ()
+FIND_LIBRARY(PLIB_LIBRARIES
+ NAMES plib PLIB
+ HINTS
+ $ENV{PLIBDIR}
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+)
+
+macro(find_static_component comp libs)
+ set(compLib "plib${comp}")
+ string(TOUPPER "PLIB_${comp}_LIBRARY" compLibName)
+
+ FIND_LIBRARY(${compLibName}
+ NAMES ${compLib}
+ HINTS $ENV{PLIBDIR}
+ PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
+ PATHS
+ /usr/local
+ /usr
+ /opt
+ )
+
+ set(componentLib ${${compLibName}})
+ if (NOT ${componentLib} STREQUAL "componentLib-NOTFOUND")
+ #message(STATUS "found ${componentLib}")
+ list(APPEND ${libs} ${componentLib})
+ #set(PLIB_LIBRARIES "${PLIB_LIBRARIES} ${componentLib}" PARENT_SCOPE)
+ endif()
+endmacro()
+
+if(${PLIB_LIBRARIES} STREQUAL "PLIB_LIBRARIES-NOTFOUND")
+ set(PLIB_LIBRARIES "") # clear value
+
+# based on the contents of deps, add other required PLIB
+# static library dependencies. Eg PUI requires SSG and FNT
+ set(outDeps ${PLIB_FIND_COMPONENTS})
+
+ foreach(c ${PLIB_FIND_COMPONENTS})
+ if (${c} STREQUAL "pu")
+ list(APPEND outDeps "fnt" "ssg" "sg")
+ elseif (${c} STREQUAL "puaux")
+ list(APPEND outDeps "pu" "fnt" "ssg" "sg")
+ elseif (${c} STREQUAL "ssg")
+ list(APPEND outDeps "sg")
+ endif()
+ endforeach()
+
+ list(APPEND outDeps "ul") # everything needs ul
+ list(REMOVE_DUPLICATES outDeps) # clean up
+
+ # look for traditional static libraries
+ foreach(component ${outDeps})
+ find_static_component(${component} PLIB_LIBRARIES)
+ endforeach()
+endif()
+
+list(FIND outDeps "js" haveJs)
+if(${haveJs} GREATER -1)
+ message(STATUS "adding runtime JS dependencies")
+ if(APPLE)
+ # resolve frameworks to full paths
+ find_library(IOKIT_LIBRARY IOKit)
+ find_library(CF_LIBRARY CoreFoundation)
+ set(JS_LIBS ${IOKIT_LIBRARY} ${CF_LIBRARY})
+ elseif(WIN32)
+ find_library(WINMM_LIBRARY winmm)
+ set(JS_LIBS ${WINMM_LIBRARY})
+ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ # anything needed here?
+ elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
+ find_library(USBHID_LIBRARY usbhid)
+ # check_function_exists(hidinit)
+ set(JS_LIBS ${USBHID_LIBRARY})
+ else()
+ message(WARNING "Unsupported platform for PLIB JS libs")
+ endif()
+
+ list(APPEND PLIB_LIBRARIES ${JS_LIBS})
+endif()
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PLIB DEFAULT_MSG PLIB_LIBRARIES PLIB_INCLUDE_DIR)
+
--- /dev/null
+# Locate SimGear
+# This module defines
+# SIMGEAR_LIBRARIES
+# SIMGEAR_FOUND, if false, do not try to link to SimGear
+# SIMGEAR_INCLUDE_DIR, where to find the headers
+#
+# $SIMGEAR_DIR is an environment variable that would
+# correspond to the ./configure --prefix=$SIMGEAR_DIR
+# used in building SimGear.
+#
+# Created by James Turner. This was influenced by the FindOpenAL.cmake module.
+
+#=============================================================================
+# Copyright 2005-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distributed this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# Per my request, CMake should search for frameworks first in
+# the following order:
+# ~/Library/Frameworks/SimGear.framework/Headers
+# /Library/Frameworks/SimGear.framework/Headers
+# /System/Library/Frameworks/SimGear.framework/Headers
+#
+# On OS X, this will prefer the Framework version (if found) over others.
+# People will have to manually change the cache values of
+# SimGear_LIBRARIES to override this selection or set the CMake environment
+# CMAKE_INCLUDE_PATH to modify the search paths.
+
+FIND_PATH(SIMGEAR_INCLUDE_DIR simgear/math/SGMath.hxx
+ HINTS $ENV{SIMGEAR_DIR}
+ PATH_SUFFIXES include
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /opt
+)
+
+message(STATUS ${SIMGEAR_INCLUDE_DIR})
+
+# check for dynamic framework/library
+FIND_LIBRARY(SIMGEAR_LIBRARIES
+ NAMES simgear SimGear
+ HINTS
+ $ENV{SIMGEAR_DIR}
+ PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /opt
+)
+
+macro(find_sg_component comp libs)
+ set(compLib "sg${comp}")
+ string(TOUPPER "SIMGEAR_${comp}_LIBRARY" compLibName)
+
+ FIND_LIBRARY(${compLibName}
+ NAMES ${compLib}
+ HINTS $ENV{SIMGEAR_DIR}
+ PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
+ PATHS
+ /usr/local
+ /usr
+ /opt
+ )
+
+ set(componentLib ${${compLibName}})
+ if (NOT ${componentLib} STREQUAL "componentLib-NOTFOUND")
+ #message(STATUS "found ${componentLib}")
+ list(APPEND ${libs} ${componentLib})
+ endif()
+endmacro()
+
+if(${SIMGEAR_LIBRARIES} STREQUAL "SIMGEAR_LIBRARIES-NOTFOUND")
+ set(SIMGEAR_LIBRARIES "") # clear value
+
+ # note the order here affects the order Simgear libraries are
+ # linked in, and hence ability to link when using a traditional
+ # linker such as GNU ld on Linux
+ set(comps
+ ephemeris
+ bucket
+ environment
+ nasal
+ props
+ xml
+ debug
+ sky
+ material tgdb
+ model
+ screen
+ bvh
+ structure
+ util route
+ timing
+ threads
+ io
+ serial
+ sound
+ misc
+ magvar
+ math)
+
+ foreach(component ${comps})
+ find_sg_component(${component} SIMGEAR_LIBRARIES)
+ endforeach()
+endif()
+
+# now we've found SimGear, check its version
+
+include(CheckCXXSourceRuns)
+
+message(STATUS "looking for version: ${SimGear_FIND_VERSION}")
+
+SET(CMAKE_REQUIRED_INCLUDES ${SIMGEAR_INCLUDE_DIR})
+
+check_cxx_source_runs(
+ "#include <cstdio>
+ #include <simgear/version.h>
+
+ #define xstr(s) str(s)
+ #define str(s) #s
+
+ #define MIN_MAJOR ${SimGear_FIND_VERSION_MAJOR}
+ #define MIN_MINOR ${SimGear_FIND_VERSION_MINOR}
+ #define MIN_MICRO ${SimGear_FIND_VERSION_PATCH}
+
+ int main() {
+ int major, minor, micro;
+
+ /* printf(%d.%d.%d or greater, , MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
+ printf(\"found %s ... \", xstr(SIMGEAR_VERSION));
+
+ sscanf( xstr(SIMGEAR_VERSION), \"%d.%d.%d\", &major, &minor, µ );
+
+ if ( (major < MIN_MAJOR) ||
+ (major == MIN_MAJOR && minor < MIN_MINOR) ||
+ (major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
+ return -1;
+ }
+
+ return 0;
+ }
+ "
+ SIMGEAR_VERSION_OK)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SimGear DEFAULT_MSG
+ SIMGEAR_LIBRARIES SIMGEAR_INCLUDE_DIR SIMGEAR_VERSION_OK)
+
--- /dev/null
+# Find Subversion client libraries, and dependencies
+# including APR (Apache Portable Runtime)
+
--- /dev/null
+
+macro(flightgear_component name sources)
+
+ set(libName "fg${name}")
+ add_library(${libName} STATIC ${sources} )
+
+ set_property(GLOBAL APPEND PROPERTY FG_LIBS ${libName})
+
+endmacro()
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ AIAircraft.cxx
+ AIBallistic.cxx
+ AIBase.cxx
+ AICarrier.cxx
+ AIEscort.cxx
+ AIFlightPlan.cxx
+ AIFlightPlanCreate.cxx
+ AIFlightPlanCreateCruise.cxx
+ AIFlightPlanCreatePushBack.cxx
+ AIGroundVehicle.cxx
+ AIManager.cxx
+ AIMultiplayer.cxx
+ AIShip.cxx
+ AIStatic.cxx
+ AIStorm.cxx
+ AITanker.cxx
+ AIThermal.cxx
+ AIWingman.cxx
+ performancedata.cxx
+ performancedb.cxx
+ submodel.cxx
+ )
+
+flightgear_component(AIModel "${SOURCES}")
+
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ atcutils.cxx
+ atis.cxx
+ trafficcontrol.cxx
+ )
+
+flightgear_component(ATC "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ controls.cxx
+ replay.cxx
+ )
+
+flightgear_component(Aircraft "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ apt_loader.cxx
+ calc_loc.cxx
+ dynamicloader.cxx
+ dynamics.cxx
+ gnnode.cxx
+ groundnetwork.cxx
+ parking.cxx
+ pavement.cxx
+ runwaybase.cxx
+ runwayprefloader.cxx
+ runwayprefs.cxx
+ runways.cxx
+ sidstar.cxx
+ simple.cxx
+ xmlloader.cxx
+ )
+
+flightgear_component(Airports "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ analogcomponent.cxx
+ autopilot.cxx
+ autopilotgroup.cxx
+ component.cxx
+ digitalcomponent.cxx
+ digitalfilter.cxx
+ flipflop.cxx
+ inputvalue.cxx
+ logic.cxx
+ pidcontroller.cxx
+ pisimplecontroller.cxx
+ predictor.cxx
+ route_mgr.cxx
+ )
+
+flightgear_component(Autopilot "${SOURCES}")
\ No newline at end of file
--- /dev/null
+
+include_directories(${PROJECT_SOURCE_DIR})
+
+# note order here affects link order, and hence linking correctness
+# on systems with a traditional ld (eg, GNU ld on Linux)
+foreach( mylibfolder
+ Airports
+ Aircraft
+ ATC
+ Autopilot
+ Cockpit
+ Environment
+ GUI
+ Input
+ Instrumentation
+ Model
+ MultiPlayer
+ AIModel
+ Navaids
+ Network
+ Scenery
+ Scripting
+ Sound
+ Systems
+ Time
+ Traffic
+ FDM
+ Main
+ )
+
+ add_subdirectory(${mylibfolder})
+endforeach( mylibfolder )
+
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ panel.cxx
+ panel_io.cxx
+ built_in/FGMagRibbon.cxx
+ )
+
+flightgear_component(Cockpit "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ atmosphere.cxx
+ environment.cxx
+ environment_ctrl.cxx
+ environment_mgr.cxx
+ ephemeris.cxx
+ fgclouds.cxx
+ fgmetar.cxx
+ fgwind.cxx
+ metarairportfilter.cxx
+ metarproperties.cxx
+ precipitation_mgr.cxx
+ realwx_ctrl.cxx
+ ridge_lift.cxx
+ terrainsampler.cxx
+ )
+
+flightgear_component(Environment "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+if(SP_FDMS)
+set(SP_FDM_SOURCES
+ SP/ACMS.cxx
+ SP/ADA.cxx
+ SP/Balloon.cxx
+ SP/MagicCarpet.cxx
+ )
+endif()
+
+set(UIUC_SOURCES
+ uiuc_1DdataFileReader.cpp
+ uiuc_1Dinterpolation.cpp
+ uiuc_2DdataFileReader.cpp
+ uiuc_2Dinterpolation.cpp
+ uiuc_3Dinterpolation.cpp
+ uiuc_aerodeflections.cpp
+ uiuc_alh_ap.cpp
+ uiuc_auto_pilot.cpp
+ uiuc_betaprobe.cpp
+ uiuc_coef_drag.cpp
+ uiuc_coef_lift.cpp
+ uiuc_coef_pitch.cpp
+ uiuc_coef_roll.cpp
+ uiuc_coef_sideforce.cpp
+ uiuc_coef_yaw.cpp
+ uiuc_coefficients.cpp
+ uiuc_controlInput.cpp
+ uiuc_convert.cpp
+ uiuc_engine.cpp
+ uiuc_find_position.cpp
+ uiuc_flapdata.cpp
+ uiuc_fog.cpp
+ uiuc_gear.cpp
+ uiuc_get_flapper.cpp
+ uiuc_getwind.cpp
+ uiuc_hh_ap.cpp
+ uiuc_ice.cpp
+ uiuc_iceboot.cpp
+ uiuc_iced_nonlin.cpp
+ uiuc_icing_demo.cpp
+ uiuc_initializemaps.cpp
+ uiuc_map_CD.cpp
+ uiuc_map_CL.cpp
+ uiuc_map_CY.cpp
+ uiuc_map_Cm.cpp
+ uiuc_map_Cn.cpp
+ uiuc_map_Croll.cpp
+ uiuc_map_controlSurface.cpp
+ uiuc_map_engine.cpp
+ uiuc_map_fog.cpp
+ uiuc_map_gear.cpp
+ uiuc_map_geometry.cpp
+ uiuc_map_ice.cpp
+ uiuc_map_init.cpp
+ uiuc_map_keyword.cpp
+ uiuc_map_mass.cpp
+ uiuc_map_misc.cpp
+ uiuc_map_record1.cpp
+ uiuc_map_record2.cpp
+ uiuc_map_record3.cpp
+ uiuc_map_record4.cpp
+ uiuc_map_record5.cpp
+ uiuc_map_record6.cpp
+ uiuc_menu.cpp
+ uiuc_menu_CD.cpp
+ uiuc_menu_CL.cpp
+ uiuc_menu_CY.cpp
+ uiuc_menu_Cm.cpp
+ uiuc_menu_Cn.cpp
+ uiuc_menu_Croll.cpp
+ uiuc_menu_controlSurface.cpp
+ uiuc_menu_engine.cpp
+ uiuc_menu_fog.cpp
+ uiuc_menu_functions.cpp
+ uiuc_menu_gear.cpp
+ uiuc_menu_geometry.cpp
+ uiuc_menu_ice.cpp
+ uiuc_menu_init.cpp
+ uiuc_menu_mass.cpp
+ uiuc_menu_misc.cpp
+ uiuc_menu_record.cpp
+ uiuc_pah_ap.cpp
+ uiuc_parsefile.cpp
+ uiuc_rah_ap.cpp
+ uiuc_recorder.cpp
+ uiuc_warnings_errors.cpp
+ uiuc_wrapper.cpp
+ )
+
+set(LARCSIM_SOURCES
+ atmos_62.c
+ basic_aero.c
+ basic_engine.c
+ basic_gear.c
+ basic_init.c
+ c172_aero.c
+ c172_engine.c
+ c172_gear.c
+ c172_init.c
+ cherokee_aero.c
+ cherokee_engine.c
+ cherokee_gear.c
+ cherokee_init.c
+ default_model_routines.c
+ ls_accel.c
+ ls_aux.c
+ ls_geodesy.c
+ ls_gravity.c
+ ls_init.c
+ ls_interface.c
+ ls_matrix.c
+ ls_model.c
+ ls_step.c
+ ls_trim.c
+ navion_aero.c
+ navion_engine.c
+ navion_gear.c
+ navion_init.c
+ uiuc_aero.c
+ IO360.cxx
+ LaRCsim.cxx
+ LaRCsimIC.cxx
+ )
+
+set(SOURCES
+ NullFDM.cxx
+ UFO.cxx
+ fdm_shell.cxx
+ flight.cxx
+ flightProperties.cxx
+ groundcache.cxx
+ ${SP_FDM_SOURCES}
+ ExternalNet/ExternalNet.cxx
+ ExternalPipe/ExternalPipe.cxx
+ )
+
+if(ENABLE_YASIM)
+ add_subdirectory(YASim)
+endif()
+
+if(ENABLE_UIUC_MODEL)
+ foreach(component ${UIUC_SOURCES})
+ list(APPEND SOURCES "UIUCModel/${component}")
+ endforeach()
+endif()
+
+if(ENABLE_LARCSIM)
+ foreach(component ${LARCSIM_SOURCES})
+ list(APPEND SOURCES "LaRCsim/${component}")
+ endforeach()
+endif()
+
+flightgear_component(FDM "${SOURCES}")
+
+if(ENABLE_JSBSIM)
+ add_subdirectory(JSBSim)
+
+ # FIXME - push this down once JSBSim doesn't expose private headers
+ include_directories(${PROJECT_SOURCE_DIR}/src/FDM/JSBSim)
+endif()
+
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ FGFDMExec.cpp
+ FGJSBBase.cpp
+ JSBSim.cxx
+ initialization/FGInitialCondition.cpp
+ initialization/FGTrim.cpp
+ initialization/FGTrimAxis.cpp
+ input_output/FGGroundCallback.cpp
+ input_output/FGPropertyManager.cpp
+ input_output/FGScript.cpp
+ input_output/FGXMLElement.cpp
+ input_output/FGXMLParse.cpp
+ input_output/FGfdmSocket.cpp
+ math/FGColumnVector3.cpp
+ math/FGCondition.cpp
+ math/FGFunction.cpp
+ math/FGLocation.cpp
+ math/FGMatrix33.cpp
+ math/FGModelFunctions.cpp
+ math/FGPropertyValue.cpp
+ math/FGQuaternion.cpp
+ math/FGRealValue.cpp
+ math/FGRungeKutta.cpp
+ math/FGTable.cpp
+ models/FGAerodynamics.cpp
+ models/FGAircraft.cpp
+ models/FGAtmosphere.cpp
+ models/FGAuxiliary.cpp
+ models/FGBuoyantForces.cpp
+ models/FGExternalForce.cpp
+ models/FGExternalReactions.cpp
+ models/FGFCS.cpp
+ models/FGGasCell.cpp
+ models/FGGroundReactions.cpp
+ models/FGInertial.cpp
+ models/FGInput.cpp
+ models/FGLGear.cpp
+ models/FGMassBalance.cpp
+ models/FGModel.cpp
+ models/FGOutput.cpp
+ models/FGPropagate.cpp
+ models/FGPropulsion.cpp
+ models/atmosphere/FGMSIS.cpp
+ models/atmosphere/FGMSISData.cpp
+ models/atmosphere/FGMars.cpp
+ models/flight_control/FGAccelerometer.cpp
+ models/flight_control/FGActuator.cpp
+ models/flight_control/FGDeadBand.cpp
+ models/flight_control/FGFCSComponent.cpp
+ models/flight_control/FGFCSFunction.cpp
+ models/flight_control/FGFilter.cpp
+ models/flight_control/FGGain.cpp
+ models/flight_control/FGGradient.cpp
+ models/flight_control/FGGyro.cpp
+ models/flight_control/FGKinemat.cpp
+ models/flight_control/FGMagnetometer.cpp
+ models/flight_control/FGPID.cpp
+ models/flight_control/FGSensor.cpp
+ models/flight_control/FGSummer.cpp
+ models/flight_control/FGSwitch.cpp
+ models/propulsion/FGElectric.cpp
+ models/propulsion/FGEngine.cpp
+ models/propulsion/FGForce.cpp
+ models/propulsion/FGNozzle.cpp
+ models/propulsion/FGPiston.cpp
+ models/propulsion/FGPropeller.cpp
+ models/propulsion/FGRocket.cpp
+ models/propulsion/FGRotor.cpp
+ models/propulsion/FGTank.cpp
+ models/propulsion/FGThruster.cpp
+ models/propulsion/FGTurbine.cpp
+ models/propulsion/FGTurboProp.cpp
+ )
+
+include_directories(${PROJECT_SOURCE_DIR}/src/FDM/JSBSim)
+
+flightgear_component(JSBSim "${SOURCES}")
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ Airplane.cpp
+ Atmosphere.cpp
+ ControlMap.cpp
+ FGFDM.cpp
+ FGGround.cpp
+ Gear.cpp
+ Glue.cpp
+ Ground.cpp
+ Hitch.cpp
+ Hook.cpp
+ Integrator.cpp
+ Jet.cpp
+ Launchbar.cpp
+ Math.cpp
+ Model.cpp
+ PistonEngine.cpp
+ PropEngine.cpp
+ Propeller.cpp
+ RigidBody.cpp
+ Rotor.cpp
+ Rotorpart.cpp
+ SimpleJet.cpp
+ Surface.cpp
+ Thruster.cpp
+ TurbineEngine.cpp
+ Turbulence.cpp
+ Wing.cpp
+ YASim.cxx
+ )
+
+flightgear_component(YASim "${SOURCES}")
+
+add_executable(yasim yasim-test.cpp)
+
+target_link_libraries(yasim
+ fgYASim
+ ${SIMGEAR_LIBRARIES}
+ ${ZLIB_LIBRARIES})
+
+install(TARGETS yasim RUNTIME DESTINATION bin)
+
+
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ AirportList.cxx
+ MapWidget.cxx
+ SafeTexFont.cxx
+ WaypointList.cxx
+ dialog.cxx
+ fonts.cxx
+ gui.cxx
+ gui_funcs.cxx
+ layout-props.cxx
+ layout.cxx
+ menubar.cxx
+ new_gui.cxx
+ property_list.cxx
+ )
+
+flightgear_component(GUI "${SOURCES}")
--- /dev/null
+
+
+#cmakedefine FG_NDEBUG
+#cmakedefine ENABLE_ATCDCL
+#cmakedefine ENABLE_SP_FDM
+
+// JSBSim needs this, to switch from standalone to in-FG mode
+#define FGFS
+
+#define PU_USE_NONE // PLIB needs this to avoid linking to GLUT
+
+#cmakedefine ENABLE_PLIB_JOYSTICK
+
+// threads are required (used to be optional)
+#define ENABLE_THREADS 1
+
+// audio support is assumed
+#define ENABLE_AUDIO_SUPPORT 1
+
+#cmakedefine HAVE_SYS_TIME_H
+
+#define VERSION "@FLIGHTGEAR_VERSION"
+
+#cmakedefine ENABLE_UIUC_MODEL
+#cmakedefine ENABLE_LARCSIM
+#cmakedefine ENABLE_YASIM
+#cmakedefine ENABLE_JSBSIM
+
+#define PKGLIBDIR "@PKGLIBDIR"
--- /dev/null
+include(FlightGearComponent)
+
+set(EVENT_INPUT_SOURCES
+ FGLinuxEventInput.cxx
+ FGMacOSXEventInput.cxx
+ )
+
+set(SOURCES
+ FGButton.cxx
+ FGCommonInput.cxx
+ FGDeviceConfigurationMap.cxx
+ FGEventInput.cxx
+ FGJoystickInput.cxx
+ FGKeyboardInput.cxx
+ FGMouseInput.cxx
+ input.cxx
+ )
+
+if(EVENT_INPUT)
+ list(APPEND SOURCES ${EVENT_INPUT_SOURCES})
+endif()
+
+set(FGJS_SOURCES
+ fgjs.cxx
+ jsinput.cxx
+ jssuper.cxx
+ )
+
+add_executable(fgjs ${FGJS_SOURCES})
+
+target_link_libraries(fgjs
+ ${SIMGEAR_LIBRARIES}
+ ${PLIB_LIBRARIES}
+ ${ZLIB_LIBRARY})
+
+add_executable(js_demo js_demo.cxx)
+
+target_link_libraries(js_demo
+ ${SIMGEAR_LIBRARIES}
+ ${PLIB_LIBRARIES}
+ ${ZLIB_LIBRARY})
+
+flightgear_component(Input "${SOURCES}")
+
+install(TARGETS fgjs js_demo RUNTIME DESTINATION bin)
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ adf.cxx
+ agradar.cxx
+ airspeed_indicator.cxx
+ altimeter.cxx
+ attitude_indicator.cxx
+ clock.cxx
+ dclgps.cxx
+ dme.cxx
+ gps.cxx
+ groundradar.cxx
+ gsdi.cxx
+ gyro.cxx
+ heading_indicator.cxx
+ heading_indicator_dg.cxx
+ heading_indicator_fg.cxx
+ inst_vertical_speed_indicator.cxx
+ instrument_mgr.cxx
+ kr_87.cxx
+ kt_70.cxx
+ mag_compass.cxx
+ marker_beacon.cxx
+ mk_viii.cxx
+ mrg.cxx
+ navradio.cxx
+ od_gauge.cxx
+ rad_alt.cxx
+ render_area_2d.cxx
+ rnav_waypt_controller.cxx
+ slip_skid_ball.cxx
+ tacan.cxx
+ transponder.cxx
+ turn_indicator.cxx
+ vertical_speed_indicator.cxx
+ wxradar.cxx
+ HUD/HUD.cxx
+ HUD/HUD_dial.cxx
+ HUD/HUD_gauge.cxx
+ HUD/HUD_instrument.cxx
+ HUD/HUD_label.cxx
+ HUD/HUD_ladder.cxx
+ HUD/HUD_misc.cxx
+ HUD/HUD_runway.cxx
+ HUD/HUD_scale.cxx
+ HUD/HUD_tape.cxx
+ HUD/HUD_tbi.cxx
+ KLN89/kln89.cxx
+ KLN89/kln89_page.cxx
+ KLN89/kln89_page_act.cxx
+ KLN89/kln89_page_apt.cxx
+ KLN89/kln89_page_cal.cxx
+ KLN89/kln89_page_dir.cxx
+ KLN89/kln89_page_fpl.cxx
+ KLN89/kln89_page_int.cxx
+ KLN89/kln89_page_nav.cxx
+ KLN89/kln89_page_ndb.cxx
+ KLN89/kln89_page_nrst.cxx
+ KLN89/kln89_page_oth.cxx
+ KLN89/kln89_page_set.cxx
+ KLN89/kln89_page_usr.cxx
+ KLN89/kln89_page_vor.cxx
+ )
+
+
+flightgear_component(Instruments "${SOURCES}")
\ No newline at end of file
--- /dev/null
+
+set(SOURCES
+ CameraGroup.cxx
+ FGEventHandler.cxx
+ WindowBuilder.cxx
+ WindowSystemAdapter.cxx
+ bootstrap.cxx
+ fg_commands.cxx
+ fg_init.cxx
+ fg_io.cxx
+ fg_os_common.cxx
+ fg_os_osgviewer.cxx
+ fg_props.cxx
+ fgviewer.cxx
+ globals.cxx
+ logger.cxx
+ main.cxx
+ options.cxx
+ renderer.cxx
+ splash.cxx
+ util.cxx
+ viewer.cxx
+ viewmgr.cxx
+ )
+
+add_executable(fgfs ${SOURCES})
+
+get_property(FG_LIBS GLOBAL PROPERTY FG_LIBS)
+#message(STATUS "fg libs ${FG_LIBS}")
+#message(STATUS "OSG libs ${OPENSCENEGRAPH_LIBRARIES}")
+#message(STATUS "SG libs ${SIMGEAR_LIBRARIES}")
+
+target_link_libraries(fgfs
+ ${FG_LIBS}
+ ${SIMGEAR_LIBRARIES}
+ ${OPENSCENEGRAPH_LIBRARIES}
+ ${OPENAL_LIBRARY}
+ ${OPENGL_LIBRARIES}
+ ${ALUT_LIBRARY}
+ ${ZLIB_LIBRARIES}
+ ${PLIB_LIBRARIES})
+
+install(TARGETS fgfs RUNTIME DESTINATION bin)
+
+
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ acmodel.cxx
+ model_panel.cxx
+ modelmgr.cxx
+ panelnode.cxx
+ )
+
+flightgear_component(Model "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ multiplaymgr.cxx
+ tiny_xdr.cxx
+ )
+
+flightgear_component(MultiPlayer "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ airways.cxx
+ awynet.cxx
+ fixlist.cxx
+ markerbeacon.cxx
+ navdb.cxx
+ navlist.cxx
+ navrecord.cxx
+ positioned.cxx
+ procedure.cxx
+ route.cxx
+ routePath.cxx
+ waypoint.cxx
+ )
+
+flightgear_component(Navaids "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ ATC-Inputs.cxx
+ ATC-Main.cxx
+ ATC-Outputs.cxx
+ AV400.cxx
+ AV400Sim.cxx
+ atlas.cxx
+ garmin.cxx
+ generic.cxx
+ httpd.cxx
+ joyclient.cxx
+ jpg-httpd.cxx
+ jsclient.cxx
+ lfsglass.cxx
+ multiplay.cxx
+ native.cxx
+ native_ctrls.cxx
+ native_fdm.cxx
+ native_gui.cxx
+ nmea.cxx
+ opengc.cxx
+ props.cxx
+ protocol.cxx
+ pve.cxx
+ ray.cxx
+ rul.cxx
+ )
+
+flightgear_component(Network "${SOURCES}")
+
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ SceneryPager.cxx
+ redout.cxx
+ scenery.cxx
+ tilemgr.cxx
+ )
+
+flightgear_component(Scenery "${SOURCES}")
+
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ NasalSys.cxx
+ nasal-props.cxx
+ )
+
+flightgear_component(Scripting "${SOURCES}")
+
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ beacon.cxx
+ fg_fx.cxx
+ morse.cxx
+ sample_queue.cxx
+ voice.cxx
+ )
+
+flightgear_component(Sound "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ electrical.cxx
+ pitot.cxx
+ static.cxx
+ system_mgr.cxx
+ vacuum.cxx
+ )
+
+flightgear_component(Systems "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ TimeManager.cxx
+ light.cxx
+ sunsolver.cxx
+ )
+
+flightgear_component(Time "${SOURCES}")
\ No newline at end of file
--- /dev/null
+include(FlightGearComponent)
+
+set(SOURCES
+ SchedFlight.cxx
+ Schedule.cxx
+ TrafficMgr.cxx
+ )
+
+flightgear_component(Traffic "${SOURCES}")
\ No newline at end of file
--- /dev/null
+add_subdirectory(TerraSync)
+add_subdirectory(fgviewer)
+
--- /dev/null
+
+find_package(SvnClient)
+
+add_executable(terrasync terrasync.cxx)
+
+target_link_libraries(terrasync
+ ${SIMGEAR_LIBRARIES}
+ ${ZLIB_LIBRARIES})
+
+if(HAVE_SVN_CLIENT)
+ target_link_libraries(terrasync ${SVN_CLIENT_LIBRARIES})
+endif()
+
+
+install(TARGETS terrasync RUNTIME DESTINATION bin)
--- /dev/null
+
+add_executable(fgviewer fgviewer.cxx)
+
+target_link_libraries(fgviewer
+ ${SIMGEAR_LIBRARIES}
+ ${OPENSCENEGRAPH_LIBRARIES}
+ ${OPENGL_LIBRARIES}
+ ${ZLIB_LIBRARIES}
+ ${PLIB_LIBRARIES})
+
+install(TARGETS fgviewer RUNTIME DESTINATION bin)