diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index 41d99fe3e5..d9a0cc2e32 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -186,7 +186,7 @@ To build HDF5 with the SZIP and ZLIB external libraries you will need to: Linux will set the default to: "myhdfstuff/HDF_Group/HDF5/2."X"."Y" The default can be changed by adding ",INSTALLDIR=" to the - "ctest -S HDF5config.cmake..." command. For example on linux: + "ctest -S HDF5config.cmake..." command. For example on linux: ctest -S HDF5config.cmake,INSTALLDIR=/usr/local/myhdf5,BUILD_GENERATOR=Unix -C Release -VV -O hdf5.log @@ -309,8 +309,8 @@ IV. Further considerations B. Use source packages from an GIT server by adding the following CMake options: HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="GIT" - ZLIB_GIT_URL:STRING="https://some_location/zlib" - ZLIB_GIT_BRANCH="some_branch" + ZLIB_GIT_URL:STRING="https://some_location/zlib" or ZLIBNG_GIT_URL:STRING="https://some_location/zlibng" + ZLIB_GIT_BRANCH="some_branch" or ZLIBNG_GIT_BRANCH="some_branch" SZIP_GIT_URL:STRING="https://some_location/szip" SZIP_GIT_BRANCH="some_branch" LIBAEC_GIT_URL:STRING="https://some_location/libaec" @@ -322,7 +322,7 @@ IV. Further considerations C. Use source packages from a compressed file by adding the following CMake options: HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ" - ZLIB_TGZ_NAME:STRING="zlib_src.ext" + ZLIB_TGZ_NAME:STRING="zlib_src.ext" or ZLIBNG_TGZ_NAME:STRING="zlibng_src.ext" LIBAEC_TGZ_NAME:STRING="libaec_src.ext" TGZPATH:STRING="some_location" where "some_location" is the URL or full path to the compressed @@ -335,8 +335,8 @@ IV. Further considerations LIBAEC_TGZ_NAME:STRING="szip_src.ext" LIBAEC_TGZ_ORIGPATH:STRING="some_location" - ZLIB_TGZ_NAME:STRING="zlib_src.ext" - ZLIB_TGZ_ORIGPATH:STRING="some_location" + ZLIB_TGZ_NAME:STRING="zlib_src.ext" or ZLIBNG_TGZ_NAME:STRING="zlibng_src.ext" + ZLIB_TGZ_ORIGPATH:STRING="some_location" or ZLIBNG_TGZ_ORIGPATH:STRING="some_location" HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ" where "some_location" is the URL and by setting @@ -433,7 +433,7 @@ Notes: CMake and HDF5 how CMake support can be improved on any system. Visit the Kitware site for more information about CMake. - 3. Build and test results can be submitted to our CDash server: + 3. Build and test results can be submitted to our HDF5 CDash server: The CDash server for community submissions of hdf5 is at https://my.cdash.org. @@ -481,6 +481,11 @@ These five steps are described in detail below. available in your Start menu. For Linux, UNIX, and Mac users the executable is named "cmake-gui" and can be found where CMake was installed. + Another option is to use the presets file, CMakePresets.json, to configure, + build, test, and package HDF5. See section X: Using CMakePresets.json for compiling + for use of that file. You can create a CMakeUserPresets.json file to create a + specific configuration for your environment. Note that Visual Studio and XCode can + use the presets files. Specify the source and build directories. @@ -503,39 +508,37 @@ These five steps are described in detail below. * MinGW Makefiles * NMake Makefiles * Unix Makefiles - * Visual Studio 14 2015 - * Visual Studio 14 2015 Win64 + * Ninja * Visual Studio 15 2017 * Visual Studio 15 2017 Win64 * Visual Studio 16 2019 * Visual Studio 17 2022 is: - * SZIP_INCLUDE_DIR:PATH= - * SZIP_LIBRARY:FILEPATH= - * libaec_INCLUDE_DIR:PATH= - * libaec_LIBRARY:FILEPATH= - * ZLIB_INCLUDE_DIR:PATH= - * ZLIB_LIBRARY:FILEPATH= + For installed SZIP/libaec: + * SZIP_INCLUDE_DIR:PATH= + * SZIP_LIBRARY:FILEPATH= + * libaec_INCLUDE_DIR:PATH= + * libaec_LIBRARY:FILEPATH= + or + * SZIP_ROOT:PATH= + * libaec_ROOT:PATH= + For installed ZLIB/ZLIBNG: + * ZLIB_INCLUDE_DIR:PATH= + * ZLIB_LIBRARY:FILEPATH= + or + * ZLIB_ROOT:PATH= * :BOOL=[ON | OFF] - is: + highlights are: # This is the CMakeCache file used by HDF Group for daily tests. set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE) - set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE) set (HDF_PACKAGE_NAMESPACE "hdf5::" CACHE STRING "Name for HDF package namespace (can be empty)" FORCE) set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build C++ support" FORCE) set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE) set (HDF5_BUILD_JAVA ON CACHE BOOL "Build JAVA support" FORCE) - set (HDF5_INSTALL_MOD_FORTRAN "NO" CACHE STRING "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" FORCE) - set_property (CACHE HDF5_INSTALL_MOD_FORTRAN PROPERTY STRINGS NO SHARED STATIC) - set (HDF5_BUILD_GENERATORS ON CACHE BOOL "Build Test Generators" FORCE) - set (MPIEXEC_MAX_NUMPROCS "4" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE) set (HDF5_ENABLE_ALL_WARNINGS ON CACHE BOOL "Enable all warnings" FORCE) - set (HDF_TEST_EXPRESS "2" CACHE STRING "Control testing framework (0-3)" FORCE) - set (HDF5_MINGW_STATIC_GCC_LIBS ON CACHE BOOL "Statically link libgcc/libstdc++" FORCE) set (HDF5_ALLOW_EXTERNAL_SUPPORT "TGZ" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE) - set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) ######################## # compression options ######################## @@ -558,12 +561,6 @@ These five steps are described in detail below. set (LIBAEC_GIT_URL "https://github.com/MathisRosenhauer/libaec.git" CACHE STRING "Use LIBAEC from GitHub repository" FORCE) set (LIBAEC_GIT_BRANCH "v1.1.3" CACHE STRING "" FORCE) ######################## - # API test options - ######################## - set (KWSYS_TGZ_ORIGPATH "https://gitlab.kitware.com/utils/kwsys/-/archive/master" CACHE STRING "Use KWSYS from original location" FORCE) - set (KWSYS_TGZ_NAME "kwsys-master.tar.gz" CACHE STRING "Use KWSYS from original compressed file" FORCE) - set (KWSYS_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for KWSYS FetchContent" FORCE) - ######################## # filter plugin options ######################## set (PLUGIN_TGZ_ORIGPATH "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot" CACHE STRING "Use PLUGINS from original location" FORCE) @@ -572,111 +569,6 @@ These five steps are described in detail below. set (PLUGIN_PACKAGE_NAME "pl" CACHE STRING "Name of PLUGIN package" FORCE) set (PLUGIN_GIT_URL "https://github.com/HDFGroup/hdf5_plugins.git" CACHE STRING "Use plugins from HDF Group repository" FORCE) set (PLUGIN_GIT_BRANCH "master" CACHE STRING "" FORCE) - ############# - # bitshuffle - ############# - set (BSHUF_GIT_URL "https://github.com/kiyo-masui/bitshuffle.git" CACHE STRING "Use BSHUF from HDF repository" FORCE) - set (BSHUF_GIT_BRANCH "master" CACHE STRING "" FORCE) - set (BSHUF_TGZ_ORIGPATH "https://github.com/kiyo-masui/bitshuffle/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BSHUF_TGZ_NAME "bitshuffle-0.5.1.tar.gz" CACHE STRING "Use BSHUF from compressed file" FORCE) - set (BSHUF_PACKAGE_NAME "bshuf" CACHE STRING "Name of BSHUF package" FORCE) - ######## - # blosc - ######## - set (BLOSC_GIT_URL "https://github.com/Blosc/c-blosc.git" CACHE STRING "Use BLOSC from Github repository" FORCE) - set (BLOSC_GIT_BRANCH "main" CACHE STRING "" FORCE) - set (BLOSC_TGZ_ORIGPATH "https://github.com/Blosc/c-blosc/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC_TGZ_NAME "c-blosc-1.21.6.tar.gz" CACHE STRING "Use BLOSC from compressed file" FORCE) - set (BLOSC_PACKAGE_NAME "blosc" CACHE STRING "Name of BLOSC package" FORCE) - set (BLOSC_ZLIB_GIT_URL "https://github.com/madler/zlib.git" CACHE STRING "Use ZLIB from GitHub repository" FORCE) - set (BLOSC_ZLIB_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (BLOSC_ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC_ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) - set (BLOSC_ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of BLOSC_ZLIB package" FORCE) - ######## - # blosc2 - ######## - set (BLOSC2_GIT_URL "https://github.com/Blosc/c-blosc2.git" CACHE STRING "Use BLOSC2 from Github repository" FORCE) - set (BLOSC2_GIT_BRANCH "main" CACHE STRING "" FORCE) - set (BLOSC2_TGZ_ORIGPATH "https://github.com/Blosc/c-blosc2/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC2_TGZ_NAME "c-blosc2-2.15.1.tar.gz" CACHE STRING "Use BLOSC2 from compressed file" FORCE) - set (BLOSC2_PACKAGE_NAME "blosc2" CACHE STRING "Name of BLOSC2 package" FORCE) - set (BLOSC2_ZLIB_GIT_URL "https://github.com/madler/zlib.git" CACHE STRING "Use ZLIB from GitHub repository" FORCE) - set (BLOSC2_ZLIB_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (BLOSC2_ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC2_ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) - set (BLOSC2_ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of BLOSC2_ZLIB package" FORCE) - ######## - # bzip2 - ######## - set (BZ2_GIT_URL "https://github.com/libarchive/bzip2.git" CACHE STRING "Use BZ2 from GitHub repository" FORCE) - set (BZ2_GIT_BRANCH "bzip2-1.0.8" CACHE STRING "" FORCE) - set (BZ2_TGZ_ORIGPATH "https://github.com/libarchive/bzip2/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BZ2_TGZ_NAME "bzip2-bzip2-1.0.8.tar.gz" CACHE STRING "Use BZ2 from compressed file" FORCE) - set (BZ2_PACKAGE_NAME "bz2" CACHE STRING "Name of BZ2 package" FORCE) - ######## - # fpzip - ######## - set (FPZIP_GIT_URL "https://github.com/LLNL/fpzip.git" CACHE STRING "Use FPZIP from GitHub repository" FORCE) - set (FPZIP_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (FPZIP_TGZ_ORIGPATH "https://github.com/LLNL/fpzip/releases/download/1.3.0" CACHE STRING "Use PLUGINS from original location" FORCE) - set (FPZIP_TGZ_NAME "fpzip-1.3.0.tar.gz" CACHE STRING "Use FPZIP from compressed file" FORCE) - set (FPZIP_PACKAGE_NAME "fpzip" CACHE STRING "Name of FPZIP package" FORCE) - ####### - # jpeg - ####### - set (JPEG_GIT_URL "https://github.com/libjpeg-turbo/libjpeg-turbo.git" CACHE STRING "Use JPEG from TurboJPEG" FORCE) - set (JPEG_GIT_BRANCH "jpeg-9e" CACHE STRING "" FORCE) - set (JPEG_TGZ_ORIGPATH "https://www.ijg.org/files" CACHE STRING "Use PLUGINS from original location" FORCE) - set (JPEG_TGZ_NAME "jpegsrc.v9e.tar.gz" CACHE STRING "Use JPEG from compressed file" FORCE) - set (JPEG_PACKAGE_NAME "jpeg" CACHE STRING "Name of JPEG package" FORCE) - ###### - # lz4 - ###### - set (BUILD_LZ4_LIBRARY_SOURCE ON CACHE BOOL "build the lz4 library within the plugin" FORCE) - set (LZ4_GIT_URL "https://github.com/lz4/lz4.git" CACHE STRING "Use LZ4 from GitHub repository" FORCE) - set (LZ4_GIT_BRANCH "dev" CACHE STRING "" FORCE) - set (LZ4_TGZ_ORIGPATH "https://github.com/lz4/lz4/releases/download/v1.10.0" CACHE STRING "Use PLUGINS from original location" FORCE) - set (LZ4_TGZ_NAME "lz4-1.10.0.tar.gz" CACHE STRING "Use LZ4 from compressed file" FORCE) - set (LZ4_PACKAGE_NAME "lz4" CACHE STRING "Name of LZ4 package" FORCE) - ###### - # lzf - ###### - set (LZF_URL "http://software.schmorp.de/pkg/liblzf.html" CACHE STRING "LZF home" FORCE) - set (LZF_TGZ_ORIGPATH "http://dist.schmorp.de/liblzf" CACHE STRING "Use LZF from original location" FORCE) - set (LZF_TGZ_NAME "liblzf-3.6.tar.gz" CACHE STRING "Use LZF from compressed file" FORCE) - set (LZF_PACKAGE_NAME "lzf" CACHE STRING "Name of LZF package" FORCE) - ######### - # mafisc - ######### - #set (BUILD_MAFISC_LIBRARY_SOURCE OFF CACHE BOOL "build the mafisc library within the plugin" FORCE) - #set (MAFISC_TGZ_ORIGPATH "" CACHE STRING "Use PLUGINS from original location" FORCE) - #set (MAFISC_TGZ_NAME ".tar.gz" CACHE STRING "Use MAFISC from compressed file" FORCE) - #set (MAFISC_PACKAGE_NAME "mafisc" CACHE STRING "Name of MAFISC package" FORCE) - ##### - # sz - ##### - set (SZ_GIT_URL "https://github.com/szcompressor/SZ.git" CACHE STRING "Use SZ filter from GitHub repository" FORCE) - set (SZ_GIT_BRANCH "master" CACHE STRING "" FORCE) - set (SZ_TGZ_ORIGPATH "https://github.com/szcompressor/SZ/releases/download/v2.1.12.5" CACHE STRING "Use PLUGINS from original location" FORCE) - set (SZ_TGZ_NAME "SZ-2.1.12.5.tar.gz" CACHE STRING "Use SZ filter from compressed file" FORCE) - set (SZ_PACKAGE_NAME "SZ" CACHE STRING "Name of SZ filter package" FORCE) - ###### - # zfp - ###### - set (ZFP_GIT_URL "https://github.com/LLNL/zfp.git" CACHE STRING "Use ZFP from GitHub repository" FORCE) - set (ZFP_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (ZFP_TGZ_ORIGPATH "https://github.com/LLNL/zfp/releases/download/1.0.0" CACHE STRING "Use PLUGINS from original location" FORCE) - set (ZFP_TGZ_NAME "zfp-1.0.1.tar.gz" CACHE STRING "Use ZFP from compressed file" FORCE) - set (ZFP_PACKAGE_NAME "zfp" CACHE STRING "Name of ZFP package" FORCE) - ###### - # zstd - ###### - set (ZSTD_GIT_URL "https://github.com/facebook/zstd.git" CACHE STRING "Use ZSTD from GitHub repository" FORCE) - set (ZSTD_GIT_BRANCH "dev" CACHE STRING "" FORCE) - set (ZSTD_TGZ_ORIGPATH "https://github.com/facebook/zstd/releases/download/v1.5.6" CACHE STRING "Use PLUGINS from original location" FORCE) - set (ZSTD_TGZ_NAME "zstd-1.5.6.tar.gz" CACHE STRING "Use ZSTD from compressed file" FORCE) - set (ZSTD_PACKAGE_NAME "zstd" CACHE STRING "Name of ZSTD package" FORCE) 2. Configure the cache settings @@ -814,6 +706,40 @@ These five steps are described in detail below. WiX--the Windows Installer XML toolset--lets developers create installers for Windows Installer, the Windows installation engine. See http://wixtoolset.org. + 10. Backward compatibility + The 2.0.0 version of the HDF5 library can be configured to + set all versioned functions to the version that was available in one of these HDF5_DEFAULT_API_VERSIONs + HDF5_DEFAULT_API_VERSION:STRING=v114 + HDF5_DEFAULT_API_VERSION:STRING=v112 + HDF5_DEFAULT_API_VERSION:STRING=v110 + HDF5_DEFAULT_API_VERSION:STRING=v18 + HDF5_DEFAULT_API_VERSION:STRING=v16 + This allows existing code to be compiled with the + v2.0 library without requiring immediate changes to the application + source code. + + Note that because 2.0.0 is a major release, as long as the existing application + code doesn't use symbols removed in 2.0.0, the code can be compiled and run with + the new library. + + For additional configuration options and other details, + see "API Compatibility Macros": + https://hdfgroup.github.io/hdf5/develop/api-compat-macros.html + + 11. Building doxygen + One can optionally build the doxygen files for the HDF5 C library. + By default, this option is disabled. To build the html files, specify + 'HDF5_BUILD_DOC'. + + cmake -G "" -DHDF5_BUILD_DOC:BOOL=ON + + Configuration will halt if the required applications are not available. + To build: + + cmake --build . --config {Debug | Release} + or + make doxygen + ======================================================================== VI. CMake Option Defaults for HDF5 @@ -821,13 +747,13 @@ VI. CMake Option Defaults for HDF5 In the options listed below, there are three columns of information: Option Name, Option Description, and Option Default. -The config/cmake/cacheinit.cmake file can override the following values. +The config/cmake/cacheinit.cmake or CMakePresets.json file can override the following values. ---------------- General Build Options ------------------------------------- -BUILD_SHARED_LIBS "Build Shared Libraries" ON -BUILD_STATIC_LIBS "Build Static Libraries" ON -BUILD_STATIC_EXECS "Build Static Executables" OFF -BUILD_TESTING "Build HDF5 Unit Testing" ON +BUILD_SHARED_LIBS "Build Shared Libraries" ON +BUILD_STATIC_LIBS "Build Static Libraries" ON +BUILD_STATIC_EXECS "Build Static Executables" OFF +BUILD_TESTING "Build HDF5 Unit Testing" ON if (WINDOWS) HDF5_DISABLE_PDB_FILES "Do not install PDB files" OFF @@ -856,7 +782,7 @@ HDF5_INSTALL_DOC_DIR "HDF5_INSTALL_DATA_DIR" HDF5_USE_GNU_DIRS "ON to use GNU Coding Standard install directory variables, OFF to use historical settings" OFF -Defaults as defined by the `GNU Coding Standards` +Defaults as defined by the 'GNU Coding Standards' HDF5_INSTALL_BIN_DIR "bin" HDF5_INSTALL_LIB_DIR "lib" HDF5_INSTALL_INCLUDE_DIR "include" @@ -870,7 +796,7 @@ HDF5_ONLY_SHARED_LIBS "Only Build Shared Libraries" HDF5_ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF -HDF5_ENABLE_CONCURRENCY "Enable multi-threaded concurrency" OFF +HDF5_ENABLE_CONCURRENCY "Enable multi-threaded concurrency" OFF HDF5_DIMENSION_SCALES_NEW_REF "Use new-style references with dimension scale APIs" OFF HDF5_EXTERNAL_LIB_PREFIX "Use prefix for custom library naming." "" HDF5_EXTERNAL_LIB_SUFFIX "Use suffix for custom library naming." "" @@ -907,13 +833,13 @@ HDF5_MINGW_STATIC_GCC_LIBS "Statically link libgcc/libstdc++" if (APPLE) HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF if (CMAKE_BUILD_TYPE MATCHES Debug) - HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF + HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF if (HDF5_BUILD_FORTRAN) - HDF5_INSTALL_MOD_FORTRAN "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" SHARED - if (BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED - if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED - if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC - if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED + HDF5_INSTALL_MOD_FORTRAN "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" SHARED + if (BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED + if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED + if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC + if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED HDF5_ENABLE_ANALYZER_TOOLS "enable the use of Clang tools" OFF HDF5_ENABLE_SANITIZERS "execute the Clang sanitizer" OFF @@ -949,34 +875,34 @@ if (BUILD_TESTING) HDF5_DISABLE_TESTS_REGEX "Regex pattern to set execution of specific tests to DISABLED" "" HDF5_USING_ANALYSIS_TOOL "Indicate that an analysis checker is used" ON ---------------- External Library Options --------------------- -HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO" -HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF -HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF -HDF5_ENABLE_ZLIB_SUPPORT "Enable Zlib Filters" OFF +HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO" +HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF +HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF +HDF5_ENABLE_ZLIB_SUPPORT "Enable Zlib Filters" OFF if (HDF5_USE_ZLIB_NG) - ZLIBNG_USE_EXTERNAL "Use External Library Building for ZLIBNG" OFF - ZLIBNG_TGZ_ORIGPATH "Use ZLIBNG from original location" "https://github.com/zlib-ng/zlib-ng/releases/tag/2.2.2" - ZLIBNG_TGZ_NAME "Use ZLIBNG from original compressed file" "2.2.2.tar.gz" + ZLIBNG_USE_EXTERNAL "Use External Library Building for ZLIBNG" OFF + ZLIBNG_TGZ_ORIGPATH "Use ZLIBNG from original location" "https://github.com/zlib-ng/zlib-ng/releases/tag/2.2.2" + ZLIBNG_TGZ_NAME "Use ZLIBNG from original compressed file" "2.2.2.tar.gz" else - ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF - ZLIB_TGZ_ORIGPATH "Use ZLIB from original location" "https://github.com/madler/zlib/releases/download/v1.3.1" - ZLIB_TGZ_NAME "Use ZLIB from original compressed file" "zlib-1.3.1.tar.gz" -ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" OFF -HDF5_USE_ZLIB_STATIC "Find static zlib library" OFF + ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF + ZLIB_TGZ_ORIGPATH "Use ZLIB from original location" "https://github.com/madler/zlib/releases/download/v1.3.1" + ZLIB_TGZ_NAME "Use ZLIB from original compressed file" "zlib-1.3.1.tar.gz" +ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" OFF +HDF5_USE_ZLIB_STATIC "Find static zlib library" OFF -SZIP_USE_EXTERNAL "Use External Library Building for SZIP else search" OFF +SZIP_USE_EXTERNAL "Use External Library Building for SZIP else search" OFF if (HDF5_ENABLE_SZIP_SUPPORT) - HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON -LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://github.com/MathisRosenhauer/libaec/releases/download/v1.1.3" -LIBAEC_TGZ_NAME "Use LIBAEC from original compressed file" "libaec-1.1.3.tar.gz" -LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" OFF -HDF5_USE_LIBAEC_STATIC "Find static AEC library" OFF + HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON +LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://github.com/MathisRosenhauer/libaec/releases/download/v1.1.3" +LIBAEC_TGZ_NAME "Use LIBAEC from original compressed file" "libaec-1.1.3.tar.gz" +LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" OFF +HDF5_USE_LIBAEC_STATIC "Find static AEC library" OFF -PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS else search" OFF -PLUGIN_TGZ_ORIGPATH "Use PLUGIN from original location" "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot" -PLUGIN_TGZ_NAME "Use PLUGIN from original compressed file" "hdf5_plugins-master.tar.gz" -PLUGIN_USE_LOCALCONTENT "Use local file for PLUGIN FetchContent" OFF +PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS else search" OFF +PLUGIN_TGZ_ORIGPATH "Use PLUGIN from original location" "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot" +PLUGIN_TGZ_NAME "Use PLUGIN from original compressed file" "hdf5_plugins-master.tar.gz" +PLUGIN_USE_LOCALCONTENT "Use local file for PLUGIN FetchContent" OFF if (WINDOWS) H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin" else () @@ -1041,7 +967,7 @@ CMAKE_CXX_FLAGS variables. Using a cmake script: set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") Defined on the configure line: - cmake -G "Visual Studio 12 2013" -DCMAKE_C_FLAGS:STRING=-O2 .. + cmake -G "Visual Studio 17 2019" -DCMAKE_C_FLAGS:STRING=-O2 .. Debug symbols are enabled with configuration selections Debug or RelWithDebInfo. The difference between Debug and RelWithDebInfo configurations is that @@ -1148,7 +1074,7 @@ HDF-provided CMakePresets.json ------------------------------- The CMakePresets.json provided by HDF requires CMake version 3.25, which supports package and workflow presets, and ninja build system. The top-level configuration group is intended to be -a standard set of options to produce a package of shared and staic libraries and tools. Other configurations +a standard set of options to produce a package of shared and static libraries and tools. Other configurations used for inheriting settings are in the included json file in "config/cmake-presets/hidden-presets.json". Available configurations presets can be displayed by executing: