mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-13 16:47:58 +08:00
Fix CMake builds when Subfiling VFD isn't enabled (#3250)
* Fix CMake builds when Subfiling VFD isn't enabled * Add Subfiling VFD entry to hdf5-config.cmake.in
This commit is contained in:
parent
426a7f82f6
commit
919ce7adc2
@ -45,6 +45,7 @@ set (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_ROS3_VFD @HDF5_ENABLE_ROS3_VFD@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_SUBFILING_VFD @HDF5_ENABLE_SUBFILING_VFD@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @H5_ENABLE_SHARED_LIB@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS @H5_ENABLE_STATIC_LIB@)
|
||||
set (${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@)
|
||||
|
@ -280,10 +280,10 @@ set (H5FD_HDRS
|
||||
${HDF5_SRC_DIR}/H5FDwindows.h
|
||||
)
|
||||
|
||||
# Append Subfiling VFD and Mercury sources to H5FD interface if Subfiling VFD is built
|
||||
if (HDF5_ENABLE_SUBFILING_VFD)
|
||||
add_subdirectory (${H5FD_SUBFILING_DIR})
|
||||
endif()
|
||||
# Append Subfiling VFD and Mercury sources to H5FD
|
||||
# interface if Subfiling VFD is built. Append Subfiling
|
||||
# VFD public headers to H5FD_HDRS regardless.
|
||||
add_subdirectory (${H5FD_SUBFILING_DIR})
|
||||
|
||||
IDE_GENERATED_PROPERTIES ("H5FD" "${H5FD_HDRS}" "${H5FD_SOURCES}" )
|
||||
|
||||
|
@ -2,49 +2,56 @@ cmake_minimum_required (VERSION 3.18)
|
||||
project (HDF5_H5FD_SUBFILING C)
|
||||
|
||||
# Sanity checking
|
||||
if (NOT H5FD_SOURCES)
|
||||
message (FATAL_ERROR "internal configure error - H5FD_SOURCES not set")
|
||||
endif ()
|
||||
if (NOT H5FD_HDRS)
|
||||
message (FATAL_ERROR "internal configure error - H5FD_HDRS not set")
|
||||
endif ()
|
||||
if (NOT H5FD_SUBFILING_DIR)
|
||||
message (FATAL_ERROR "internal configure error - H5FD_SUBFILING_DIR not set")
|
||||
endif ()
|
||||
if (NOT H5FD_SUBFILING_MERCURY_DIR)
|
||||
message (FATAL_ERROR "internal configure error - H5FD_SUBFILING_MERCURY_DIR not set")
|
||||
|
||||
if (HDF5_ENABLE_SUBFILING_VFD)
|
||||
# Sanity checking
|
||||
if (NOT H5FD_SOURCES)
|
||||
message (FATAL_ERROR "internal configure error - H5FD_SOURCES not set")
|
||||
endif ()
|
||||
if (NOT H5FD_SUBFILING_MERCURY_DIR)
|
||||
message (FATAL_ERROR "internal configure error - H5FD_SUBFILING_MERCURY_DIR not set")
|
||||
endif ()
|
||||
|
||||
# Add mercury util sources to Subfiling VFD sources
|
||||
set (MERCURY_UTIL_SOURCES
|
||||
${H5FD_SUBFILING_MERCURY_DIR}/mercury_thread.c
|
||||
${H5FD_SUBFILING_MERCURY_DIR}/mercury_thread_condition.c
|
||||
${H5FD_SUBFILING_MERCURY_DIR}/mercury_thread_pool.c
|
||||
${H5FD_SUBFILING_MERCURY_DIR}/mercury_thread_mutex.c
|
||||
)
|
||||
|
||||
set (HDF5_H5FD_SUBFILING_SOURCES
|
||||
${H5FD_SUBFILING_DIR}/H5FDioc.c
|
||||
${H5FD_SUBFILING_DIR}/H5FDioc_int.c
|
||||
${H5FD_SUBFILING_DIR}/H5FDioc_threads.c
|
||||
${H5FD_SUBFILING_DIR}/H5FDsubfiling.c
|
||||
${H5FD_SUBFILING_DIR}/H5FDsubfile_int.c
|
||||
${H5FD_SUBFILING_DIR}/H5subfiling_common.c
|
||||
${MERCURY_UTIL_SOURCES}
|
||||
)
|
||||
|
||||
# Add Subfiling VFD sources to HDF5 library's H5FD sources
|
||||
set (H5FD_SOURCES
|
||||
${H5FD_SOURCES}
|
||||
${HDF5_H5FD_SUBFILING_SOURCES}
|
||||
PARENT_SCOPE
|
||||
)
|
||||
endif ()
|
||||
|
||||
# Add mercury util sources to Subfiling VFD sources
|
||||
set (MERCURY_UTIL_SOURCES
|
||||
${H5FD_SUBFILING_MERCURY_DIR}/mercury_thread.c
|
||||
${H5FD_SUBFILING_MERCURY_DIR}/mercury_thread_condition.c
|
||||
${H5FD_SUBFILING_MERCURY_DIR}/mercury_thread_pool.c
|
||||
${H5FD_SUBFILING_MERCURY_DIR}/mercury_thread_mutex.c
|
||||
)
|
||||
|
||||
set (HDF5_H5FD_SUBFILING_SOURCES
|
||||
${H5FD_SUBFILING_DIR}/H5FDioc.c
|
||||
${H5FD_SUBFILING_DIR}/H5FDioc_int.c
|
||||
${H5FD_SUBFILING_DIR}/H5FDioc_threads.c
|
||||
${H5FD_SUBFILING_DIR}/H5FDsubfiling.c
|
||||
${H5FD_SUBFILING_DIR}/H5FDsubfile_int.c
|
||||
${H5FD_SUBFILING_DIR}/H5subfiling_common.c
|
||||
${MERCURY_UTIL_SOURCES}
|
||||
)
|
||||
|
||||
# Add Subfiling VFD public headers to HDF5 library's
|
||||
# public H5FD headers, even if the Subfiling VFD isn't
|
||||
# enabled and built
|
||||
set (HDF5_H5FD_SUBFILING_HEADERS
|
||||
${H5FD_SUBFILING_DIR}/H5FDsubfiling.h
|
||||
${H5FD_SUBFILING_DIR}/H5FDioc.h
|
||||
)
|
||||
|
||||
# Add Subfiling VFD sources to HDF5 library's H5FD sources
|
||||
set (H5FD_SOURCES
|
||||
${H5FD_SOURCES}
|
||||
${HDF5_H5FD_SUBFILING_SOURCES}
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
# Add Subfiling VFD public headers to HDF5 library's public H5FD headers
|
||||
set (H5FD_HDRS
|
||||
${H5FD_HDRS}
|
||||
|
Loading…
x
Reference in New Issue
Block a user