From 4a65a237067c9f56c2debedf495c40524c1b1a8a Mon Sep 17 00:00:00 2001 From: James Turner Date: Tue, 19 Jul 2011 13:53:13 +0100 Subject: [PATCH] test linkage needs librt on Linux. Need to tidy this up on the FG side. --- CMakeLists.txt | 25 +++++++++++++++++++++++++ simgear/io/CMakeLists.txt | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 73bfdb51..517d87df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,6 +92,31 @@ check_function_exists(ftime HAVE_FTIME) check_function_exists(timegm HAVE_TIMEGM) check_function_exists(rint HAVE_RINT) + +if(HAVE_UNISTD_H) + set(CMAKE_REQUIRED_INCLUDES ${CMAKE_INCLUDE_PATH}) + check_cxx_source_compiles( + "#include + #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) + SET(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "add a postfix, usually d on windows") SET(CMAKE_RELEASE_POSTFIX "" CACHE STRING "add a postfix, usually empty on windows") SET(CMAKE_RELWITHDEBINFO_POSTFIX "rd" CACHE STRING "add a postfix, usually empty on windows") diff --git a/simgear/io/CMakeLists.txt b/simgear/io/CMakeLists.txt index 1d4600f6..fe0eb6f1 100644 --- a/simgear/io/CMakeLists.txt +++ b/simgear/io/CMakeLists.txt @@ -40,5 +40,7 @@ add_executable(test_sock socktest.cxx) target_link_libraries(test_sock sgio sgstructure sgdebug) add_executable(test_http test_HTTP.cxx) -target_link_libraries(test_http sgio sgstructure sgtiming sgmisc sgdebug) +target_link_libraries(test_http + sgio sgstructure sgtiming sgmisc sgdebug + ${RT_LIBRARY}) -- 2.39.5