mirror of
https://git.tukaani.org/xz.git
synced 2024-04-04 12:36:23 +02:00
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.
This commit is contained in:
parent
d5275d83bd
commit
a70e96d2da
1 changed files with 10 additions and 8 deletions
|
@ -150,24 +150,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)
|
||||||
add_compile_definitions(HAVE_CLOCK_GETTIME)
|
add_compile_definitions(HAVE_CLOCK_GETTIME)
|
||||||
|
|
||||||
# Check if CLOCK_MONOTONIC is available for clock_gettime().
|
# Check if CLOCK_MONOTONIC is available for clock_gettime().
|
||||||
|
|
Loading…
Reference in a new issue