summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2022-07-28 15:05:31 (GMT)
committerGitHub <noreply@github.com>2022-07-28 15:05:31 (GMT)
commit6e92521311713123a6b2ab3b0a25f1b138f16e27 (patch)
treef7ea0bb14473e33c643d65749d60515f83b7e3fd
parent762c111350cc31137a80e24126b00d9aacf3b2a9 (diff)
downloadhdf5-6e92521311713123a6b2ab3b0a25f1b138f16e27.zip
hdf5-6e92521311713123a6b2ab3b0a25f1b138f16e27.tar.gz
hdf5-6e92521311713123a6b2ab3b0a25f1b138f16e27.tar.bz2
1.8 fortran module folder from GH#1411 #1922 (#1944)
-rw-r--r--MANIFEST1
-rw-r--r--config/cmake_ext_mod/HDFMacros.cmake13
-rw-r--r--config/libhdf5.fpc.in16
-rw-r--r--configure.ac9
-rw-r--r--fortran/src/CMakeLists.txt11
-rw-r--r--fortran/src/Makefile.am8
-rw-r--r--fortran/src/h5fc.in23
-rw-r--r--hl/fortran/src/CMakeLists.txt11
-rw-r--r--hl/fortran/src/Makefile.am8
-rw-r--r--release_docs/INSTALL_CMake.txt12
-rw-r--r--release_docs/RELEASE.txt16
11 files changed, 96 insertions, 32 deletions
diff --git a/MANIFEST b/MANIFEST
index f758196..64e730a 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -133,6 +133,7 @@
./config/intel-cxxflags
./config/intel-fflags
./config/intel-flags
+./config/libhdf5.fpc.in
./config/libhdf5.pc.in
./config/linux-gnu
./config/linux-gnuaout
diff --git a/config/cmake_ext_mod/HDFMacros.cmake b/config/cmake_ext_mod/HDFMacros.cmake
index 53e9f8f..d1112f9 100644
--- a/config/cmake_ext_mod/HDFMacros.cmake
+++ b/config/cmake_ext_mod/HDFMacros.cmake
@@ -267,10 +267,14 @@ macro (HDF_README_PROPERTIES target_fortran)
elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.*")
if (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.0.*")
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2015")
- elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.16.*")
+ elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.1.*")
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2017")
- else () #19.23
+ elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.2.*")
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019")
+ elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022")
+ else ()
+ set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???")
endif ()
else ()
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}")
@@ -340,6 +344,9 @@ macro (HDF_DIR_PATHS package_prefix)
if (NOT ${package_prefix}_INSTALL_INCLUDE_DIR)
set (${package_prefix}_INSTALL_INCLUDE_DIR include)
endif ()
+ if (NOT ${package_prefix}_INSTALL_MODULE_DIR)
+ set (${package_prefix}_INSTALL_MODULE_DIR mod)
+ endif ()
if (NOT ${package_prefix}_INSTALL_DATA_DIR)
if (NOT MSVC)
if (APPLE)
@@ -408,7 +415,7 @@ macro (HDF_DIR_PATHS package_prefix)
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all static libraries."
)
set (CMAKE_Fortran_MODULE_DIRECTORY
- ${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all fortran modules."
+ ${PROJECT_BINARY_DIR}/mod CACHE PATH "Single Directory for all fortran modules."
)
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(_isMultiConfig)
diff --git a/config/libhdf5.fpc.in b/config/libhdf5.fpc.in
new file mode 100644
index 0000000..c28c2f9
--- /dev/null
+++ b/config/libhdf5.fpc.in
@@ -0,0 +1,16 @@
+prefix=@_PKG_CONFIG_PREFIX@
+exec_prefix=@_PKG_CONFIG_EXEC_PREFIX@
+libdir=@_PKG_CONFIG_LIBDIR@
+includedir=@_PKG_CONFIG_INCLUDEDIR@
+moddir=@_PKG_CONFIG_MODULEDIR@
+
+Name: @_PKG_CONFIG_LIBNAME@
+Description: HDF5 (Hierarchical Data Format 5) Software Library
+Version: @_PKG_CONFIG_VERSION@
+
+Cflags: -I${includedir}
+Fflags: -I${moddir}
+Libs: -L${libdir} @_PKG_CONFIG_SH_LIBS@
+Requires: @_PKG_CONFIG_REQUIRES@
+Libs.private: @_PKG_CONFIG_LIBS_PRIVATE@ @_PKG_CONFIG_LIBS@
+Requires.private: @_PKG_CONFIG_REQUIRES_PRIVATE@
diff --git a/configure.ac b/configure.ac
index 867d436..af2d144 100644
--- a/configure.ac
+++ b/configure.ac
@@ -155,6 +155,8 @@ AM_CXXFLAGS="${AM_CXXFLAGS}"
AM_FCFLAGS="${AM_FCFLAGS}"
AM_CPPFLAGS="${AM_CPPFLAGS}"
AM_LDFLAGS="${AM_LDFLAGS}"
+
+## Flags passed in by the user
CFLAGS="${CFLAGS}"
CXXFLAGS="${CXXFLAGS}"
FCFLAGS="${FCFLAGS}"
@@ -550,6 +552,13 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
AC_PROG_FC([PAC_FC_SEARCH_LIST],)
AC_F9X_MODS
+ ## Allow setting the fortran module install dir
+ AC_ARG_WITH([fmoddir],
+ [AS_HELP_STRING([--with-fmoddir=DIR], [Fortran module install directory])],
+ [fmoddir=$withval],
+ [fmoddir="\${includedir}"])
+ AC_SUBST([fmoddir], [$fmoddir])
+
## Change to the Fortran 90 language
AC_LANG_PUSH(Fortran)
diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt
index c20b7e1..a285e28 100644
--- a/fortran/src/CMakeLists.txt
+++ b/fortran/src/CMakeLists.txt
@@ -320,7 +320,7 @@ if (NOT ONLY_SHARED_LIBS)
add_library (${HDF5_F90_LIB_TARGET} STATIC ${f90_F_SRCS})
target_include_directories (${HDF5_F90_LIB_TARGET}
PRIVATE "${HDF5_F90_SRC_SOURCE_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
- INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/static>"
+ INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${HDF5_INSTALL_MODULE_DIR}/static>"
)
target_compile_options(${HDF5_F90_LIB_TARGET} PRIVATE "${HDF5_CMAKE_Fortran_FLAGS}")
target_compile_definitions(${HDF5_F90_LIB_TARGET}
@@ -353,7 +353,7 @@ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
add_library (${HDF5_F90_LIBSH_TARGET} SHARED ${f90_F_SRCS_SHARED})
target_include_directories (${HDF5_F90_LIBSH_TARGET}
PRIVATE "${HDF5_F90_SRC_SOURCE_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
- INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/shared>"
+ INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${HDF5_INSTALL_MODULE_DIR}/shared>"
)
target_compile_options(${HDF5_F90_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_Fortran_FLAGS}")
target_compile_definitions(${HDF5_F90_LIBSH_TARGET}
@@ -461,7 +461,7 @@ if (NOT ONLY_SHARED_LIBS)
FILES
${mod_files}
DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}/static
+ ${HDF5_INSTALL_MODULE_DIR}/static
COMPONENT
fortheaders
)
@@ -519,7 +519,7 @@ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
FILES
${modsh_files}
DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}/shared
+ ${HDF5_INSTALL_MODULE_DIR}/shared
COMPONENT
fortheaders
)
@@ -568,6 +568,7 @@ set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
set (_PKG_CONFIG_EXEC_PREFIX \${prefix})
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib)
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include)
+set (_PKG_CONFIG_MODULEDIR \${prefix}/mod)
set (_PKG_CONFIG_LIBNAME "${HDF5_F90_LIB_CORENAME}")
set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
@@ -584,7 +585,7 @@ set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}")
set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}")
configure_file (
- ${HDF_CONFIG_DIR}/libhdf5.pc.in
+ ${HDF_CONFIG_DIR}/libhdf5.fpc.in
${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_F90_LIB_CORENAME}.pc
@ONLY
)
diff --git a/fortran/src/Makefile.am b/fortran/src/Makefile.am
index d360aea..7504ec8 100644
--- a/fortran/src/Makefile.am
+++ b/fortran/src/Makefile.am
@@ -22,7 +22,7 @@ include $(top_srcdir)/config/lt_vers.am
# Include src directory in both Fortran and C flags (C compiler is used
# for linking).
AM_CPPFLAGS+=-I$(top_srcdir)/src
-AM_FCFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/fortran/src
+AM_FCFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/fortran/src $(F9XMODFLAG)$(fmoddir)
AM_FCLIBS=$(LIBHDF5)
@@ -103,15 +103,15 @@ clean-local:
install-data-local:
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
- $(CP) $(top_builddir)/$(subdir)/*.$(F9XMODEXT) $(DESTDIR)$(includedir)/. ; \
+ $(CP) $(top_builddir)/$(subdir)/*.$(F9XMODEXT) $(DESTDIR)$(fmoddir)/. ; \
fi
$(CP) $(top_builddir)/$(subdir)/H5f90i_gen.h $(DESTDIR)$(includedir)/.
$(CP) $(top_srcdir)/fortran/src/H5f90i.h $(DESTDIR)$(includedir)/.
uninstall-local:
@if test -n "$(F9XMODEXT)" -a "X$(F9XMODEXT)" != "Xo"; then \
- if test -f "$(includedir)/hdf5.$(F9XMODEXT)" -o -f "$(includedir)/HDF5.$(F9XMODEXT)"; then \
- set -x; $(RM) $(DESTDIR)$(includedir)/*.$(F9XMODEXT); \
+ if test -f "$(fmoddir)/hdf5.$(F9XMODEXT)" -o -f "$(fmoddir)/HDF5.$(F9XMODEXT)"; then \
+ set -x; $(RM) $(DESTDIR)$(fmoddir)/*.$(F9XMODEXT); \
fi; \
fi; \
$(RM) $(DESTDIR)$(bindir)/$(H5FC_NAME)
diff --git a/fortran/src/h5fc.in b/fortran/src/h5fc.in
index 959971c..d9fc1f5 100644
--- a/fortran/src/h5fc.in
+++ b/fortran/src/h5fc.in
@@ -26,6 +26,7 @@ prefix="@prefix@"
exec_prefix="@exec_prefix@"
libdir="@libdir@"
includedir="@includedir@"
+fmoddir="@fmoddir@"
HL="@HL@"
############################################################################
@@ -38,7 +39,7 @@ HL="@HL@"
## $FLINKER $FCFLAGS $H5BLD_FCFLAGS $F9XSUFFIXFLAG $LDFLAGS $LIBS ##
## $fmodules $link_objs $link_args $shared_link ##
## ##
-## These settings can be overriden by setting HDF5_FCFLAGS, ##
+## These settings can be overridden by setting HDF5_FCFLAGS, ##
## HDF5_LDFLAGS, or HDF5_LIBS in the environment. ##
## ##
############################################################################
@@ -75,12 +76,12 @@ SHOW="eval"
FCBASE="@FC@"
FLINKERBASE="@FC@"
-# FCFLAGS and LDFLAGS are reserved for use by the script user.
+# FCFLAGS and LDFLAGS are reserved for use by the script user.
# FLAGS brought from the hdf5 build are put in H5BLD_*FLAGS.
-# User's FCFLAGS come after their H5BLD counterparts. User's LDFLAGS come just
-# before clibpath, user's LIBS come after $link_objs and before the hdf5
-# libraries in $link_args, followed by any external library paths and libraries
+# User's FCFLAGS come after their H5BLD counterparts. User's LDFLAGS come just
+# before clibpath, user's LIBS come after $link_objs and before the hdf5
+# libraries in $link_args, followed by any external library paths and libraries
# from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in from the hdf5 build.
# The order of the flags is intended to give precedence to the user's flags.
H5BLD_FCFLAGS="@AM_FCFLAGS@ @FCFLAGS@"
@@ -136,7 +137,7 @@ usage() {
echo " shared libraries]"
echo " "
echo " You can also add or change paths and flags to the compile line using"
- echo " the following environment varibles or by assigning them to their counterparts"
+ echo " the following environment variables or by assigning them to their counterparts"
echo " in the 'Things You Can Modify to Override...'" section of $prog_name
echo " "
echo " Variable Current value to be replaced"
@@ -278,7 +279,7 @@ done
# It's possible that there isn't a modules flag...
fmodules=""
if test -n "$F9XMODFLAG"; then
- fmodules="${F9XMODFLAG}${includedir}"
+ fmodules="${F9XMODFLAG}${fmoddir}"
fi
if test "x$do_compile" = "xyes"; then
@@ -298,7 +299,7 @@ fi
if test "x$do_link" = "xyes"; then
shared_link=""
-# conditionnaly link with the hl library
+# conditionally link with the hl library
if test "X$HL" = "Xhl"; then
libraries=" $libraries -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 "
else
@@ -358,9 +359,9 @@ if test "x$do_link" = "xyes"; then
# module. It's okay if they're included twice in the compile line.
link_args="$link_args $H5BLD_LDFLAGS $H5BLD_LIBS"
- # User's FCFLAGS come after their H5BLD counterparts. User's LDFLAGS come just
- # before clibpath, user's LIBS come after $link_objs and before the hdf5
- # libraries in $link_args, followed by any external library paths and libraries
+ # User's FCFLAGS come after their H5BLD counterparts. User's LDFLAGS come just
+ # before clibpath, user's LIBS come after $link_objs and before the hdf5
+ # libraries in $link_args, followed by any external library paths and libraries
# from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in from the hdf5 build.
# The order of the flags is intended to give precedence to the user's flags.
$SHOW $FLINKER $FCFLAGS $H5BLD_FCFLAGS $F9XSUFFIXFLAG $LDFLAGS $fmodules $link_objs $LIBS $link_args $shared_link
diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt
index f69ef8f..bae478c 100644
--- a/hl/fortran/src/CMakeLists.txt
+++ b/hl/fortran/src/CMakeLists.txt
@@ -86,7 +86,7 @@ if (NOT ONLY_SHARED_LIBS)
add_library (${HDF5_HL_F90_LIB_TARGET} STATIC ${HDF5_HL_F90_F_SRCS})
target_include_directories (${HDF5_HL_F90_LIB_TARGET}
PRIVATE "${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/static;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
- INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/static>"
+ INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${HDF5_INSTALL_MODULE_DIR}/static>"
)
target_compile_options(${HDF5_HL_F90_LIB_TARGET} PRIVATE "${HDF5_CMAKE_Fortran_FLAGS}")
target_compile_definitions(${HDF5_HL_F90_LIB_TARGET}
@@ -112,7 +112,7 @@ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
add_library (${HDF5_HL_F90_LIBSH_TARGET} SHARED ${HDF5_HL_F90_F_SRCS})
target_include_directories (${HDF5_HL_F90_LIBSH_TARGET}
PRIVATE "${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
- INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/shared>"
+ INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${HDF5_INSTALL_MODULE_DIR}/shared>"
)
target_compile_options(${HDF5_HL_F90_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_Fortran_FLAGS}")
target_compile_definitions(${HDF5_HL_F90_LIBSH_TARGET}
@@ -158,7 +158,7 @@ if (NOT ONLY_SHARED_LIBS)
FILES
${mod_files}
DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}/static
+ ${HDF5_INSTALL_MODULE_DIR}/static
COMPONENT
fortheaders
)
@@ -184,7 +184,7 @@ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
FILES
${modsh_files}
DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}/shared
+ ${HDF5_INSTALL_MODULE_DIR}/shared
COMPONENT
fortheaders
)
@@ -233,6 +233,7 @@ set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
set (_PKG_CONFIG_EXEC_PREFIX \${prefix})
set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib)
set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include)
+set (_PKG_CONFIG_MODULEDIR \${prefix}/mod)
set (_PKG_CONFIG_LIBNAME "${HDF5_HL_F90_LIB_CORENAME}")
set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
@@ -249,7 +250,7 @@ set (_PKG_CONFIG_REQUIRES "${HDF5_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}")
set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}")
configure_file (
- ${HDF_CONFIG_DIR}/libhdf5.pc.in
+ ${HDF_CONFIG_DIR}/libhdf5.fpc.in
${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_HL_F90_LIB_CORENAME}.pc
@ONLY
)
diff --git a/hl/fortran/src/Makefile.am b/hl/fortran/src/Makefile.am
index 6d1b842..54a561b 100644
--- a/hl/fortran/src/Makefile.am
+++ b/hl/fortran/src/Makefile.am
@@ -22,7 +22,7 @@ include $(top_srcdir)/config/lt_vers.am
AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/hl/src -I$(top_builddir)/hl/src \
-I$(top_srcdir)/fortran/src -I$(top_builddir)/fortran/src
-AM_FCFLAGS+=-I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src
+AM_FCFLAGS+=-I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src $(F9XMODFLAG)$(fmoddir)
# Our main target, the high-level fortran library
lib_LTLIBRARIES=libhdf5hl_fortran.la
@@ -78,13 +78,13 @@ clean-local:
install-data-local:
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
- $(CP) $(top_builddir)/$(subdir)/*.$(F9XMODEXT) $(DESTDIR)$(includedir)/. ; \
+ $(CP) $(top_builddir)/$(subdir)/*.$(F9XMODEXT) $(DESTDIR)$(fmoddir)/. ; \
fi
uninstall-local:
@if test -n "$(F9XMODEXT)" -a "X$(F9XMODEXT)" != "Xo"; then \
- if test -f "$(includedir)/hdf5.$(F9XMODEXT)" -o -f "$(DESTDIR)$(includedir)/HDF5.$(F9XMODEXT)"; then \
- set -x; $(RM) $(includedir)/*.$(F9XMODEXT); \
+ if test -f "$(fmoddir)/hdf5.$(F9XMODEXT)" -o -f "$(DESTDIR)$(fmoddir)/HDF5.$(F9XMODEXT)"; then \
+ set -x; $(RM) $(fmoddir)/*.$(F9XMODEXT); \
fi; \
fi
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index d51522f..5d338c3 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -743,6 +743,18 @@ HDF5_BUILD_HL_TOOLS "Build HIGH Level HDF5 Tools" ON
if (HDF5_BUILD_FORTRAN)
HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON
+---------------- HDF5 Folder Build Options ---------------------
+Defaults relative to $<INSTALL_PREFIX>
+HDF5_INSTALL_BIN_DIR "bin"
+HDF5_INSTALL_LIB_DIR "lib"
+HDF5_INSTALL_INCLUDE_DIR "include"
+HDF5_INSTALL_MODULE_DIR "mod"
+HDF5_INSTALL_CMAKE_DIR "cmake"
+if (MSVC)
+ HDF5_INSTALL_DATA_DIR "."
+else ()
+ HDF5_INSTALL_DATA_DIR "share"
+
---------------- HDF5 Advanced Options ---------------------
ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF
ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 08ea134..99a1da3 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -49,6 +49,22 @@ New Features
Configuration:
-------------
+ - Correct the usage of CMAKE_Fortran_MODULE_DIRECTORY and where to
+ install Fortran mod files.
+
+ The Fortran modules files, ending in .mod are files describing a
+ Fortran 90 (and above) module API and ABI. These are not like C
+ header files describing an API, they are compiler dependent and
+ arch dependent, and not easily readable by a human being. They are
+ nevertheless searched for in the includes directories by gfortran
+ (in directories specified with -I).
+
+ Autotools configure uses the -fmoddir option to specify the folder.
+ CMake will use "mod" folder by default unless overridden by the CMake
+ variable; HDF5_INSTALL_MODULE_DIR.
+
+ (ADB - 2022/07/21)
+
- Added new option to the h5cc scripts produced by CMake.
Add -showconfig option to h5cc scripts to cat the