* Add Linux only Developer workflow
* Add Windows job
* -Og already set in GNUFlags file for Debug/Developer mode
* Skip fheap test that times out
* Add mac and clang jobs
* Control version of CMake when building with plugins
clang complains that H5FD_MEM_NTYPES, which is a member of H5FD_mem_t,
is being used with a variable of type H5F_mem_page_t. This is fine
since H5F_mem_t is a subset of H5F(D)_mem_page_t and we're restricting
ourselves to the subset in this case.
Build test generator programs against shared libraries, if available,
by default. Otherwise, build them against static libraries. If
HDF5_BUILD_STATIC_TOOLS is set to ON, the tools test generator
programs will be built against static libraries even if shared
libraries are available.
* h5cc: Fix location of settings and pkgconfig files
In h5cc and other compiler wrappers, drop hardcoded 'lib' as the dir for
libhdf5.settings and pkgconfig scripts and use cmake computed values for
HDF5_INSTALL_LIB_DIR. This fixes issues on systems where the libdir is
'lib64' for instance, as on 64-bit Linux OSes, and 'lib' in the
wrappers point to incorrect locations of the settings and pkgconfig
files.
* h5cc: Drop -show from output when calling command.
When calling `h5cc -show FOO`, the output should not repeat the '-show'
argument itself. This commit fixes the '-show' command invoked from a
cmake built h5cc to be consistent with an (previously) autotools built
one.
Some standard headers might implicitly include `float.h`. If that happens
before `__STDC_WANT_IEC_60559_TYPES_EXT__` is defined, the macros that
are needed for the `_Float16` data type (like `FLT16_MAX`) might not be
defined.
That is happening with mingw-w64 headers since the following change: b40b6a021d
Define `__STDC_WANT_IEC_60559_TYPES_EXT__` before including other headers
in `H5private.h` to make that scenario less likely.
* Fix an oversize allocation in t_bigio on 32-bit systems
A test in t_bigio.c attempts to allocate more than 4 GiB of memory,
which will overflow (and wrap) the size_t type on 32-bit systems,
creating a very small allocation instead of a very large allocation.
The test then segfaults when it accesses memory outside of the small
buffer.
The test has been fixed by limiting the buffer to 2 GiB on 32-bit
systems.