diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2023-07-27 19:11:28 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-27 19:11:28 (GMT) |
commit | 17a5a1a37ccc851ca9123b2921fbae15c4814edf (patch) | |
tree | bdc30fe342f691bd8c0d2454a81a195b4d31cef9 /src/H5FDsubfiling/CMakeLists.txt | |
parent | 144bec301c874554cdd8651148dede93fd5279dc (diff) | |
download | hdf5-17a5a1a37ccc851ca9123b2921fbae15c4814edf.zip hdf5-17a5a1a37ccc851ca9123b2921fbae15c4814edf.tar.gz hdf5-17a5a1a37ccc851ca9123b2921fbae15c4814edf.tar.bz2 |
Subfiling VFD source cleanup (#3241) (#3290)
* Subfiling VFD source cleanup (#3241)
* Subfiling VFD source cleanup
Modularize Subfiling CMake code into separate CMakeLists.txt file
Update Mercury util code to latest version and update Copyright
Generate mercury_util_config.h header file instead of using
pre-generated file
Remove unnecessary Mercury functionality
Fix minor warning in Subfiling VFD code
* Remove Mercury headers from Autotools publicly-distributed header list
* 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
Diffstat (limited to 'src/H5FDsubfiling/CMakeLists.txt')
-rw-r--r-- | src/H5FDsubfiling/CMakeLists.txt | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/H5FDsubfiling/CMakeLists.txt b/src/H5FDsubfiling/CMakeLists.txt new file mode 100644 index 0000000..dd7f564 --- /dev/null +++ b/src/H5FDsubfiling/CMakeLists.txt @@ -0,0 +1,60 @@ +cmake_minimum_required (VERSION 3.18) +project (HDF5_H5FD_SUBFILING C) + +# Sanity checking +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 (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 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 public headers to HDF5 library's public H5FD headers +set (H5FD_HDRS + ${H5FD_HDRS} + ${HDF5_H5FD_SUBFILING_HEADERS} + PARENT_SCOPE +) |