mirror of
https://github.com/libgit2/libgit2.git
synced 2026-01-25 02:56:17 +00:00
It's hard to remember whether it's `-DUSE_HTTPS=mbedTLS` or `-DUSE_HTTPS=mbedtls`. Even worse for things like `builtin` which we may have been inconsistent about. Allow for case insensitive options.
59 lines
2.1 KiB
CMake
59 lines
2.1 KiB
CMake
include(SanitizeInput)
|
|
include(FeatureSummary)
|
|
|
|
sanitizeinput(USE_NSEC)
|
|
|
|
if((USE_NSEC STREQUAL ON OR USE_NSEC STREQUAL "") AND HAVE_STRUCT_STAT_ST_MTIM)
|
|
set(USE_NSEC "mtim")
|
|
elseif((USE_NSEC STREQUAL ON OR USE_NSEC STREQUAL "") AND HAVE_STRUCT_STAT_ST_MTIMESPEC)
|
|
set(USE_NSEC "mtimespec")
|
|
elseif((USE_NSEC STREQUAL ON OR USE_NSEC STREQUAL "") AND HAVE_STRUCT_STAT_MTIME_NSEC)
|
|
set(USE_NSEC "mtime_nsec")
|
|
elseif((USE_NSEC STREQUAL ON OR USE_NSEC STREQUAL "") AND WIN32)
|
|
set(USE_NSEC "win32")
|
|
elseif(USE_NSEC STREQUAL "")
|
|
message(WARNING "nanosecond timestamp precision was not detected")
|
|
set(USE_NSEC OFF)
|
|
elseif(USE_NSEC STREQUAL ON)
|
|
message(FATAL_ERROR "nanosecond support was requested but no platform support is available")
|
|
endif()
|
|
|
|
if(USE_NSEC STREQUAL "mtim")
|
|
if(NOT HAVE_STRUCT_STAT_ST_MTIM)
|
|
message(FATAL_ERROR "stat mtim could not be found")
|
|
endif()
|
|
|
|
set(GIT_NSEC 1)
|
|
set(GIT_NSEC_MTIM 1)
|
|
add_feature_info("Nanosecond support" ON "using mtim")
|
|
elseif(USE_NSEC STREQUAL "mtimespec")
|
|
if(NOT HAVE_STRUCT_STAT_ST_MTIMESPEC)
|
|
message(FATAL_ERROR "mtimespec could not be found")
|
|
endif()
|
|
|
|
set(GIT_NSEC 1)
|
|
set(GIT_NSEC_MTIMESPEC 1)
|
|
add_feature_info("Nanosecond support" ON "using mtimespec")
|
|
elseif(USE_NSEC STREQUAL "mtime_nsec")
|
|
if(NOT HAVE_STRUCT_STAT_MTIME_NSEC)
|
|
message(FATAL_ERROR "mtime_nsec could not be found")
|
|
endif()
|
|
|
|
set(GIT_NSEC 1)
|
|
set(GIT_NSEC_MTIME_NSEC 1)
|
|
add_feature_info("Nanosecond support" ON "using mtime_nsec")
|
|
elseif(USE_NSEC STREQUAL "win32")
|
|
if(NOT WIN32)
|
|
message(FATAL_ERROR "Win32 API support is not available on this platform")
|
|
endif()
|
|
|
|
set(GIT_NSEC 1)
|
|
set(GIT_NSEC_WIN32 1)
|
|
add_feature_info("Nanosecond support" ON "using Win32 APIs")
|
|
elseif(USE_NSEC STREQUAL OFF)
|
|
set(GIT_NSEC 0)
|
|
add_feature_info("Nanosecond support" OFF "Nanosecond timestamp resolution is disabled")
|
|
else()
|
|
message(FATAL_ERROR "unknown nanosecond option: ${USE_NSEC}")
|
|
endif()
|