summaryrefslogtreecommitdiffstats
path: root/src/H5FDsubfiling/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5FDsubfiling/CMakeLists.txt')
-rw-r--r--src/H5FDsubfiling/CMakeLists.txt53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/H5FDsubfiling/CMakeLists.txt b/src/H5FDsubfiling/CMakeLists.txt
new file mode 100644
index 0000000..89cd0c2
--- /dev/null
+++ b/src/H5FDsubfiling/CMakeLists.txt
@@ -0,0 +1,53 @@
+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")
+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}
+)
+
+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}
+ ${HDF5_H5FD_SUBFILING_HEADERS}
+ PARENT_SCOPE
+)