Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hdf5 1 10 merges of CMake changes #738

Merged
merged 91 commits into from
Jun 8, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
ebe023d
HDFFV-10865 - merge from dev, HDFArray perf fix.
byrnHDF Dec 29, 2020
cc749db
Remove duplicate setting
byrnHDF Jan 4, 2021
5e6ecc2
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jan 11, 2021
a9227df
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jan 23, 2021
12c9d1a
Whitespace changes after clang format
byrnHDF Jan 27, 2021
55d3565
Undo version 11 clang format changes
byrnHDF Jan 28, 2021
ee4ebd3
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 1, 2021
51e5378
Merge CMake changes from develop
byrnHDF Feb 1, 2021
bbc9609
test testing script merge from develop
byrnHDF Feb 1, 2021
a8ae83d
Update supported platforms
byrnHDF Feb 2, 2021
02f185b
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 4, 2021
39d6885
PR#3 merge from develop
byrnHDF Feb 4, 2021
28e5eb4
Merge gcc 10 diagnostics option from develop
byrnHDF Feb 8, 2021
678653c
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 9, 2021
55368fa
Merge #318 OSX changes from develop
byrnHDF Feb 9, 2021
c74c09c
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 9, 2021
d8011e2
Merge small changes from develop
byrnHDF Feb 16, 2021
516ac71
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 17, 2021
a6de013
Minor non-space formatting changes
byrnHDF Feb 18, 2021
4b17412
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 19, 2021
7faebce
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 24, 2021
1e21839
#386 copyright corrections for java folder
byrnHDF Feb 26, 2021
a80a571
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 1, 2021
4d7a150
Merges from develop
byrnHDF Mar 2, 2021
e8df4b9
Merge updates
byrnHDF Mar 3, 2021
86563f0
format fix
byrnHDF Mar 3, 2021
7fa5973
Fix missing underscore and make H5public.h closer to dev
byrnHDF Mar 3, 2021
35e1e68
Merges from develop
byrnHDF Mar 4, 2021
061da5f
format alignment
byrnHDF Mar 4, 2021
4f5536c
Add missing test ref file
byrnHDF Mar 4, 2021
84737cb
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 5, 2021
a60c646
Merge #380 from develop
byrnHDF Mar 5, 2021
b0ee8ed
Finish java merges from develop
byrnHDF Mar 8, 2021
b6fd847
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 8, 2021
24df8de
Fix java issues with tests and javadoc
byrnHDF Mar 9, 2021
7be7ae3
Correct use of attribute access plist
byrnHDF Mar 9, 2021
9c625d6
Remove debug code
byrnHDF Mar 9, 2021
754f639
Remove unused variable
byrnHDF Mar 9, 2021
b48feaf
Change file access to read only for java tests
byrnHDF Mar 9, 2021
655a5b1
Split clang format operations.
byrnHDF Mar 9, 2021
01e9241
More javadoc comments
byrnHDF Mar 9, 2021
ea5b297
Remove pre-split setting
byrnHDF Mar 10, 2021
0bd7344
format source
byrnHDF Mar 10, 2021
0c02446
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 10, 2021
b6f6343
Change windows TS to use older VS.
byrnHDF Mar 10, 2021
d5fae65
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 10, 2021
2e79275
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 15, 2021
5c353c3
Mostly all javadoc fixes, one argument rename.
byrnHDF Mar 24, 2021
710cab2
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 25, 2021
9c8f446
synch file
byrnHDF Mar 25, 2021
397bc7d
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 31, 2021
df834ed
Merge of long double fix and compiler flags
byrnHDF Mar 31, 2021
6493701
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 2, 2021
5fde49d
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 5, 2021
c58432f
HDFFV-11229 merge changes from develop
byrnHDF Apr 5, 2021
ddd18c4
HDFFV-11229 correct test script
byrnHDF Apr 5, 2021
64b41eb
HDFFV-11229 update autotools test script for two ref files
byrnHDF Apr 5, 2021
aab960b
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 7, 2021
93689e0
HDFFV-11229 merge dev changes for long double display in tools
byrnHDF Apr 7, 2021
5db53ab
Committing clang-format changes
github-actions[bot] Apr 7, 2021
df16379
minor whitespace
byrnHDF Apr 9, 2021
c5809ff
remove unneeded macro
byrnHDF Apr 15, 2021
39970a0
Merge branch 'hdf5_1_10' of https://github.com/byrnHDF/hdf5.git into …
byrnHDF Apr 15, 2021
1c73ec0
Committing clang-format changes
github-actions[bot] Apr 15, 2021
85e0d17
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 20, 2021
e2329c4
Add "option" command for clang options
byrnHDF Apr 20, 2021
2aff5dd
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 21, 2021
289ced6
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 26, 2021
40cb29e
Rework CMake add_custom to use the BYPRODUCTS argument
byrnHDF Apr 28, 2021
7579264
Fortran target depends
byrnHDF Apr 28, 2021
ec8c003
Remove incorrect source attribute
byrnHDF Apr 28, 2021
b899fd2
Revert define removal
byrnHDF Apr 28, 2021
3a97a18
printf specifiers and VS2015 min changes
byrnHDF Apr 29, 2021
240277b
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 29, 2021
ac82eb7
Committing clang-format changes
github-actions[bot] Apr 29, 2021
2ec49e0
Add time struct
byrnHDF Apr 29, 2021
6277997
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 30, 2021
ae7ea50
TRILAB-227 and tools debug merges from develop
byrnHDF May 7, 2021
e970984
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 18, 2021
79b03d3
Merge various changes from dev
byrnHDF May 19, 2021
9a95587
Issue #669 remove version from pkgcfg filename
byrnHDF May 21, 2021
006827c
remove version from h5cc script
byrnHDF May 21, 2021
7f5c5e9
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 25, 2021
5dd2af9
doxygen changes merged from develop
byrnHDF May 25, 2021
7183953
Committing clang-format changes
github-actions[bot] May 25, 2021
55a0fbb
Merge branch 'HDFGroup:hdf5_1_10' into hdf5_1_10
byrnHDF May 26, 2021
1974868
Merge CMake fortran ninja changes from dev
byrnHDF May 27, 2021
27e06cb
Enable fortran to gcc yaml
byrnHDF May 27, 2021
f4fc5ea
Merge branch 'HDFGroup:hdf5_1_10' into hdf5_1_10
byrnHDF Jun 3, 2021
99ad199
Merge branch 'HDFGroup:hdf5_1_10' into hdf5_1_10
byrnHDF Jun 3, 2021
a8185a7
Refactor Fortran CMake config tests and CMake test args
byrnHDF Jun 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 111 additions & 4 deletions config/cmake/ConfigureChecks.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -221,18 +221,125 @@ endif()
# Check if C has __float128 extension
#-----------------------------------------------------------------------------

