HDFFV-11266 - add option to build HL tools (#1018)

* HDFFV-11266 - add option to build HL tools

* Correct if syntax

* Correct name of conditional
This commit is contained in:
Allen Byrne 2021-09-16 12:15:25 -05:00 committed by GitHub
parent daeb4454f6
commit c0f2bc87ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 47 additions and 5 deletions

View File

@ -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@)

View File

@ -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@
Default API mapping: @DEFAULT_API_VERSION@
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@

View File

@ -786,6 +786,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
@ -802,6 +803,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],
@ -820,6 +824,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
@ -3850,6 +3869,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"])
## ----------------------------------------------------------------------

View File

@ -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

View File

@ -37,16 +37,19 @@ 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
if BUILD_HDF5_HL_CONDITIONAL
SUBDIRS=src $(TEST_DIR) $(TOOLS_DIR) $(CXX_DIR) $(FORTRAN_DIR)
endif
DIST_SUBDIRS=src test tools c++ fortran examples

View File

@ -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

View File

@ -49,6 +49,14 @@ New Features
Configuration:
-------------
- Added new option to control the build of High-Level tools
that default ON/enabled.
Add configure options (autotools - CMake):
enable-hltools HDF5_BUILD_HL_TOOLS
(ADB - 2021/09/16, HDFFV-11266)
- Adds C++ Autotools configuration file for Intel
* Checks for icpc as the compiler
@ -909,8 +917,8 @@ New Features
----------------
- added set/get for unsigned long long attributes
the attribute writing high-level API has been expanded to include
public set/get functions for ULL attributes, analogously to the
the attribute writing high-level API has been expanded to include
public set/get functions for ULL attributes, analogously to the
existing set/get for other types.
(AF - 2021/09/08)