Merge branch 'next' of gitorious.org:fg/flightgear into next
This commit is contained in:
commit
f3cfddfd92
5 changed files with 93 additions and 70 deletions
|
@ -59,7 +59,17 @@ else(EVENT_INPUT)
|
||||||
endif(EVENT_INPUT)
|
endif(EVENT_INPUT)
|
||||||
|
|
||||||
# check required dependencies
|
# check required dependencies
|
||||||
find_package(Boost REQUIRED)
|
if (MSVC)
|
||||||
|
# on MSVC, Olaf reports that the serialization library is required at
|
||||||
|
# link time. No one has you explained why, unfortunately.
|
||||||
|
set(Boost_USE_STATIC_LIBS ON)
|
||||||
|
set(Boost_USE_MULTITHREADED ON)
|
||||||
|
set(Boost_USE_STATIC_RUNTIME OFF)
|
||||||
|
find_package(Boost REQUIRED COMPONENTS serialization)
|
||||||
|
else (MSVC)
|
||||||
|
find_package(Boost REQUIRED)
|
||||||
|
endif (MSVC)
|
||||||
|
|
||||||
find_package(ZLIB REQUIRED)
|
find_package(ZLIB REQUIRED)
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
find_package(OpenGL REQUIRED)
|
find_package(OpenGL REQUIRED)
|
||||||
|
@ -130,8 +140,8 @@ if(WIN32)
|
||||||
set(NOMINMAX 1)
|
set(NOMINMAX 1)
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS}")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS} -D_REENTRANT")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS}")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS} -D_REENTRANT")
|
||||||
|
|
||||||
include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS}
|
include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS}
|
||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
|
|
|
@ -62,59 +62,66 @@ FIND_LIBRARY(SIMGEAR_LIBRARIES
|
||||||
)
|
)
|
||||||
|
|
||||||
macro(find_sg_component comp libs)
|
macro(find_sg_component comp libs)
|
||||||
set(compLib "sg${comp}")
|
set(compLib "sg${comp}")
|
||||||
string(TOUPPER "SIMGEAR_${comp}_LIBRARY" compLibName)
|
string(TOUPPER "SIMGEAR_${comp}_LIBRARY" compLibName)
|
||||||
|
|
||||||
FIND_LIBRARY(${compLibName}
|
FIND_LIBRARY(${compLibName}
|
||||||
NAMES ${compLib}
|
NAMES ${compLib}
|
||||||
HINTS $ENV{SIMGEAR_DIR}
|
HINTS $ENV{SIMGEAR_DIR}
|
||||||
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
||||||
PATHS
|
PATHS
|
||||||
/usr/local
|
/usr/local
|
||||||
/usr
|
/usr
|
||||||
/opt
|
/opt
|
||||||
)
|
)
|
||||||
|
|
||||||
set(componentLib ${${compLibName}})
|
set(componentLib ${${compLibName}})
|
||||||
if (NOT ${componentLib} STREQUAL "componentLib-NOTFOUND")
|
if (NOT ${componentLib} STREQUAL "componentLib-NOTFOUND")
|
||||||
#message(STATUS "found ${componentLib}")
|
#message(STATUS "found ${componentLib}")
|
||||||
list(APPEND ${libs} ${componentLib})
|
list(APPEND ${libs} ${componentLib})
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
if(${SIMGEAR_LIBRARIES} STREQUAL "SIMGEAR_LIBRARIES-NOTFOUND")
|
|
||||||
set(SIMGEAR_LIBRARIES "") # clear value
|
if(${SIMGEAR_LIBRARIES} STREQUAL "SIMGEAR_LIBRARIES-NOTFOUND")
|
||||||
|
set(SIMGEAR_LIBRARIES "") # clear value
|
||||||
|
|
||||||
|
if(NOT MSVC)
|
||||||
|
# Olaf indicates that linking the threads libs causes failures
|
||||||
|
# on MSVC builds
|
||||||
|
set(thread_lib threads)
|
||||||
|
endif(NOT MSVC)
|
||||||
|
|
||||||
# note the order here affects the order Simgear libraries are
|
# note the order here affects the order Simgear libraries are
|
||||||
# linked in, and hence ability to link when using a traditional
|
# linked in, and hence ability to link when using a traditional
|
||||||
# linker such as GNU ld on Linux
|
# linker such as GNU ld on Linux
|
||||||
set(comps
|
set(comps
|
||||||
ephemeris
|
ephemeris
|
||||||
environment
|
environment
|
||||||
nasal
|
nasal
|
||||||
sky
|
sky
|
||||||
material tgdb
|
material tgdb
|
||||||
model
|
model
|
||||||
screen
|
screen
|
||||||
bucket
|
bucket
|
||||||
bvh
|
bvh
|
||||||
util route
|
util route
|
||||||
timing
|
timing
|
||||||
threads
|
${thread_lib}
|
||||||
io
|
io
|
||||||
serial
|
serial
|
||||||
sound
|
sound
|
||||||
structure
|
structure
|
||||||
props
|
props
|
||||||
xml
|
xml
|
||||||
debug
|
debug
|
||||||
misc
|
misc
|
||||||
magvar
|
magvar
|
||||||
math)
|
math)
|
||||||
|
|
||||||
foreach(component ${comps})
|
foreach(component ${comps})
|
||||||
find_sg_component(${component} SIMGEAR_LIBRARIES)
|
find_sg_component(${component} SIMGEAR_LIBRARIES)
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# now we've found SimGear, check its version
|
# now we've found SimGear, check its version
|
||||||
|
@ -132,30 +139,30 @@ check_cxx_source_runs(
|
||||||
#define xstr(s) str(s)
|
#define xstr(s) str(s)
|
||||||
#define str(s) #s
|
#define str(s) #s
|
||||||
|
|
||||||
#define MIN_MAJOR ${SimGear_FIND_VERSION_MAJOR}
|
#define MIN_MAJOR ${SimGear_FIND_VERSION_MAJOR}
|
||||||
#define MIN_MINOR ${SimGear_FIND_VERSION_MINOR}
|
#define MIN_MINOR ${SimGear_FIND_VERSION_MINOR}
|
||||||
#define MIN_MICRO ${SimGear_FIND_VERSION_PATCH}
|
#define MIN_MICRO ${SimGear_FIND_VERSION_PATCH}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int major, minor, micro;
|
int major, minor, micro;
|
||||||
|
|
||||||
/* printf(%d.%d.%d or greater, , MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
|
/* printf(%d.%d.%d or greater, , MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
|
||||||
printf(\"found %s ... \", xstr(SIMGEAR_VERSION));
|
printf(\"found %s ... \", xstr(SIMGEAR_VERSION));
|
||||||
|
|
||||||
sscanf( xstr(SIMGEAR_VERSION), \"%d.%d.%d\", &major, &minor, µ );
|
sscanf( xstr(SIMGEAR_VERSION), \"%d.%d.%d\", &major, &minor, µ );
|
||||||
|
|
||||||
if ( (major < MIN_MAJOR) ||
|
if ( (major < MIN_MAJOR) ||
|
||||||
(major == MIN_MAJOR && minor < MIN_MINOR) ||
|
(major == MIN_MAJOR && minor < MIN_MINOR) ||
|
||||||
(major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
|
(major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
SIMGEAR_VERSION_OK)
|
SIMGEAR_VERSION_OK)
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SimGear DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SimGear DEFAULT_MSG
|
||||||
SIMGEAR_LIBRARIES SIMGEAR_INCLUDE_DIR SIMGEAR_VERSION_OK)
|
SIMGEAR_LIBRARIES SIMGEAR_INCLUDE_DIR SIMGEAR_VERSION_OK)
|
||||||
|
|
||||||
|
|
|
@ -280,7 +280,7 @@ void MetarProperties::set_metar( const char * metar )
|
||||||
if( coverage != SGMetarCloud::COVERAGE_NIL ) {
|
if( coverage != SGMetarCloud::COVERAGE_NIL ) {
|
||||||
|
|
||||||
// if there is a layer above the fog, limit the top to one foot below that layer's bottom
|
// if there is a layer above the fog, limit the top to one foot below that layer's bottom
|
||||||
if( metarClouds[0].getCoverage() != SGMetarCloud::COVERAGE_CLEAR )
|
if( metarClouds.size() > 0 && metarClouds[0].getCoverage() != SGMetarCloud::COVERAGE_CLEAR )
|
||||||
thickness = metarClouds[0].getAltitude_ft() - LAYER_BOTTOM_STATION_OFFSET - 1;
|
thickness = metarClouds[0].getAltitude_ft() - LAYER_BOTTOM_STATION_OFFSET - 1;
|
||||||
|
|
||||||
SGPropertyNode_ptr layerNode = cloudsNode->getChild(LAYER, 0, true );
|
SGPropertyNode_ptr layerNode = cloudsNode->getChild(LAYER, 0, true );
|
||||||
|
|
|
@ -28,7 +28,12 @@ set(FGJS_SOURCES
|
||||||
|
|
||||||
add_executable(fgjs ${FGJS_SOURCES})
|
add_executable(fgjs ${FGJS_SOURCES})
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set(SOCKETS_LIBRARY wsock32.lib)
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
target_link_libraries(fgjs
|
target_link_libraries(fgjs
|
||||||
|
${SOCKETS_LIBRARY}
|
||||||
${SIMGEAR_LIBRARIES}
|
${SIMGEAR_LIBRARIES}
|
||||||
${PLIB_LIBRARIES}
|
${PLIB_LIBRARIES}
|
||||||
${ZLIB_LIBRARY})
|
${ZLIB_LIBRARY})
|
||||||
|
|
|
@ -39,6 +39,7 @@ target_link_libraries(fgfs
|
||||||
${ALUT_LIBRARY}
|
${ALUT_LIBRARY}
|
||||||
${ZLIB_LIBRARIES}
|
${ZLIB_LIBRARIES}
|
||||||
${PLIB_LIBRARIES}
|
${PLIB_LIBRARIES}
|
||||||
${RT_LIBRARY})
|
${RT_LIBRARY}
|
||||||
|
${Boost_SERIALIZATION_LIBRARY})
|
||||||
|
|
||||||
install(TARGETS fgfs RUNTIME DESTINATION bin)
|
install(TARGETS fgfs RUNTIME DESTINATION bin)
|
||||||
|
|
Loading…
Add table
Reference in a new issue