summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2021-04-20 00:17:24 (GMT)
committerGitHub <noreply@github.com>2021-04-20 00:17:24 (GMT)
commit168c1245b4aa6fa4779b3df5cc050d0272abdc2e (patch)
tree6e4dc53920a8c2c0bbdb7cfb6f190e6703e80446 /CMakeLists.txt
parent100e132a62ae1aaf97f379684d04ed00d6016208 (diff)
downloadhdf5-168c1245b4aa6fa4779b3df5cc050d0272abdc2e.zip
hdf5-168c1245b4aa6fa4779b3df5cc050d0272abdc2e.tar.gz
hdf5-168c1245b4aa6fa4779b3df5cc050d0272abdc2e.tar.bz2
1 8 Merge dev changes for long double and cmake (#548)
* Update supported platforms * Merge PR#3 changes from develop * # WARNING: head commit changed in the meantime Merge gcc 10 diagnostics option from develop Merge CMake changes from develop Merge warnings from develop Merge #318 OSX changes from develop Merge tools changes from develop Merge test macros from develop * Format updates * Fix missing semicolon and format fix * Format update * Correct actions, remove java option * Update autotools build files * Add testfiles * Fix configure issue with make flags * Init fapls to default * Update generated files and fix h5repack id closure * update format * Merges from develop #358 patches from vtk #361 fix header guard spelling * Merges from develop #340 clang -Wformat-security warnings #360 Fixed uninitialized warnings header guard underscore cleanup whitespace cleanup tools sync * format alignment * initialize vars * revert H5private change * Merge #380 from develop * Split format source and commit changes on repo push * Change windows TS to use older VS. * HDFFV-11229 merge dev changes for long double display in tools * Committing clang-format changes * Update unsupported types with precision Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt53
1 files changed, 41 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f49b49d..2c982c0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -71,6 +71,13 @@ mark_as_advanced (HDF5_EXTERNAL_LIB_PREFIX)
# If the parent project needs to install hdf libraries, but avoid
# name conflicts with system versions, then a prefix may be added
# to ensure that the correct versions configured are used.
+set (HDF5_LIB_INFIX "" CACHE STRING "Use infix for custom library naming.")
+mark_as_advanced (HDF5_LIB_INFIX)
+# HDF5_LIB_INFIX :
+# This infix is added to all library names after 'hdf5'.
+# e.g. the infix '_openmpi' results in the library name 'libhdf5_openmpi.so'
+# This name is used in packages on debian based systems.
+# (see https://packages.debian.org/jessie/amd64/libhdf5-openmpi-8/filelist)
#
# HDF5_INSTALL_BIN_DIR, HDF5_INSTALL_LIB_DIR, HDF5_INSTALL_INCLUDE_DIR, HDF5_INSTALL_DATA_DIR :
# Customize the 'bin', 'lib', 'include', and 'share' installation directories.
@@ -130,18 +137,18 @@ mark_as_advanced (ALLOW_UNSUPPORTED)
#-----------------------------------------------------------------------------
# Set the core names of all the libraries
#-----------------------------------------------------------------------------
-set (HDF5_LIB_CORENAME "hdf5")
-set (HDF5_TEST_LIB_CORENAME "hdf5_test")
-set (HDF5_CPP_LIB_CORENAME "hdf5_cpp")
-set (HDF5_HL_LIB_CORENAME "hdf5_hl")
-set (HDF5_HL_CPP_LIB_CORENAME "hdf5_hl_cpp")
-set (HDF5_TOOLS_LIB_CORENAME "hdf5_tools")
-set (HDF5_F90_LIB_CORENAME "hdf5_fortran")
-set (HDF5_F90_C_LIB_CORENAME "hdf5_f90cstub")
-set (HDF5_F90_TEST_LIB_CORENAME "hdf5_test_fortran")
-set (HDF5_F90_C_TEST_LIB_CORENAME "hdf5_test_f90cstub")
-set (HDF5_HL_F90_LIB_CORENAME "hdf5_hl_fortran")
-set (HDF5_HL_F90_C_LIB_CORENAME "hdf5_hl_f90cstub")
+set (HDF5_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}")
+set (HDF5_TEST_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_test")
+set (HDF5_CPP_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_cpp")
+set (HDF5_HL_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_hl")
+set (HDF5_HL_CPP_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_hl_cpp")
+set (HDF5_TOOLS_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_tools")
+set (HDF5_F90_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_fortran")
+set (HDF5_F90_C_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_f90cstub")
+set (HDF5_F90_TEST_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_test_fortran")
+set (HDF5_F90_C_TEST_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_test_f90cstub")
+set (HDF5_HL_F90_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_hl_fortran")
+set (HDF5_HL_F90_C_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_hl_f90cstub")
#-----------------------------------------------------------------------------
# Set the true names of all the libraries if customized by external project
@@ -412,6 +419,14 @@ else ()
endif ()
#-----------------------------------------------------------------------------
+# perl is used in some optional src and tests, check availability
+find_package (Perl)
+if (PERL_FOUND)
+ set (H5_PERL_FOUND YES)
+endif ()
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
# Option to Build Static executables
#-----------------------------------------------------------------------------
option (BUILD_STATIC_EXECS "Build Static Executables" OFF)
@@ -462,6 +477,20 @@ endif ()
# endif ()
#-----------------------------------------------------------------------------
+# Option to build documentation
+#-----------------------------------------------------------------------------
+option (HDF5_BUILD_DOC "Build documentation" OFF)
+if (HDF5_BUILD_DOC AND EXISTS "${HDF5_DOXYGEN_DIR}" AND IS_DIRECTORY "${HDF5_DOXYGEN_DIR}")
+# check if Doxygen is installed
+ find_package(Doxygen)
+ if (DOXYGEN_FOUND)
+ message(STATUS "Doxygen version: ${DOXYGEN_VERSION}")
+ else ()
+ message(STATUS "Doxygen needs to be installed to generate the doxygen documentation")
+ endif ()
+endif ()
+
+#-----------------------------------------------------------------------------
# Option to indicate using a memory checker
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF)