1
0
Fork 0

cmake changes for osg::CullSettings::ClearMask and Fedora

HAVE_CULLSETTINGS_CLEAR_MASK was not set, so a program to test
CLEAR_MASK was added. The Posix timer function clock_gettime is in
librt on Fedora, and probably on other systems too.
This commit is contained in:
Tim Moore 2010-12-26 00:44:02 +01:00
parent ded664e89e
commit 958a28b97f
3 changed files with 47 additions and 4 deletions

View file

@ -2,6 +2,8 @@ cmake_minimum_required (VERSION 2.6)
include (CheckFunctionExists)
include (CheckCSourceCompiles)
include (CheckCXXSourceCompiles)
include (CheckIncludeFile)
include (CPack)
project(FlightGear)
@ -67,7 +69,48 @@ find_package(OpenSceneGraph 2.8.2 REQUIRED osgText osgSim osgDB osgParticle osgF
find_package(PLIB REQUIRED puaux pu js fnt)
find_package(SimGear 2.0.0 REQUIRED)
find_path (HAVE_SYS_TIME_H sys/time.h )
check_include_file(unistd.h HAVE_UNISTD_H)
check_include_file(sys/time.h HAVE_SYS_TIME_H)
# definition depends on OSG version
set(CMAKE_REQUIRED_INCLUDES ${OPENSCENEGRAPH_INCLUDE_DIRS})
check_cxx_source_compiles(
"#include <osg/CullSettings>
int main()
{
osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;
return 0;
}
"
HAVE_CULLSETTINGS_CLEAR_MASK)
# library required by simgear
# XXX This should go in a module and only run if simgear is not shared.
if(HAVE_UNISTD_H)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_INCLUDE_PATH})
check_cxx_source_compiles(
"#include <unistd.h>
#if !defined(_POSIX_TIMERS) || (0 >= _POSIX_TIMERS)
#error clock_gettime is not supported
#endif
int main() { return 0; }
"
HAVE_CLOCK_GETTIME)
endif(HAVE_UNISTD_H)
set(RT_LIBRARY "")
if(HAVE_CLOCK_GETTIME)
check_function_exists(clock_gettime CLOCK_GETTIME_IN_LIBC)
if(NOT CLOCK_GETTIME_IN_LIBC)
check_library_exists(rt clock_gettime "" HAVE_RT)
if(HAVE_RT)
set(RT_LIBRARY rt)
endif(HAVE_RT)
endif(NOT CLOCK_GETTIME_IN_LIBC)
endif(HAVE_CLOCK_GETTIME)
if(CMAKE_COMPILER_IS_GNUCXX)
set(WARNING_FLAGS -Wall)

View file

@ -18,6 +18,7 @@
#define ENABLE_AUDIO_SUPPORT 1
#cmakedefine HAVE_SYS_TIME_H
#cmakedefine HAVE_CULLSETTINGS_CLEAR_MASK
#define VERSION "@FLIGHTGEAR_VERSION"

View file

@ -38,8 +38,7 @@ target_link_libraries(fgfs
${OPENGL_LIBRARIES}
${ALUT_LIBRARY}
${ZLIB_LIBRARIES}
${PLIB_LIBRARIES})
${PLIB_LIBRARIES}
${RT_LIBRARY})
install(TARGETS fgfs RUNTIME DESTINATION bin)