summaryrefslogtreecommitdiffstats
path: root/src/H5FDsubfiling/CMakeLists.txt
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2023-07-27 19:11:28 (GMT)
committerGitHub <noreply@github.com>2023-07-27 19:11:28 (GMT)
commit17a5a1a37ccc851ca9123b2921fbae15c4814edf (patch)
treebdc30fe342f691bd8c0d2454a81a195b4d31cef9 /src/H5FDsubfiling/CMakeLists.txt
parent144bec301c874554cdd8651148dede93fd5279dc (diff)
downloadhdf5-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.txt60
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
+)