40 lines
1 KiB
CMake
40 lines
1 KiB
CMake
include (CheckFunctionExists)
|
|
|
|
set(ClockGettime_LIBRARIES "")
|
|
set(ClockGettime_FOUND 0)
|
|
mark_as_advanced(ClockGettime_LIBRARIES CLOCK_GETTIME_FOUND)
|
|
|
|
set(CMAKE_REQUIRED_LIBRARIES_orig "${CMAKE_REQUIRED_LIBRARIES}")
|
|
set(CMAKE_REQUIRED_LIBRARIES "")
|
|
|
|
check_function_exists(clock_gettime ClockGettime_LIBC)
|
|
if(ClockGettime_LIBC)
|
|
set(ClockGettime_LIBRARIES "")
|
|
set(ClockGettime_FOUND 1)
|
|
else()
|
|
set(CMAKE_REQUIRED_LIBRARIES rt)
|
|
check_function_exists(clock_gettime ClockGettime_LIBRT)
|
|
|
|
if(ClockGettime_LIBRT)
|
|
set(ClockGettime_LIBRARIES rt)
|
|
set(ClockGettime_FOUND 1)
|
|
else()
|
|
# mingw puts clock_gettime in pthreads
|
|
set(CMAKE_REQUIRED_LIBRARIES pthread)
|
|
check_function_exists(clock_gettime ClockGettime_LIBPTHREAD)
|
|
|
|
if(ClockGettime_LIBPTHREAD)
|
|
set(ClockGettime_LIBRARIES pthread)
|
|
set(ClockGettime_FOUND 1)
|
|
endif()
|
|
|
|
unset(ClockGettime_LIBPTHREAD)
|
|
endif()
|
|
|
|
unset(ClockGettime_LIBRT)
|
|
endif()
|
|
|
|
unset(ClockGettime_LIBC)
|
|
|
|
set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES_orig}")
|
|
unset(CMAKE_REQUIRED_LIBRARIES_orig)
|