mirror of https://git.tukaani.org/xz.git
CMake: Fix time.h checks not running on second CMake run.
If CMake was configured more than once, HAVE_CLOCK_GETTIME and
HAVE_CLOCK_MONOTONIC would not be set as compile definitions. The check
for librt being needed to provide HAVE_CLOCK_GETTIME was also
simplified.
(cherry picked from commit a70e96d2da
)
This commit is contained in:
parent
df8daea282
commit
ba791978d5
|
@ -167,24 +167,26 @@ tuklib_integer(ALL)
|
||||||
|
|
||||||
# Check for clock_gettime(). Do this before checking for threading so
|
# Check for clock_gettime(). Do this before checking for threading so
|
||||||
# that we know there if CLOCK_MONOTONIC is available.
|
# 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)
|
check_symbol_exists(clock_gettime time.h HAVE_CLOCK_GETTIME)
|
||||||
|
|
||||||
if(NOT HAVE_CLOCK_GETTIME)
|
if(NOT HAVE_CLOCK_GETTIME)
|
||||||
# With glibc <= 2.17 or Solaris 10 this needs librt.
|
# 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)
|
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
|
# If it was found now, add librt to all targets and keep it in
|
||||||
# in CMAKE_REQUIRED_LIBRARIES for further tests too.
|
# CMAKE_REQUIRED_LIBRARIES for further tests too.
|
||||||
if(HAVE_CLOCK_GETTIME)
|
if(HAVE_CLOCK_GETTIME_LIBRT)
|
||||||
link_libraries(rt)
|
link_libraries(rt)
|
||||||
else()
|
else()
|
||||||
list(REMOVE_AT CMAKE_REQUIRED_LIBRARIES 0)
|
list(REMOVE_AT CMAKE_REQUIRED_LIBRARIES 0)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(HAVE_CLOCK_GETTIME)
|
|
||||||
|
if(HAVE_CLOCK_GETTIME OR HAVE_CLOCK_GETTIME_LIBRT)
|
||||||
# Check if CLOCK_MONOTONIC is available for clock_gettime().
|
# Check if CLOCK_MONOTONIC is available for clock_gettime().
|
||||||
check_symbol_exists(CLOCK_MONOTONIC time.h HAVE_DECL_CLOCK_MONOTONIC)
|
check_symbol_exists(CLOCK_MONOTONIC time.h HAVE_DECL_CLOCK_MONOTONIC)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue