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
|
||||
# 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)
|
||||
# Check if CLOCK_MONOTONIC is available for clock_gettime().
|
||||
check_symbol_exists(CLOCK_MONOTONIC time.h HAVE_DECL_CLOCK_MONOTONIC)
|
||||
|
||||
|
|
Loading…
Reference in New Issue