]> git.mxchange.org Git - flightgear.git/commitdiff
Initial work on CMake build files, with considerable help from Olaf Flebbe.
authorJames Turner <zakalawe@mac.com>
Tue, 30 Nov 2010 10:08:30 +0000 (10:08 +0000)
committerJames Turner <zakalawe@mac.com>
Sun, 19 Dec 2010 15:06:04 +0000 (15:06 +0000)
35 files changed:
CMakeLists.txt [new file with mode: 0644]
CMakeModules/FindALUT.cmake [new file with mode: 0644]
CMakeModules/FindPLIB.cmake [new file with mode: 0644]
CMakeModules/FindSimGear.cmake [new file with mode: 0644]
CMakeModules/FindSvnClient.cmake [new file with mode: 0644]
CMakeModules/FlightGearComponent.cmake [new file with mode: 0644]
src/AIModel/CMakeLists.txt [new file with mode: 0644]
src/ATC/CMakeLists.txt [new file with mode: 0644]
src/Aircraft/CMakeLists.txt [new file with mode: 0644]
src/Airports/CMakeLists.txt [new file with mode: 0644]
src/Autopilot/CMakeLists.txt [new file with mode: 0644]
src/CMakeLists.txt [new file with mode: 0644]
src/Cockpit/CMakeLists.txt [new file with mode: 0644]
src/Environment/CMakeLists.txt [new file with mode: 0644]
src/FDM/CMakeLists.txt [new file with mode: 0644]
src/FDM/JSBSim/CMakeLists.txt [new file with mode: 0644]
src/FDM/YASim/CMakeLists.txt [new file with mode: 0644]
src/GUI/CMakeLists.txt [new file with mode: 0644]
src/Include/config_cmake.h.in [new file with mode: 0644]
src/Input/CMakeLists.txt [new file with mode: 0644]
src/Instrumentation/CMakeLists.txt [new file with mode: 0644]
src/Main/CMakeLists.txt [new file with mode: 0644]
src/Model/CMakeLists.txt [new file with mode: 0644]
src/MultiPlayer/CMakeLists.txt [new file with mode: 0644]
src/Navaids/CMakeLists.txt [new file with mode: 0644]
src/Network/CMakeLists.txt [new file with mode: 0644]
src/Scenery/CMakeLists.txt [new file with mode: 0644]
src/Scripting/CMakeLists.txt [new file with mode: 0644]
src/Sound/CMakeLists.txt [new file with mode: 0644]
src/Systems/CMakeLists.txt [new file with mode: 0644]
src/Time/CMakeLists.txt [new file with mode: 0644]
src/Traffic/CMakeLists.txt [new file with mode: 0644]
utils/CMakeLists.txt [new file with mode: 0644]
utils/TerraSync/CMakeLists.txt [new file with mode: 0644]
utils/fgviewer/CMakeLists.txt [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1d924e3
--- /dev/null
@@ -0,0 +1,114 @@
+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)
diff --git a/CMakeModules/FindALUT.cmake b/CMakeModules/FindALUT.cmake
new file mode 100644 (file)
index 0000000..08d920b
--- /dev/null
@@ -0,0 +1,67 @@
+# 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)
+
diff --git a/CMakeModules/FindPLIB.cmake b/CMakeModules/FindPLIB.cmake
new file mode 100644 (file)
index 0000000..5fadcaf
--- /dev/null
@@ -0,0 +1,144 @@
+# 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)
+
diff --git a/CMakeModules/FindSimGear.cmake b/CMakeModules/FindSimGear.cmake
new file mode 100644 (file)
index 0000000..3d833b4
--- /dev/null
@@ -0,0 +1,161 @@
+# 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, &micro );
+
+           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)
+
diff --git a/CMakeModules/FindSvnClient.cmake b/CMakeModules/FindSvnClient.cmake
new file mode 100644 (file)
index 0000000..383ef6f
--- /dev/null
@@ -0,0 +1,3 @@
+# Find Subversion client libraries, and dependencies
+# including APR (Apache Portable Runtime)
+
diff --git a/CMakeModules/FlightGearComponent.cmake b/CMakeModules/FlightGearComponent.cmake
new file mode 100644 (file)
index 0000000..7de5743
--- /dev/null
@@ -0,0 +1,9 @@
+
+macro(flightgear_component name sources)
+
+       set(libName "fg${name}")
+       add_library(${libName} STATIC ${sources} )
+
+       set_property(GLOBAL APPEND PROPERTY FG_LIBS ${libName})
+    
+endmacro()
diff --git a/src/AIModel/CMakeLists.txt b/src/AIModel/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8cc8f74
--- /dev/null
@@ -0,0 +1,28 @@
+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
diff --git a/src/ATC/CMakeLists.txt b/src/ATC/CMakeLists.txt
new file mode 100644 (file)
index 0000000..43cb8d3
--- /dev/null
@@ -0,0 +1,9 @@
+include(FlightGearComponent)
+
+set(SOURCES
+       atcutils.cxx
+       atis.cxx
+       trafficcontrol.cxx
+       )
+       
+flightgear_component(ATC "${SOURCES}")
\ No newline at end of file
diff --git a/src/Aircraft/CMakeLists.txt b/src/Aircraft/CMakeLists.txt
new file mode 100644 (file)
index 0000000..da519fb
--- /dev/null
@@ -0,0 +1,8 @@
+include(FlightGearComponent)
+
+set(SOURCES
+       controls.cxx
+       replay.cxx
+       )
+       
+flightgear_component(Aircraft "${SOURCES}")
\ No newline at end of file
diff --git a/src/Airports/CMakeLists.txt b/src/Airports/CMakeLists.txt
new file mode 100644 (file)
index 0000000..5be24c7
--- /dev/null
@@ -0,0 +1,21 @@
+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
diff --git a/src/Autopilot/CMakeLists.txt b/src/Autopilot/CMakeLists.txt
new file mode 100644 (file)
index 0000000..23f297d
--- /dev/null
@@ -0,0 +1,19 @@
+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
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f7613b6
--- /dev/null
@@ -0,0 +1,33 @@
+
+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 )
+
diff --git a/src/Cockpit/CMakeLists.txt b/src/Cockpit/CMakeLists.txt
new file mode 100644 (file)
index 0000000..a9a070d
--- /dev/null
@@ -0,0 +1,9 @@
+include(FlightGearComponent)
+
+set(SOURCES
+       panel.cxx
+       panel_io.cxx
+       built_in/FGMagRibbon.cxx
+       )
+       
+flightgear_component(Cockpit "${SOURCES}")
\ No newline at end of file
diff --git a/src/Environment/CMakeLists.txt b/src/Environment/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8d9c64d
--- /dev/null
@@ -0,0 +1,20 @@
+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
diff --git a/src/FDM/CMakeLists.txt b/src/FDM/CMakeLists.txt
new file mode 100644 (file)
index 0000000..3dd1225
--- /dev/null
@@ -0,0 +1,163 @@
+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()
+
diff --git a/src/FDM/JSBSim/CMakeLists.txt b/src/FDM/JSBSim/CMakeLists.txt
new file mode 100644 (file)
index 0000000..afc377d
--- /dev/null
@@ -0,0 +1,79 @@
+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}")
diff --git a/src/FDM/YASim/CMakeLists.txt b/src/FDM/YASim/CMakeLists.txt
new file mode 100644 (file)
index 0000000..2118993
--- /dev/null
@@ -0,0 +1,45 @@
+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)
+       
+
diff --git a/src/GUI/CMakeLists.txt b/src/GUI/CMakeLists.txt
new file mode 100644 (file)
index 0000000..706219c
--- /dev/null
@@ -0,0 +1,19 @@
+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}")
diff --git a/src/Include/config_cmake.h.in b/src/Include/config_cmake.h.in
new file mode 100644 (file)
index 0000000..e9589fb
--- /dev/null
@@ -0,0 +1,29 @@
+
+
+#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"
diff --git a/src/Input/CMakeLists.txt b/src/Input/CMakeLists.txt
new file mode 100644 (file)
index 0000000..fcf1548
--- /dev/null
@@ -0,0 +1,45 @@
+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)
diff --git a/src/Instrumentation/CMakeLists.txt b/src/Instrumentation/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0481fbe
--- /dev/null
@@ -0,0 +1,67 @@
+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
diff --git a/src/Main/CMakeLists.txt b/src/Main/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0f791dc
--- /dev/null
@@ -0,0 +1,45 @@
+
+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
diff --git a/src/Model/CMakeLists.txt b/src/Model/CMakeLists.txt
new file mode 100644 (file)
index 0000000..abfbee5
--- /dev/null
@@ -0,0 +1,10 @@
+include(FlightGearComponent)
+
+set(SOURCES
+       acmodel.cxx
+       model_panel.cxx
+       modelmgr.cxx
+       panelnode.cxx
+       )
+       
+flightgear_component(Model "${SOURCES}")
\ No newline at end of file
diff --git a/src/MultiPlayer/CMakeLists.txt b/src/MultiPlayer/CMakeLists.txt
new file mode 100644 (file)
index 0000000..3b2f42f
--- /dev/null
@@ -0,0 +1,8 @@
+include(FlightGearComponent)
+
+set(SOURCES
+       multiplaymgr.cxx
+       tiny_xdr.cxx
+       )
+
+flightgear_component(MultiPlayer "${SOURCES}")
\ No newline at end of file
diff --git a/src/Navaids/CMakeLists.txt b/src/Navaids/CMakeLists.txt
new file mode 100644 (file)
index 0000000..cf8ce4a
--- /dev/null
@@ -0,0 +1,18 @@
+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
diff --git a/src/Network/CMakeLists.txt b/src/Network/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c74044e
--- /dev/null
@@ -0,0 +1,32 @@
+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}")
+
diff --git a/src/Scenery/CMakeLists.txt b/src/Scenery/CMakeLists.txt
new file mode 100644 (file)
index 0000000..162ab19
--- /dev/null
@@ -0,0 +1,11 @@
+include(FlightGearComponent)
+
+set(SOURCES
+       SceneryPager.cxx
+       redout.cxx
+       scenery.cxx
+       tilemgr.cxx
+       )
+       
+flightgear_component(Scenery "${SOURCES}")
+
diff --git a/src/Scripting/CMakeLists.txt b/src/Scripting/CMakeLists.txt
new file mode 100644 (file)
index 0000000..42f0dcf
--- /dev/null
@@ -0,0 +1,9 @@
+include(FlightGearComponent)
+
+set(SOURCES
+       NasalSys.cxx
+       nasal-props.cxx
+       )
+       
+flightgear_component(Scripting "${SOURCES}")
+
diff --git a/src/Sound/CMakeLists.txt b/src/Sound/CMakeLists.txt
new file mode 100644 (file)
index 0000000..5d498c2
--- /dev/null
@@ -0,0 +1,11 @@
+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
diff --git a/src/Systems/CMakeLists.txt b/src/Systems/CMakeLists.txt
new file mode 100644 (file)
index 0000000..dde27f2
--- /dev/null
@@ -0,0 +1,11 @@
+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
diff --git a/src/Time/CMakeLists.txt b/src/Time/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f50c7a7
--- /dev/null
@@ -0,0 +1,9 @@
+include(FlightGearComponent)
+
+set(SOURCES
+       TimeManager.cxx
+       light.cxx
+       sunsolver.cxx
+       )
+       
+flightgear_component(Time "${SOURCES}")
\ No newline at end of file
diff --git a/src/Traffic/CMakeLists.txt b/src/Traffic/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6b6bfc8
--- /dev/null
@@ -0,0 +1,9 @@
+include(FlightGearComponent)
+
+set(SOURCES
+       SchedFlight.cxx
+       Schedule.cxx
+       TrafficMgr.cxx
+       )
+       
+flightgear_component(Traffic "${SOURCES}")
\ No newline at end of file
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f7fad8a
--- /dev/null
@@ -0,0 +1,3 @@
+add_subdirectory(TerraSync)
+add_subdirectory(fgviewer)
+
diff --git a/utils/TerraSync/CMakeLists.txt b/utils/TerraSync/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ae3af2f
--- /dev/null
@@ -0,0 +1,15 @@
+
+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)
diff --git a/utils/fgviewer/CMakeLists.txt b/utils/fgviewer/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f665478
--- /dev/null
@@ -0,0 +1,11 @@
+
+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)