CHECK_TYPE_SIZE("__float128" ${HDF_PREFIX}_SIZEOF___FLOAT128)
if (${${HDF_PREFIX}_SIZEOF___FLOAT128})
HDF_CHECK_TYPE_SIZE(__float128 _SIZEOF___FLOAT128)
if (${_SIZEOF___FLOAT128})
set (${HDF_PREFIX}_HAVE_FLOAT128 1)
set (${HDF_PREFIX}_SIZEOF___FLOAT128 ${_SIZEOF___FLOAT128})
else ()
set (${HDF_PREFIX}_HAVE_FLOAT128 0)
set (${HDF_PREFIX}_SIZEOF___FLOAT128 0)
endif ()

CHECK_TYPE_SIZE("_Quad" ${HDF_PREFIX}_SIZEOF__QUAD)
if (NOT ${${HDF_PREFIX}_SIZEOF__QUAD})
HDF_CHECK_TYPE_SIZE(_Quad _SIZEOF__QUAD)
if (NOT ${_SIZEOF__QUAD})
set (${HDF_PREFIX}_SIZEOF__QUAD 0)
else ()
set (${HDF_PREFIX}_SIZEOF__QUAD ${_SIZEOF__QUAD})
endif ()

#-----------------------------------------------------------------------------
# The provided CMake C macros don't provide a general compile/run function
# so this one is used.
#-----------------------------------------------------------------------------
macro (C_RUN FUNCTION_NAME SOURCE_CODE RETURN_VAR)
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "Detecting C ${FUNCTION_NAME}")
endif ()
file (WRITE
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
${SOURCE_CODE}
)
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
COMPILE_DEFINITIONS "-D_SIZEOF___FLOAT128=${H5_SIZEOF___FLOAT128};-D_HAVE_QUADMATH_H=${H5_HAVE_QUADMATH_H}"
COMPILE_OUTPUT_VARIABLE COMPILEOUT
RUN_OUTPUT_VARIABLE OUTPUT_VAR
)

