include(CheckIncludeFile)
include(CheckIncludeFileCXX)
include(CheckSymbolExists)
+include(CheckLibraryExists)
# Check whether "long" and "int64_t" are distinct types w.r.t. overloading.
# Even if they have the same size, they can be distinct, and some platforms
endif()
else()
check_symbol_exists(clock_gettime "time.h" HAVE_CLOCK_GETTIME)
+ if(NOT HAVE_CLOCK_GETTIME)
+ unset(HAVE_CLOCK_GETTIME CACHE)
+ check_library_exists(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME)
+ find_library(RT_LIBRARIES NAMES rt)
+ endif()
endif()
check_symbol_exists(ffs "strings.h" HAVE_FFS)
check_symbol_exists(optreset "getopt.h" HAVE_DECL_OPTRESET)
target_link_libraries(cvc4 ${GMP_LIBRARIES})
target_include_directories(cvc4 PUBLIC ${GMP_INCLUDE_DIR})
+# Add rt library
+# Note: For glibc < 2.17 we have to additionally link against rt (man clock_gettime).
+# RT_LIBRARIES should be empty for glibc >= 2.17
+target_link_libraries(cvc4 ${RT_LIBRARIES})
+
#-----------------------------------------------------------------------------#
# Visit main subdirectory after creating target cvc4. For target main, we have
# to manually add library dependencies since we can't use