"
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(ENABLE_RTI)
find_package(RTI)
if(RTI_FOUND)
endif(MSVC)
set(NOMINMAX 1)
- set( WINSOCK_LIBRARY "ws2_32.lib" )
endif(WIN32)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS} -D_REENTRANT")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MSVC_LD_FLAGS}")
include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS}
- ${Boost_INCLUDE_DIRS}
+ ${Boost_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIR}
- ${ALUT_INCLUDE_DIR}
+ ${ALUT_INCLUDE_DIR}
${OPENAL_INCLUDE_DIR}
${SIMGEAR_INCLUDE_DIR}
${PLIB_INCLUDE_DIR} )
/opt
)
+# dependent packages
+find_package(ZLIB REQUIRED)
+find_package(Threads REQUIRED)
+
macro(find_sg_component comp libs)
set(compLib "sg${comp}")
string(TOUPPER "SIMGEAR_${comp}" compLibBase)
foreach(component ${scene_comps})
find_sg_component(${component} SIMGEAR_LIBRARIES)
endforeach()
-
+
# again link order matters - scene libraires depend on core ones
list(APPEND SIMGEAR_LIBRARIES ${SIMGEAR_CORE_LIBRARIES})
+
+ set(SIMGEAR_CORE_LIBRARY_DEPENDENCIES
+ ${CMAKE_THREAD_LIBS_INIT}
+ ${ZLIB_LIBRARY})
+
+ if(WIN32)
+ list(APPEND SIMGEAR_CORE_LIBRARY_DEPENDENCIES ${WINSOCK_LIBRARY})
+ endif(WIN32)
+
+ if(NOT MSVC)
+ # basic timing routines on non windows systems, may be also cygwin?!
+ 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)
+ list(APPEND SIMGEAR_CORE_LIBRARY_DEPENDENCIES rt)
+ endif(have_rt)
+ endif(NOT clock_gettime_in_libc)
+ endif(NOT MSVC)
+
endif()
# now we've found SimGear, check its version
target_link_libraries(yasim
fgYASim
${SIMGEAR_CORE_LIBRARIES}
- ${ZLIB_LIBRARIES})
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES})
install(TARGETS yasim RUNTIME DESTINATION bin)
add_executable(fgjs ${FGJS_SOURCES})
-if(WIN32)
- set(SOCKETS_LIBRARY wsock32.lib)
-endif(WIN32)
-
target_link_libraries(fgjs
${SIMGEAR_CORE_LIBRARIES}
- ${SOCKETS_LIBRARY}
- ${PLIB_LIBRARIES}
- ${ZLIB_LIBRARY})
+ ${PLIB_LIBRARIES}
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES})
add_executable(js_demo js_demo.cxx)
target_link_libraries(js_demo
${SIMGEAR_CORE_LIBRARIES}
${PLIB_LIBRARIES}
- ${ZLIB_LIBRARY})
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES})
flightgear_component(Input "${SOURCES}")
target_link_libraries(fgfs
${FG_LIBS}
- ${HLA_LIBRARIES}
${SIMGEAR_LIBRARIES}
${OPENSCENEGRAPH_LIBRARIES}
${OPENAL_LIBRARY}
${OPENGL_LIBRARIES}
${ALUT_LIBRARY}
- ${ZLIB_LIBRARIES}
${PLIB_LIBRARIES}
${LIBSVN_LIBRARIES}
- ${WINSOCK_LIBRARY}
- ${RT_LIBRARY})
+ ${HLA_LIBRARIES}
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
+)
install(TARGETS fgfs RUNTIME DESTINATION bin)
${SIMGEAR_CORE_LIBRARIES}
${PLIB_SG_LIBRARY}
${PLIB_UL_LIBRARY}
- ${ZLIB_LIBRARIES}
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
${WINMM_LIBRARY}
- ${WINSOCK_LIBRARY}
- ${ZLIB_LIBRARIES}
- ${RT_LIBRARY}
)
target_link_libraries(MIDGsmooth
${PLIB_SG_LIBRARY}
${PLIB_UL_LIBRARY}
${WINMM_LIBRARY}
- ${WINSOCK_LIBRARY}
- ${RT_LIBRARY}
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
)
target_link_libraries(UGsmooth
${PLIB_SG_LIBRARY}
${PLIB_UL_LIBRARY}
${WINMM_LIBRARY}
- ${WINSOCK_LIBRARY}
- ${ZLIB_LIBRARIES}
- ${RT_LIBRARY}
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
)
install(TARGETS GPSsmooth MIDGsmooth UGsmooth RUNTIME DESTINATION bin)
target_link_libraries(terrasync
${SIMGEAR_CORE_LIBRARIES}
- ${ZLIB_LIBRARIES}
- ${WINSOCK_LIBRARY}
- ${RT_LIBRARY})
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
+)
if(LIBSVN_FOUND)
target_link_libraries(terrasync ${LIBSVN_LIBRARIES})
target_link_libraries(fgadmin FGAdminUI
${SIMGEAR_LIBRARIES}
- ${ZLIB_LIBRARIES}
${PLIB_LIBRARIES}
${FLTK_LIBRARIES}
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
)
install(TARGETS fgadmin RUNTIME DESTINATION bin)
${GLUT_LIBRARIES}
${SIMGEAR_CORE_LIBRARIES}
${OPENGL_LIBRARIES}
- ${ZLIB_LIBRARIES}
${PLIB_LIBRARIES}
- ${WINSOCK_LIBRARY}
- ${RT_LIBRARY}
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
)
install(TARGETS fgpanel RUNTIME DESTINATION bin)
${SIMGEAR_LIBRARIES}
${OPENSCENEGRAPH_LIBRARIES}
${OPENGL_LIBRARIES}
- ${ZLIB_LIBRARIES}
${PLIB_LIBRARIES}
- ${RT_LIBRARY})
+ ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
+)
install(TARGETS fgviewer RUNTIME DESTINATION bin)