set (${RETURN_VAR} ${OUTPUT_VAR})

if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
message (VERBOSE "Test COMPILE_RESULT_VAR ${COMPILE_RESULT_VAR} ")
message (VERBOSE "Test COMPILE_OUTPUT ${COMPILEOUT} ")
message (VERBOSE "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
message (VERBOSE "Test RUN_RESULT_VAR ${RUN_RESULT_VAR} ")
message (VERBOSE "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
endif ()

if (${COMPILE_RESULT_VAR})
if (${RUN_RESULT_VAR} MATCHES 0)
set (${RUN_RESULT_VAR} 1 CACHE INTERNAL "Have C function ${FUNCTION_NAME}")
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "Testing C ${FUNCTION_NAME} - OK")
endif ()
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the C ${FUNCTION_NAME} exists passed with the following output:\n"
"${OUTPUT_VAR}\n\n"
)
else ()
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "Testing C ${FUNCTION_NAME} - Fail")
endif ()
set (${RUN_RESULT_VAR} 0 CACHE INTERNAL "Have C function ${FUNCTION_NAME}")
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the C ${FUNCTION_NAME} exists failed with the following output:\n"
"${OUTPUT_VAR}\n\n")
endif ()
else ()
message (FATAL_ERROR "Compilation of C ${FUNCTION_NAME} - Failed")
endif ()
endmacro ()

set (PROG_SRC
"
#include <float.h>\n\
#include <stdio.h>\n\
#define CHECK_FLOAT128 _SIZEOF___FLOAT128\n\
#if CHECK_FLOAT128!=0\n\
#if _HAVE_QUADMATH_H!=0\n\
#include <quadmath.h>\n\
#endif\n\
#ifdef FLT128_DIG\n\
#define C_FLT128_DIG FLT128_DIG\n\
#else\n\
#define C_FLT128_DIG 0\n\
#endif\n\
#else\n\
#define C_FLT128_DIG 0\n\
#endif\n\
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L\n\
#define C_LDBL_DIG DECIMAL_DIG\n\
#else\n\
#define C_LDBL_DIG LDBL_DIG\n\
#endif\n\nint main() {\nFILE *pFile = fopen(\"pac_Cconftest.out\",\"w\")\\\;\nfprintf(pFile, \"\\%d\\\;\\%d\\\;\", C_LDBL_DIG, C_FLT128_DIG)\\\;\n\nreturn 0\\\;\n}\n
"
)

C_RUN ("maximum decimal precision for C" ${PROG_SRC} PROG_RES)
file (READ "${CMAKE_BINARY_DIR}/pac_Cconftest.out" PROG_OUTPUT4)
message (STATUS "Testing maximum decimal precision for C - ${PROG_OUTPUT4}")

# dnl The output from the above program will be:
# dnl -- long double decimal precision -- __float128 decimal precision

list (GET PROG_OUTPUT4 0 H5_LDBL_DIG)
list (GET PROG_OUTPUT4 1 H5_FLT128_DIG)

if (${HDF_PREFIX}_SIZEOF___FLOAT128 EQUAL 0 OR FLT128_DIG EQUAL 0)
set (${HDF_PREFIX}_HAVE_FLOAT128 0)
set (${HDF_PREFIX}_SIZEOF___FLOAT128 0)
set (_PAC_C_MAX_REAL_PRECISION ${H5_LDBL_DIG})
else ()
set (_PAC_C_MAX_REAL_PRECISION ${H5_FLT128_DIG})
endif ()
if (NOT ${_PAC_C_MAX_REAL_PRECISION})
set (${HDF_PREFIX}_PAC_C_MAX_REAL_PRECISION 0)
else ()
set (${HDF_PREFIX}_PAC_C_MAX_REAL_PRECISION ${_PAC_C_MAX_REAL_PRECISION})
endif ()
message (STATUS "maximum decimal precision for C var - ${${HDF_PREFIX}_PAC_C_MAX_REAL_PRECISION}")

#-----------------------------------------------------------------------------
# Macro to determine the various conversion capabilities
Expand Down
20 changes: 10 additions & 10 deletions config/cmake/H5pubconf.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
/* Define the default plugins path to compile */
#cmakedefine H5_DEFAULT_PLUGINDIR "@H5_DEFAULT_PLUGINDIR@"

