Report build options of VFDs (#4304)

* changed to if string contains instead

* return status of VFDs in libhdf5.settings

* use *_ENABLE_* settings instead to report the state

* added map state

* updated resetting status if cmake option fails
This commit is contained in:
Scot Breitenfeld 2024-04-02 13:24:02 -05:00 committed by GitHub
parent 9148f7c563
commit 8b5644a0cd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 8 deletions

View File

@ -679,6 +679,7 @@ if (HDF5_ENABLE_HDFS)
list (APPEND LINK_LIBS -pthread) list (APPEND LINK_LIBS -pthread)
endif () endif ()
else () else ()
set (HDF5_ENABLE_HDFS OFF CACHE BOOL "Enable HDFS" FORCE)
message (FATAL_ERROR "Set to use libhdfs library, but could not find or use libhdfs. Please verify that the path to HADOOP_HOME is valid, and/or reconfigure without HDF5_ENABLE_HDFS") message (FATAL_ERROR "Set to use libhdfs library, but could not find or use libhdfs. Please verify that the path to HADOOP_HOME is valid, and/or reconfigure without HDF5_ENABLE_HDFS")
endif () endif ()
endif () endif ()
@ -806,8 +807,12 @@ if (HDF5_ENABLE_SUBFILING_VFD)
unset (CMAKE_EXTRA_INCLUDE_FILES) unset (CMAKE_EXTRA_INCLUDE_FILES)
unset (CMAKE_REQUIRED_LIBRARIES) unset (CMAKE_REQUIRED_LIBRARIES)
if(NOT H5_HAVE_SUBFILING_VFD EQUAL 1)
set (HDF5_ENABLE_SUBFILING_VFD OFF CACHE BOOL "Build Parallel HDF5 Subfiling VFD" FORCE)
endif()
endif() endif()
#option (DEFAULT_API_VERSION "Enable v1.16 API (v16, v18, v110, v112, v114, v116)" "v116") #option (DEFAULT_API_VERSION "Enable v1.16 API (v16, v18, v110, v112, v114, v116)" "v116")
set (DEFAULT_API_VERSION "v116" CACHE STRING "Enable v1.16 API (v16, v18, v110, v112, v114, v116)") set (DEFAULT_API_VERSION "v116" CACHE STRING "Enable v1.16 API (v16, v18, v110, v112, v114, v116)")
set_property (CACHE DEFAULT_API_VERSION PROPERTY STRINGS v16 v18 v110 v112 v114 v116) set_property (CACHE DEFAULT_API_VERSION PROPERTY STRINGS v16 v18 v110 v112 v114 v116)
@ -940,6 +945,8 @@ endif ()
option (HDF5_ENABLE_MAP_API "Build the map API" OFF) option (HDF5_ENABLE_MAP_API "Build the map API" OFF)
if (HDF5_ENABLE_MAP_API) if (HDF5_ENABLE_MAP_API)
set (H5_HAVE_MAP_API 1) set (H5_HAVE_MAP_API 1)
else ()
set (HDF5_ENABLE_MAP_API OFF CACHE BOOL "Build the map API" FORCE)
endif () endif ()
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------

View File

@ -613,6 +613,7 @@ if (HDF5_ENABLE_DIRECT_VFD)
if (HAVE_O_DIRECT AND HAVE_POSIX_MEMALIGN) if (HAVE_O_DIRECT AND HAVE_POSIX_MEMALIGN)
set (${HDF_PREFIX}_HAVE_DIRECT 1) set (${HDF_PREFIX}_HAVE_DIRECT 1)
else () else ()
set (HDF5_ENABLE_DIRECT_VFD OFF CACHE BOOL "Build the Direct I/O Virtual File Driver" FORCE)
message (FATAL_ERROR "The direct VFD was requested but cannot be built.\nIt requires O_DIRECT flag support and posix_memalign()") message (FATAL_ERROR "The direct VFD was requested but cannot be built.\nIt requires O_DIRECT flag support and posix_memalign()")
endif () endif ()
endif () endif ()
@ -629,6 +630,7 @@ option (HDF5_ENABLE_ROS3_VFD "Build the ROS3 Virtual File Driver" OFF)
list (APPEND LINK_LIBS ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES}) list (APPEND LINK_LIBS ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES})
INCLUDE_DIRECTORIES (${CURL_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR}) INCLUDE_DIRECTORIES (${CURL_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR})
else () else ()
set (HDF5_ENABLE_ROS3_VFD OFF CACHE BOOL "Build the ROS3 Virtual File Driver" FORCE)
message (WARNING "The Read-Only S3 VFD was requested but cannot be built.\nPlease check that openssl and cURL are available on your\nsystem, and/or re-configure without option HDF5_ENABLE_ROS3_VFD.") message (WARNING "The Read-Only S3 VFD was requested but cannot be built.\nPlease check that openssl and cURL are available on your\nsystem, and/or re-configure without option HDF5_ENABLE_ROS3_VFD.")
endif () endif ()
endif () endif ()
@ -645,7 +647,8 @@ if (HDF5_ENABLE_MIRROR_VFD)
${HDF_PREFIX}_HAVE_FORK) ${HDF_PREFIX}_HAVE_FORK)
set (${HDF_PREFIX}_HAVE_MIRROR_VFD 1) set (${HDF_PREFIX}_HAVE_MIRROR_VFD 1)
else() else()
message(WARNING "The socket-based Mirror VFD was requested but cannot be built. System prerequisites are not met.") set (HDF5_ENABLE_MIRROR_VFD OFF CACHE BOOL "Build the Mirror Virtual File Driver" FORCE)
message(WARNING "The socket-based Mirror VFD was requested but cannot be built. System prerequisites are not met.")
endif() endif()
endif() endif()

View File

@ -79,12 +79,12 @@ Dimension scales w/ new references: @DIMENSION_SCALES_WITH_NEW_REF@
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@ With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
I/O filters (external): @EXTERNAL_FILTERS@ I/O filters (external): @EXTERNAL_FILTERS@
_Float16 support: @HDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16@ _Float16 support: @HDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16@
Map (H5M) API: @H5_HAVE_MAP_API@ Map (H5M) API: @HDF5_ENABLE_MAP_API@
Direct VFD: @HDF5_ENABLE_DIRECT_VFD@ Direct VFD: @HDF5_ENABLE_DIRECT_VFD@
Mirror VFD: @H5_HAVE_MIRROR_VFD@ Mirror VFD: @HDF5_ENABLE_MIRROR_VFD@
Subfiling VFD: @H5_HAVE_SUBFILING_VFD@ Subfiling VFD: @HDF5_ENABLE_SUBFILING_VFD@
(Read-Only) S3 VFD: @H5_HAVE_ROS3_VFD@ (Read-Only) S3 VFD: @HDF5_ENABLE_ROS3_VFD@
(Read-Only) HDFS VFD: @H5_HAVE_LIBHDFS@ (Read-Only) HDFS VFD: @HDF5_ENABLE_HDFS@
Packages w/ extra debug output: @INTERNAL_DEBUG_OUTPUT@ Packages w/ extra debug output: @INTERNAL_DEBUG_OUTPUT@
API Tracing: @HDF5_ENABLE_TRACE@ API Tracing: @HDF5_ENABLE_TRACE@
Using memory checker: @HDF5_ENABLE_USING_MEMCHECKER@ Using memory checker: @HDF5_ENABLE_USING_MEMCHECKER@