Initial work on CMake build files, with considerable help from Olaf Flebbe.
This commit is contained in:
parent
c396fae4a7
commit
a91ec5f9f9
35 changed files with 1294 additions and 0 deletions
114
CMakeLists.txt
Normal file
114
CMakeLists.txt
Normal file
|
@ -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)
|
67
CMakeModules/FindALUT.cmake
Normal file
67
CMakeModules/FindALUT.cmake
Normal file
|
@ -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)
|
||||||
|
|
144
CMakeModules/FindPLIB.cmake
Normal file
144
CMakeModules/FindPLIB.cmake
Normal file
|
@ -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)
|
||||||
|
|
161
CMakeModules/FindSimGear.cmake
Normal file
161
CMakeModules/FindSimGear.cmake
Normal file
|
@ -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, µ );
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
3
CMakeModules/FindSvnClient.cmake
Normal file
3
CMakeModules/FindSvnClient.cmake
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# Find Subversion client libraries, and dependencies
|
||||||
|
# including APR (Apache Portable Runtime)
|
||||||
|
|
9
CMakeModules/FlightGearComponent.cmake
Normal file
9
CMakeModules/FlightGearComponent.cmake
Normal file
|
@ -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()
|
28
src/AIModel/CMakeLists.txt
Normal file
28
src/AIModel/CMakeLists.txt
Normal file
|
@ -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}")
|
||||||
|
|
9
src/ATC/CMakeLists.txt
Normal file
9
src/ATC/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
atcutils.cxx
|
||||||
|
atis.cxx
|
||||||
|
trafficcontrol.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(ATC "${SOURCES}")
|
8
src/Aircraft/CMakeLists.txt
Normal file
8
src/Aircraft/CMakeLists.txt
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
controls.cxx
|
||||||
|
replay.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(Aircraft "${SOURCES}")
|
21
src/Airports/CMakeLists.txt
Normal file
21
src/Airports/CMakeLists.txt
Normal file
|
@ -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}")
|
19
src/Autopilot/CMakeLists.txt
Normal file
19
src/Autopilot/CMakeLists.txt
Normal file
|
@ -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}")
|
33
src/CMakeLists.txt
Normal file
33
src/CMakeLists.txt
Normal file
|
@ -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 )
|
||||||
|
|
9
src/Cockpit/CMakeLists.txt
Normal file
9
src/Cockpit/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
panel.cxx
|
||||||
|
panel_io.cxx
|
||||||
|
built_in/FGMagRibbon.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(Cockpit "${SOURCES}")
|
20
src/Environment/CMakeLists.txt
Normal file
20
src/Environment/CMakeLists.txt
Normal file
|
@ -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}")
|
163
src/FDM/CMakeLists.txt
Normal file
163
src/FDM/CMakeLists.txt
Normal file
|
@ -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()
|
||||||
|
|
79
src/FDM/JSBSim/CMakeLists.txt
Normal file
79
src/FDM/JSBSim/CMakeLists.txt
Normal file
|
@ -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}")
|
45
src/FDM/YASim/CMakeLists.txt
Normal file
45
src/FDM/YASim/CMakeLists.txt
Normal file
|
@ -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)
|
||||||
|
|
||||||
|
|
19
src/GUI/CMakeLists.txt
Normal file
19
src/GUI/CMakeLists.txt
Normal file
|
@ -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}")
|
29
src/Include/config_cmake.h.in
Normal file
29
src/Include/config_cmake.h.in
Normal file
|
@ -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"
|
45
src/Input/CMakeLists.txt
Normal file
45
src/Input/CMakeLists.txt
Normal file
|
@ -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)
|
67
src/Instrumentation/CMakeLists.txt
Normal file
67
src/Instrumentation/CMakeLists.txt
Normal file
|
@ -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}")
|
45
src/Main/CMakeLists.txt
Normal file
45
src/Main/CMakeLists.txt
Normal file
|
@ -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)
|
||||||
|
|
||||||
|
|
10
src/Model/CMakeLists.txt
Normal file
10
src/Model/CMakeLists.txt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
acmodel.cxx
|
||||||
|
model_panel.cxx
|
||||||
|
modelmgr.cxx
|
||||||
|
panelnode.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(Model "${SOURCES}")
|
8
src/MultiPlayer/CMakeLists.txt
Normal file
8
src/MultiPlayer/CMakeLists.txt
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
multiplaymgr.cxx
|
||||||
|
tiny_xdr.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(MultiPlayer "${SOURCES}")
|
18
src/Navaids/CMakeLists.txt
Normal file
18
src/Navaids/CMakeLists.txt
Normal file
|
@ -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}")
|
32
src/Network/CMakeLists.txt
Normal file
32
src/Network/CMakeLists.txt
Normal file
|
@ -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}")
|
||||||
|
|
11
src/Scenery/CMakeLists.txt
Normal file
11
src/Scenery/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
SceneryPager.cxx
|
||||||
|
redout.cxx
|
||||||
|
scenery.cxx
|
||||||
|
tilemgr.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(Scenery "${SOURCES}")
|
||||||
|
|
9
src/Scripting/CMakeLists.txt
Normal file
9
src/Scripting/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
NasalSys.cxx
|
||||||
|
nasal-props.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(Scripting "${SOURCES}")
|
||||||
|
|
11
src/Sound/CMakeLists.txt
Normal file
11
src/Sound/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
beacon.cxx
|
||||||
|
fg_fx.cxx
|
||||||
|
morse.cxx
|
||||||
|
sample_queue.cxx
|
||||||
|
voice.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(Sound "${SOURCES}")
|
11
src/Systems/CMakeLists.txt
Normal file
11
src/Systems/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
electrical.cxx
|
||||||
|
pitot.cxx
|
||||||
|
static.cxx
|
||||||
|
system_mgr.cxx
|
||||||
|
vacuum.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(Systems "${SOURCES}")
|
9
src/Time/CMakeLists.txt
Normal file
9
src/Time/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
TimeManager.cxx
|
||||||
|
light.cxx
|
||||||
|
sunsolver.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(Time "${SOURCES}")
|
9
src/Traffic/CMakeLists.txt
Normal file
9
src/Traffic/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
include(FlightGearComponent)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
SchedFlight.cxx
|
||||||
|
Schedule.cxx
|
||||||
|
TrafficMgr.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
flightgear_component(Traffic "${SOURCES}")
|
3
utils/CMakeLists.txt
Normal file
3
utils/CMakeLists.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
add_subdirectory(TerraSync)
|
||||||
|
add_subdirectory(fgviewer)
|
||||||
|
|
15
utils/TerraSync/CMakeLists.txt
Normal file
15
utils/TerraSync/CMakeLists.txt
Normal file
|
@ -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)
|
11
utils/fgviewer/CMakeLists.txt
Normal file
11
utils/fgviewer/CMakeLists.txt
Normal file
|
@ -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)
|
Loading…
Add table
Reference in a new issue