/* Define if `dev_t' is a scalar */
/* Define if dev_t is a scalar */
#cmakedefine H5_DEV_T_IS_SCALAR @H5_DEV_T_IS_SCALAR@

/* Define to dummy `main' function (if any) required to link to the Fortran
Expand Down Expand Up @@ -88,6 +88,9 @@
/* Define to 1 if you have the `alarm' function. */
#cmakedefine H5_HAVE_ALARM @H5_HAVE_ALARM@

/* Define to 1 if you have the <arpa/inet.h> header file. */
#cmakedefine H5_HAVE_ARPA_INET_H @H5_HAVE_ARPA_INET_H@

/* Define to 1 if you have the `asprintf' function. */
#cmakedefine H5_HAVE_ASPRINTF @H5_HAVE_ASPRINTF@

Expand All @@ -101,9 +104,6 @@
/* Define if the compiler understands the __func__ keyword */
#cmakedefine H5_HAVE_C99_FUNC @H5_HAVE_C99_FUNC@

/* Define to 1 if you have the <arpa/inet.h> header file. */
#cmakedefine H5_HAVE_ARPA_INET_H @H5_HAVE_ARPA_INET_H@

/* Define to 1 if you have the `clock_gettime' function. */
#cmakedefine H5_HAVE_CLOCK_GETTIME @H5_HAVE_CLOCK_GETTIME@

Expand Down Expand Up @@ -267,7 +267,7 @@
/* Define to 1 if you have the <memory.h> header file. */
#cmakedefine H5_HAVE_MEMORY_H @H5_HAVE_MEMORY_H@

/* Define if we can build the Mirror VFD */
/* Define whether the Mirror virtual file driver (VFD) will be compiled */
#cmakedefine H5_HAVE_MIRROR_VFD @H5_HAVE_MIRROR_VFD@

/* Define if we have MPE support */
Expand All @@ -276,10 +276,10 @@
/* Define to 1 if you have the <mpe.h> header file. */
#cmakedefine H5_HAVE_MPE_H @H5_HAVE_MPE_H@

/* Define if MPI_Comm_c2f and MPI_Comm_f2c exists */
/* Define if MPI_Comm_c2f and MPI_Comm_f2c exist */
#cmakedefine H5_HAVE_MPI_MULTI_LANG_Comm @H5_HAVE_MPI_MULTI_LANG_Comm@

/* Define if MPI_Info_c2f and MPI_Info_f2c exists */
/* Define if MPI_Info_c2f and MPI_Info_f2c exist */
#cmakedefine H5_HAVE_MPI_MULTI_LANG_Info @H5_HAVE_MPI_MULTI_LANG_Info@

/* Define to 1 if you have the <netdb.h> header file. */
Expand Down Expand Up @@ -483,7 +483,7 @@
/* Define if the compiler understands __inline__ */
#cmakedefine H5_HAVE___INLINE__ @H5_HAVE___INLINE__@

/* Define if the library will ignore file locks when disabled */
/* Define if the library will ignore file locks when disabled */
#cmakedefine H5_IGNORE_DISABLED_FILE_LOCKS @H5_IGNORE_DISABLED_FILE_LOCKS@

/* Define if the high-level library headers should be included in hdf5.h */
Expand Down Expand Up @@ -542,10 +542,10 @@
#define H5_PACKAGE_VERSION "@HDF5_PACKAGE_VERSION_STRING@"

/* Determine the maximum decimal precision in C */
#cmakedefine H5_PAC_C_MAX_REAL_PRECISION @H5_PAC_C_MAX_REAL_PRECISION@
#define H5_PAC_C_MAX_REAL_PRECISION @H5_PAC_C_MAX_REAL_PRECISION@

/* Define Fortran Maximum Real Decimal Precision */
#cmakedefine H5_PAC_FC_MAX_REAL_PRECISION @H5_PAC_FC_MAX_REAL_PRECISION@
#define H5_PAC_FC_MAX_REAL_PRECISION @H5_PAC_FC_MAX_REAL_PRECISION@

/* Width for printf() for type `long long' or `__int64', use `ll' */
#cmakedefine H5_PRINTF_LL_WIDTH @H5_PRINTF_LL_WIDTH@
Expand Down
Loading