150 lines
5.8 KiB
Diff
150 lines
5.8 KiB
Diff
From c9c85080e9c9ba2f98cd7bf0ca69775529e280e4 Mon Sep 17 00:00:00 2001
|
|
From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com>
|
|
Date: Fri, 17 Sep 2021 11:01:26 -0500
|
|
Subject: [PATCH] Merge HDFFV-11266 - add option to build HL tools #1018
|
|
(#1020)
|
|
|
|
Origin: https://github.com/HDFGroup/hdf5/commit/c9c85080e9c9ba2f98cd7bf0ca69775529e280e4
|
|
|
|
---
|
|
config/cmake/hdf5-config.cmake.in | 1 +
|
|
config/cmake/libhdf5.settings.cmake.in | 1 +
|
|
configure.ac | 20 ++++++++++++++++++++
|
|
hl/CMakeLists.txt | 12 ++++++++++--
|
|
hl/Makefile.am | 4 ++++
|
|
release_docs/INSTALL_CMake.txt | 1 +
|
|
release_docs/RELEASE.txt | 8 ++++++++
|
|
7 files changed, 45 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in
|
|
index 4d02c9c5ff2..8faa2fe2ba2 100644
|
|
--- a/config/cmake/hdf5-config.cmake.in
|
|
+++ b/config/cmake/hdf5-config.cmake.in
|
|
@@ -38,6 +38,7 @@ set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
|
|
set (${HDF5_PACKAGE_NAME}_BUILD_JAVA @HDF5_BUILD_JAVA@)
|
|
set (${HDF5_PACKAGE_NAME}_BUILD_TOOLS @HDF5_BUILD_TOOLS@)
|
|
set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
|
|
+set (${HDF5_PACKAGE_NAME}_BUILD_HL_TOOLS @HDF5_BUILD_HL_TOOLS@)
|
|
set (${HDF5_PACKAGE_NAME}_ENABLE_THREADSAFE @HDF5_ENABLE_THREADSAFE@)
|
|
set (${HDF5_PACKAGE_NAME}_ENABLE_PLUGIN_SUPPORT @HDF5_ENABLE_PLUGIN_SUPPORT@)
|
|
set (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@)
|
|
diff --git a/config/cmake/libhdf5.settings.cmake.in b/config/cmake/libhdf5.settings.cmake.in
|
|
index dd345b4cd5c..e5b150409c5 100644
|
|
--- a/config/cmake/libhdf5.settings.cmake.in
|
|
+++ b/config/cmake/libhdf5.settings.cmake.in
|
|
@@ -70,6 +70,7 @@ Parallel Filtered Dataset Writes: @PARALLEL_FILTERED_WRITES@
|
|
High-level library: @HDF5_BUILD_HL_LIB@
|
|
Build HDF5 Tests: @BUILD_TESTING@
|
|
Build HDF5 Tools: @HDF5_BUILD_TOOLS@
|
|
+ Build High-level HDF5 Tools: @HDF5_BUILD_HL_TOOLS@
|
|
Threadsafety: @HDF5_ENABLE_THREADSAFE@ (recursive RW locks: @HDF5_USE_RECURSIVE_RW_LOCKS@)
|
|
Default API mapping: @DEFAULT_API_VERSION@
|
|
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
|
|
diff --git a/configure.ac b/configure.ac
|
|
index df0cec59fe5..7b4c3f56647 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -806,6 +806,7 @@ AC_LANG_POP(C++)
|
|
## This needs to be exposed for the library info file even if the HL
|
|
## library is disabled.
|
|
AC_SUBST([HDF5_HL])
|
|
+AC_SUBST([HDF5_HL_TOOLS])
|
|
|
|
## The high-level library is enabled unless the build mode is clean.
|
|
if test "X-$BUILD_MODE" = "X-clean" ; then
|
|
@@ -822,6 +823,9 @@ HL=""
|
|
## Fortran high-level library
|
|
AC_SUBST(HL_FOR)
|
|
HL_FOR=""
|
|
+## Tools high-level library
|
|
+AC_SUBST(HL_TOOLS)
|
|
+HL_TOOLS=""
|
|
|
|
AC_MSG_CHECKING([if the high-level library is enabled])
|
|
AC_ARG_ENABLE([hl],
|
|
@@ -840,6 +844,21 @@ else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
+AC_MSG_CHECKING([if the high-level tools are enabled])
|
|
+AC_ARG_ENABLE([hltools],
|
|
+ [AS_HELP_STRING([--enable-hltools],
|
|
+ [Enable the high-level tools.
|
|
+ [default=yes)]
|
|
+ ])],
|
|
+ [HDF5_HL_TOOLS=$enableval])
|
|
+
|
|
+if test "X${HDF5_HL}" = "Xyes" -a "X-$HDF5_HL_TOOLS" = "X-yes"; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ HL_TOOLS="tools"
|
|
+else
|
|
+ AC_MSG_RESULT([no])
|
|
+fi
|
|
+
|
|
|
|
## ----------------------------------------------------------------------
|
|
## Check which archiving tool to use. This needs to be done before
|
|
@@ -3992,6 +4011,7 @@ AM_CONDITIONAL([BUILD_HDF5_HL_CONDITIONAL], [test "X$HDF5_HL" = "Xyes"])
|
|
AM_CONDITIONAL([BUILD_TESTS_CONDITIONAL], [test "X$HDF5_TESTS" = "Xyes"])
|
|
AM_CONDITIONAL([BUILD_TESTS_PARALLEL_CONDITIONAL], [test -n "$TESTPARALLEL"])
|
|
AM_CONDITIONAL([BUILD_TOOLS_CONDITIONAL], [test "X$HDF5_TOOLS" = "Xyes"])
|
|
+AM_CONDITIONAL([BUILD_TOOLS_HL_CONDITIONAL], [test "X$HDF5_HL_TOOLS" = "Xyes"])
|
|
AM_CONDITIONAL([BUILD_DOXYGEN_CONDITIONAL], [test "X$HDF5_DOXYGEN" = "Xyes"])
|
|
|
|
## ----------------------------------------------------------------------
|
|
diff --git a/hl/CMakeLists.txt b/hl/CMakeLists.txt
|
|
index 083c60eb39e..5061c6c5a47 100644
|
|
--- a/hl/CMakeLists.txt
|
|
+++ b/hl/CMakeLists.txt
|
|
@@ -7,9 +7,17 @@ project (HDF5_HL C)
|
|
|
|
add_subdirectory (src)
|
|
|
|
-#-- Build the High level Tools
|
|
+# Build HDF5 Tools
|
|
if (HDF5_BUILD_TOOLS)
|
|
- add_subdirectory (tools)
|
|
+ #-----------------------------------------------------------------------------
|
|
+ #-- Option to build the High level Tools
|
|
+ #-----------------------------------------------------------------------------
|
|
+ if (EXISTS "${HDF5_HL_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_HL_SOURCE_DIR}/tools")
|
|
+ option (HDF5_BUILD_HL_TOOLS "Build HDF5 HL Tools" ON)
|
|
+ if (HDF5_BUILD_HL_TOOLS)
|
|
+ add_subdirectory (tools)
|
|
+ endif ()
|
|
+ endif ()
|
|
endif ()
|
|
|
|
#-- Add High Level Examples
|
|
diff --git a/hl/Makefile.am b/hl/Makefile.am
|
|
index 80ef66a2a2c..ad035fe5073 100644
|
|
--- a/hl/Makefile.am
|
|
+++ b/hl/Makefile.am
|
|
@@ -37,10 +37,14 @@ else
|
|
TEST_DIR =
|
|
endif
|
|
if BUILD_TOOLS_CONDITIONAL
|
|
+if BUILD_TOOLS_HL_CONDITIONAL
|
|
TOOLS_DIR = tools
|
|
else
|
|
TOOLS_DIR =
|
|
endif
|
|
+else
|
|
+ TOOLS_DIR =
|
|
+endif
|
|
|
|
## Don't recurse into any subdirectories if HDF5 is not configured to
|
|
## use the HL library
|
|
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
|
|
index 84044c7ee7e..adceb702aea 100644
|
|
--- a/release_docs/INSTALL_CMake.txt
|
|
+++ b/release_docs/INSTALL_CMake.txt
|
|
@@ -740,6 +740,7 @@ HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF
|
|
HDF5_BUILD_JAVA "Build JAVA support" OFF
|
|
HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON
|
|
HDF5_BUILD_TOOLS "Build HDF5 Tools" ON
|
|
+HDF5_BUILD_HL_TOOLS "Build HIGH Level HDF5 Tools" ON
|
|
|
|
---------------- HDF5 Advanced Options ---------------------
|
|
ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF
|