mirror of
https://github.com/libgit2/libgit2.git
synced 2026-06-22 06:26:26 +00:00
cmake: extended futimens checking on macOS
This commit is contained in:
@@ -27,6 +27,7 @@ INCLUDE(AddCFlagIfSupported)
|
||||
INCLUDE(FindPkgLibraries)
|
||||
INCLUDE(FindThreads)
|
||||
INCLUDE(FindStatNsec)
|
||||
INCLUDE(Findfutimens)
|
||||
INCLUDE(GNUInstallDirs)
|
||||
INCLUDE(IdeSplitSources)
|
||||
INCLUDE(FeatureSummary)
|
||||
|
||||
14
cmake/Findfutimens.cmake
Normal file
14
cmake/Findfutimens.cmake
Normal file
@@ -0,0 +1,14 @@
|
||||
INCLUDE(EnableWarnings)
|
||||
|
||||
IF (APPLE)
|
||||
# We cannot simply CHECK_FUNCTION_EXISTS on macOS because
|
||||
# MACOSX_DEPLOYMENT_TARGET may be set to a version in the past
|
||||
# that doesn't have futimens. Instead we need to enable warnings
|
||||
# as errors, then check for the symbol existing in `sys/stat.h`,
|
||||
# then reset warnings as errors.
|
||||
ENABLE_WARNINGS(error)
|
||||
CHECK_SYMBOL_EXISTS(futimens sys/stat.h HAVE_FUTIMENS)
|
||||
DISABLE_WARNINGS(error)
|
||||
ELSE ()
|
||||
CHECK_FUNCTION_EXISTS(futimens HAVE_FUTIMENS)
|
||||
ENDIF ()
|
||||
@@ -38,10 +38,10 @@ IF(ENABLE_TRACE)
|
||||
ENDIF()
|
||||
ADD_FEATURE_INFO(tracing GIT_TRACE "tracing support")
|
||||
|
||||
CHECK_FUNCTION_EXISTS(futimens HAVE_FUTIMENS)
|
||||
IF (HAVE_FUTIMENS)
|
||||
SET(GIT_USE_FUTIMENS 1)
|
||||
ENDIF ()
|
||||
ADD_FEATURE_INFO(futimens GIT_USE_FUTIMENS "futimens support")
|
||||
|
||||
CHECK_PROTOTYPE_DEFINITION(qsort_r
|
||||
"void qsort_r(void *base, size_t nmemb, size_t size, void *thunk, int (*compar)(void *, const void *, const void *))"
|
||||
|
||||
Reference in New Issue
Block a user