+find_package(PLIB REQUIRED puaux pu js fnt)
+find_package(SimGear 2.2.0 REQUIRED)
+
+check_include_file(unistd.h HAVE_UNISTD_H)
+check_include_file(sys/time.h HAVE_SYS_TIME_H)
+check_include_file(windows.h HAVE_WINDOWS_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)
+
+find_package(RTI)
+if(RTI_FOUND)
+ set(FG_HAVE_HLA 1)
+endif()