]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
CMake: Check for clock_gettime() even on Windows.
authorLasse Collin <lasse.collin@tukaani.org>
Sat, 23 Sep 2023 00:06:36 +0000 (03:06 +0300)
committerLasse Collin <lasse.collin@tukaani.org>
Sun, 22 Oct 2023 15:59:45 +0000 (18:59 +0300)
This mirrors configure.ac although currently MinGW-w64 builds
don't use clock_gettime() even if it is found.

CMakeLists.txt

index 128e4a4794fefbcb2eea0cdce0e96ae8a278ba64..2d3dabec94221ababda475fb1ad44edddce0dade 100644 (file)
@@ -151,32 +151,30 @@ 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)
-    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.
-        # 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_LIBRT)
-
-        # 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()
+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.
+    # 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_LIBRT)
+
+    # 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 OR HAVE_CLOCK_GETTIME_LIBRT)
-        add_compile_definitions(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().
-        check_symbol_exists(CLOCK_MONOTONIC time.h HAVE_CLOCK_MONOTONIC)
-        tuklib_add_definition_if(ALL HAVE_CLOCK_MONOTONIC)
-    endif()
+    # Check if CLOCK_MONOTONIC is available for clock_gettime().
+    check_symbol_exists(CLOCK_MONOTONIC time.h HAVE_CLOCK_MONOTONIC)
+    tuklib_add_definition_if(ALL HAVE_CLOCK_MONOTONIC)
 endif()
 
 # Options for new enough GCC or Clang on any arch or operating system: