aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt18
1 files changed, 10 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 63dd59f7..8ecccde0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -150,24 +150,26 @@ tuklib_integer(ALL)
# Check for clock_gettime(). Do this before checking for threading so
# that we know there if CLOCK_MONOTONIC is available.
-if(NOT WIN32 AND NOT DEFINED HAVE_CLOCK_GETTIME)
+if(NOT WIN32)
check_symbol_exists(clock_gettime time.h HAVE_CLOCK_GETTIME)
+
if(NOT HAVE_CLOCK_GETTIME)
# With glibc <= 2.17 or Solaris 10 this needs librt.
- unset(HAVE_CLOCK_GETTIME CACHE)
-
+ # Add librt for the next check for HAVE_CLOCK_GETTIME. If it is
+ # found after including the library, we know that librt is required.
list(INSERT CMAKE_REQUIRED_LIBRARIES 0 rt)
- check_symbol_exists(clock_gettime time.h HAVE_CLOCK_GETTIME)
+ check_symbol_exists(clock_gettime time.h HAVE_CLOCK_GETTIME_LIBRT)
- # If it was found now, add it to all targets and keep it
- # in CMAKE_REQUIRED_LIBRARIES for further tests too.
- if(HAVE_CLOCK_GETTIME)
+ # If it was found now, add librt to all targets and keep it in
+ # CMAKE_REQUIRED_LIBRARIES for further tests too.
+ if(HAVE_CLOCK_GETTIME_LIBRT)
link_libraries(rt)
else()
list(REMOVE_AT CMAKE_REQUIRED_LIBRARIES 0)
endif()
endif()
- if(HAVE_CLOCK_GETTIME)
+
+ if(HAVE_CLOCK_GETTIME OR HAVE_CLOCK_GETTIME_LIBRT)
add_compile_definitions(HAVE_CLOCK_GETTIME)
# Check if CLOCK_MONOTONIC is available for clock_gettime().