mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-12 17:31:09 +08:00
Merge pull request #1278 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '299852b6b565c906938ffaad5bb8e841b82118ab': Update examples version Fix typo Reconciled docs with 1.10 branch TRILABS-34 improve cross compile with emulator TRILABS-34 Cleanup try_run TRILABS-34 avoid try-run output capture
This commit is contained in:
commit
cd69ff0181
@ -48,7 +48,7 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCTEST_CONFIGURATION_TYPE:STRING=${
|
||||
##################################################################
|
||||
|
||||
if(NOT DEFINED INSTALLDIR)
|
||||
set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@")
|
||||
set(INSTALLDIR "C:/Program Files/HDF_Group/@HDF5_PACKAGE_NAME@/@HDF5_PACKAGE_VERSION@")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CTEST_SOURCE_NAME)
|
||||
|
@ -31,20 +31,8 @@ endif ()
|
||||
# The provided CMake Fortran macros don't provide a general compile/run function
|
||||
# so this one is used.
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR RETURN_VAR)
|
||||
#
|
||||
# if (CMAKE_CROSSCOMPILING)
|
||||
# set (${OUTPUT_VAR} ${PRESET_${FUNCTION_NAME}})
|
||||
# message (STATUS "Detecting Fortran ${FUNCTION_NAME}: force ${OUTPUT_VAR}")
|
||||
# set(${RETURN_VAR} ${OUTPUT_VAR})
|
||||
# else ()
|
||||
macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR1 RETURN_VAR)
|
||||
message (STATUS "Detecting Fortran ${FUNCTION_NAME}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
|
||||
endif ()
|
||||
file (WRITE
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
|
||||
"${SOURCE_CODE}"
|
||||
@ -52,37 +40,29 @@ macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR
|
||||
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
|
||||
CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
|
||||
RUN_OUTPUT_VARIABLE OUTPUT_VAR
|
||||
LINK_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}"
|
||||
)
|
||||
|
||||
set(${RETURN_VAR} ${OUTPUT_VAR})
|
||||
|
||||
#message ( "Test result1 ${RETURN_VAR} ")
|
||||
#message ( "Test result3 ${RESULT} ")
|
||||
#message ( "Test result2 ${CMAKE_MATCH_0} ")
|
||||
#message ( "Test result4 ${CMAKE_MATCH_1} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message ( "Test result2 ${COMPILE_RESULT_VAR} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message ( "Test result1 ${RUN_RESULT_VAR} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
|
||||
if (${COMPILE_RESULT_VAR})
|
||||
set(${RETURN_VAR} ${RUN_RESULT_VAR})
|
||||
if (${RUN_RESULT_VAR} MATCHES 0)
|
||||
message (STATUS "Testing Fortran ${FUNCTION_NAME} - OK")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if the Fortran ${FUNCTION_NAME} exists passed with the following output:\n"
|
||||
"${OUTPUT_VAR}\n\n"
|
||||
"Determining if the Fortran ${FUNCTION_NAME} exists passed\n"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Testing Fortran ${FUNCTION_NAME} - Fail")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Fortran ${FUNCTION_NAME} exists failed with the following output:\n"
|
||||
"${OUTPUT_VAR}\n\n")
|
||||
"Determining if the Fortran ${FUNCTION_NAME} exists failed: ${RUN_RESULT_VAR}\n"
|
||||
)
|
||||
endif ()
|
||||
else ()
|
||||
message (STATUS "Compiling Fortran ${FUNCTION_NAME} - Fail")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Fortran ${FUNCTION_NAME} compiles failed: ${COMPILE_RESULT_VAR}\n"
|
||||
)
|
||||
set(${RETURN_VAR} ${COMPILE_RESULT_VAR})
|
||||
endif ()
|
||||
# endif ()
|
||||
endmacro ()
|
||||
|
||||
# Read source line beginning at the line matching Input:"START" and ending at the line matching Input:"END"
|
||||
@ -139,10 +119,10 @@ endif ()
|
||||
|
||||
READ_SOURCE ("PROGRAM FC_AVAIL_KINDS" "END PROGRAM FC_AVAIL_KINDS" SOURCE_CODE)
|
||||
FORTRAN_RUN ("REAL and INTEGER KINDs"
|
||||
"${SOURCE_CODE}"
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT
|
||||
"${SOURCE_CODE}"
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT
|
||||
)
|
||||
# dnl The output from the above program will be:
|
||||
# dnl -- LINE 1 -- valid integer kinds (comma seperated list)
|
||||
@ -201,15 +181,18 @@ foreach (KIND ${VAR} )
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
INTEGER (KIND=${KIND}) a
|
||||
WRITE(*,'(I0)') ${FC_SIZEOF_A}
|
||||
OPEN(8,FILE='pac_validIntKinds.out',FORM='formatted')
|
||||
WRITE(8,'(I0)') ${FC_SIZEOF_A}
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
)
|
||||
FORTRAN_RUN("INTEGER KIND SIZEOF" ${PROG_SRC}
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT1
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT1
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_validIntKinds.out" PROG_OUTPUT1)
|
||||
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
|
||||
set (pack_int_sizeof "${pack_int_sizeof} ${PROG_OUTPUT1},")
|
||||
endforeach ()
|
||||
@ -245,15 +228,18 @@ foreach (KIND ${VAR} )
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
REAL (KIND=${KIND}) a
|
||||
WRITE(*,'(I0)') ${FC_SIZEOF_A}
|
||||
OPEN(8,FILE='pac_validRealKinds.out',FORM='formatted')
|
||||
WRITE(8,'(I0)') ${FC_SIZEOF_A}
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
)
|
||||
FORTRAN_RUN ("REAL KIND SIZEOF" ${PROG_SRC}
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT1
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT1
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_validRealKinds.out" PROG_OUTPUT1)
|
||||
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
|
||||
set (pack_real_sizeof "${pack_real_sizeof} ${PROG_OUTPUT1},")
|
||||
endforeach ()
|
||||
@ -292,18 +278,21 @@ FORTRAN_RUN ("SIZEOF NATIVE KINDs"
|
||||
INTEGER a
|
||||
REAL b
|
||||
DOUBLE PRECISION c
|
||||
WRITE(*,*) ${FC_SIZEOF_A}
|
||||
WRITE(*,*) kind(a)
|
||||
WRITE(*,*) ${FC_SIZEOF_B}
|
||||
WRITE(*,*) kind(b)
|
||||
WRITE(*,*) ${FC_SIZEOF_C}
|
||||
WRITE(*,*) kind(c)
|
||||
OPEN(8,FILE='pac_sizeof_native_kinds.out',FORM='formatted')
|
||||
WRITE(8,*) ${FC_SIZEOF_A}
|
||||
WRITE(8,*) kind(a)
|
||||
WRITE(8,*) ${FC_SIZEOF_B}
|
||||
WRITE(8,*) kind(b)
|
||||
WRITE(8,*) ${FC_SIZEOF_C}
|
||||
WRITE(8,*) kind(c)
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT
|
||||
)
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_sizeof_native_kinds.out" PROG_OUTPUT)
|
||||
# dnl The output from the above program will be:
|
||||
# dnl -- LINE 1 -- sizeof INTEGER
|
||||
# dnl -- LINE 2 -- kind of INTEGER
|
||||
|
@ -70,7 +70,7 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDN
|
||||
|
||||
#TAR_SOURCE - name of tarfile
|
||||
#if(NOT DEFINED TAR_SOURCE)
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.10.5-Source")
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.10.10-Source")
|
||||
#endif()
|
||||
|
||||
###############################################################################################################
|
||||
|
@ -142,10 +142,6 @@ endif ()
|
||||
macro (HDF_FUNCTION_TEST OTHER_TEST)
|
||||
if (NOT DEFINED ${HDF_PREFIX}_${OTHER_TEST})
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
|
||||
set (OTHER_TEST_ADD_LIBRARIES)
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
endif ()
|
||||
|
||||
foreach (def
|
||||
HAVE_SYS_TIME_H
|
||||
@ -168,8 +164,8 @@ macro (HDF_FUNCTION_TEST OTHER_TEST)
|
||||
TRY_COMPILE (${OTHER_TEST}
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
||||
"${OTHER_TEST_ADD_LIBRARIES}"
|
||||
COMPILE_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS}"
|
||||
LINK_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}"
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if (${OTHER_TEST})
|
||||
@ -279,42 +275,35 @@ if (NOT WINDOWS)
|
||||
option (HDF_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON)
|
||||
if (HDF_ENABLE_LARGE_FILE)
|
||||
set (msg "Performing TEST_LFS_WORKS")
|
||||
if (CMAKE_CROSSCOMPILING)
|
||||
set (TEST_LFS_WORKS 1 CACHE INTERNAL ${msg})
|
||||
set (LARGEFILE 1)
|
||||
set (HDF_EXTRA_FLAGS ${HDF_EXTRA_FLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE)
|
||||
message (STATUS "${msg} with presets... yes")
|
||||
else ()
|
||||
TRY_RUN (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DTEST_LFS_WORKS
|
||||
)
|
||||
TRY_RUN (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS "-DTEST_LFS_WORKS"
|
||||
)
|
||||
|
||||
# The LARGEFILE definitions were from the transition period
|
||||
# and are probably no longer needed. The FILE_OFFSET_BITS
|
||||
# check should be generalized for all POSIX systems as it
|
||||
# is in the Autotools.
|
||||
if (TEST_LFS_WORKS_COMPILE)
|
||||
if (TEST_LFS_WORKS_RUN MATCHES 0)
|
||||
set (TEST_LFS_WORKS 1 CACHE INTERNAL ${msg})
|
||||
set (LARGEFILE 1)
|
||||
set (HDF_EXTRA_FLAGS ${HDF_EXTRA_FLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE)
|
||||
message (STATUS "${msg}... yes")
|
||||
else ()
|
||||
set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
|
||||
message (STATUS "${msg}... no")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Test TEST_LFS_WORKS Run failed with the following exit code:\n ${TEST_LFS_WORKS_RUN}\n"
|
||||
)
|
||||
endif ()
|
||||
# The LARGEFILE definitions were from the transition period
|
||||
# and are probably no longer needed. The FILE_OFFSET_BITS
|
||||
# check should be generalized for all POSIX systems as it
|
||||
# is in the Autotools.
|
||||
if (TEST_LFS_WORKS_COMPILE)
|
||||
if (TEST_LFS_WORKS_RUN MATCHES 0)
|
||||
set (TEST_LFS_WORKS 1 CACHE INTERNAL ${msg})
|
||||
set (LARGEFILE 1)
|
||||
set (HDF_EXTRA_FLAGS ${HDF_EXTRA_FLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE)
|
||||
message (STATUS "${msg}... yes")
|
||||
else ()
|
||||
set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
|
||||
message (STATUS "${msg}... no")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Test TEST_LFS_WORKS Compile failed\n"
|
||||
"Test TEST_LFS_WORKS Run failed with the following exit code:\n ${TEST_LFS_WORKS_RUN}\n"
|
||||
)
|
||||
endif ()
|
||||
else ()
|
||||
set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
|
||||
message (STATUS "${msg}... no")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Test TEST_LFS_WORKS Compile failed\n"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
set (CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${HDF_EXTRA_FLAGS})
|
||||
@ -580,30 +569,21 @@ if (WINDOWS)
|
||||
"${CURRENT_TEST_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
|
||||
)
|
||||
endif ()
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||
"-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
|
||||
endif ()
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
|
||||
if (CMAKE_REQUIRED_INCLUDES)
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
|
||||
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
|
||||
else ()
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
|
||||
endif ()
|
||||
|
||||
TRY_RUN(HAVE_IOEO_EXITCODE HAVE_IOEO_COMPILED
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
||||
-DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
|
||||
"${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
|
||||
"${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
|
||||
COMPILE_OUTPUT_VARIABLE OUTPUT)
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} ${MACRO_CHECK_FUNCTION_DEFINITIONS}"
|
||||
LINK_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}"
|
||||
CMAKE_FLAGS "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES} -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}"
|
||||
COMPILE_OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
# if it did not compile make the return value fail code of 1
|
||||
if (NOT HAVE_IOEO_COMPILED)
|
||||
set (HAVE_IOEO_EXITCODE 1)
|
||||
@ -647,42 +627,37 @@ endforeach ()
|
||||
if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "unknown")
|
||||
set (PRINT_LL_FOUND 0)
|
||||
message (STATUS "Checking for appropriate format for 64 bit long:")
|
||||
if (CMAKE_CROSSCOMPILING)
|
||||
set (${HDF_PREFIX}_PRINTF_LL_WIDTH ${PRESET_PRINTF_LL})
|
||||
message (STATUS "Checking for appropriate format for 64 bit long: force ${${HDF_PREFIX}_PRINTF_LL_WIDTH}")
|
||||
set (CURRENT_TEST_DEFINITIONS "-DPRINTF_LL_WIDTH")
|
||||
if (${HDF_PREFIX}_SIZEOF_LONG_LONG)
|
||||
set (CURRENT_TEST_DEFINITIONS "${CURRENT_TEST_DEFINITIONS} -DHAVE_LONG_LONG")
|
||||
endif ()
|
||||
TRY_RUN (${HDF_PREFIX}_PRINTF_LL_TEST_RUN ${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS "${CURRENT_TEST_DEFINITIONS}"
|
||||
RUN_OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
string(REGEX REPLACE ".*PRINTF_LL_WIDTH=\\[(.*)\\].*" "\\1" ${HDF_PREFIX}_PRINTF_LL "${OUTPUT}")
|
||||
set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"${${HDF_PREFIX}_PRINTF_LL}\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll")
|
||||
set (PRINT_LL_FOUND 1)
|
||||
else ()
|
||||
message ("Width test failed with result: ${${HDF_PREFIX}_PRINTF_LL_TEST_RUN}")
|
||||
endif ()
|
||||
else ()
|
||||
set (CURRENT_TEST_DEFINITIONS "-DPRINTF_LL_WIDTH")
|
||||
if (${HDF_PREFIX}_SIZEOF_LONG_LONG)
|
||||
set (CURRENT_TEST_DEFINITIONS "${CURRENT_TEST_DEFINITIONS} -DHAVE_LONG_LONG")
|
||||
endif ()
|
||||
TRY_RUN (${HDF_PREFIX}_PRINTF_LL_TEST_RUN ${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CURRENT_TEST_DEFINITIONS}
|
||||
RUN_OUTPUT_VARIABLE OUTPUT
|
||||
file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
|
||||
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH failed\n"
|
||||
)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
string(REGEX REPLACE ".*PRINTF_LL_WIDTH=\\[(.*)\\].*" "\\1" ${HDF_PREFIX}_PRINTF_LL "${OUTPUT}")
|
||||
set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"${${HDF_PREFIX}_PRINTF_LL}\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll")
|
||||
set (PRINT_LL_FOUND 1)
|
||||
else ()
|
||||
message ("Width test failed with result: ${${HDF_PREFIX}_PRINTF_LL_TEST_RUN}")
|
||||
endif ()
|
||||
else ()
|
||||
file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
|
||||
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH failed\n"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (PRINT_LL_FOUND)
|
||||
message (STATUS "Checking for appropriate format for 64 bit long: found ${${HDF_PREFIX}_PRINTF_LL_WIDTH}")
|
||||
else ()
|
||||
message (STATUS "Checking for appropriate format for 64 bit long: not found")
|
||||
set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"unknown\"" CACHE INTERNAL
|
||||
"Width for printf for type `long long' or `__int64', us. `ll"
|
||||
)
|
||||
endif ()
|
||||
if (PRINT_LL_FOUND)
|
||||
message (STATUS "Checking for appropriate format for 64 bit long: found ${${HDF_PREFIX}_PRINTF_LL_WIDTH}")
|
||||
else ()
|
||||
message (STATUS "Checking for appropriate format for 64 bit long: not found")
|
||||
set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"unknown\"" CACHE INTERNAL
|
||||
"Width for printf for type `long long' or `__int64', us. `ll"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
|
@ -7,4 +7,4 @@ set(CMAKE_CXX_COMPILER icpc)
|
||||
set(CMAKE_Fortran_COMPILER ifort)
|
||||
|
||||
# the following is used if cross-compiling
|
||||
set(PRESET_PRINTF_LL "l")
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR "")
|
||||
|
@ -66,12 +66,11 @@ Preconditions:
|
||||
2.2.2 Szip
|
||||
The HDF5 library has a predefined compression filter that uses
|
||||
the extended-Rice lossless compression algorithm for chunked
|
||||
datatsets. For more information about Szip compression and
|
||||
license terms see
|
||||
http://hdfgroup.org/HDF5/doc_resource/SZIP/index.html.
|
||||
datatsets. For more information on Szip compression, license terms,
|
||||
and obtaining the Szip source code, see:
|
||||
|
||||
https://portal.hdfgroup.org/display/HDF5/Szip+Compression+in+HDF+Products
|
||||
|
||||
The latest supported public release of SZIP is available from
|
||||
ftp://ftp.hdfgroup.org/lib-external/szip/2.1.
|
||||
|
||||
2.3 Additional Utilities
|
||||
|
||||
@ -266,4 +265,5 @@ Build, Test and Install HDF5 on Cygwin
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Need Further assistance, email help@hdfgroup.org
|
||||
HDF Forum: https://forum.hdfgroup.org/
|
||||
HDF Helpdesk: https://portal.hdfgroup.org/display/support/The+HDF+Help+Desk
|
||||
|
@ -48,6 +48,24 @@ New Features
|
||||
|
||||
Configuration:
|
||||
-------------
|
||||
- Add toolchain and cross-compile support
|
||||
|
||||
Added info on using a toolchain file to INSTALL_CMAKE.txt. A
|
||||
toolchain file is also used in cross-compiling, which requires
|
||||
CMAKE_CROSSCOMPILING_EMULATOR to be set. To help with cross-compiling
|
||||
the fortran configure process, the HDF5UseFortran.cmake file macros
|
||||
were improved. Fixed a Fortran configure file issue that incorrectly
|
||||
used #cmakedefine instead of #define.
|
||||
|
||||
(ADB - 2018/10/04, HDFFV-10594)
|
||||
|
||||
- Add warning flags for Intel compilers
|
||||
|
||||
Identified Intel compiler specific warnings flags that should be used
|
||||
instead of GNU flags.
|
||||
|
||||
(ADB - 2018/10/04, TRILABS-21)
|
||||
|
||||
- Add default rpath to targets
|
||||
|
||||
Default rpaths should be set in shared executables and
|
||||
@ -162,38 +180,6 @@ New Features
|
||||
|
||||
Java Library:
|
||||
----------------
|
||||
- JNI native library dependencies
|
||||
|
||||
The build for the hdf5_java native library used the wrong
|
||||
hdf5 target library for CMake builds. Correcting the hdf5_java
|
||||
library to build with the shared hdf5 library required testing
|
||||
paths to change also.
|
||||
|
||||
(ADB - 2018/08/31, HDFFV-10568)
|
||||
|
||||
- Java iterator callbacks
|
||||
|
||||
Change global callback object to a small stack structure in order
|
||||
to fix a runtime crash. This crash was discovered when iterating
|
||||
through a file with nested group members. The global variable
|
||||
visit_callback is overwritten when recursion starts. When recursion
|
||||
completes, visit_callback will be pointing to the wrong callback method.
|
||||
|
||||
(ADB - 2018/08/15, HDFFV-10536)
|
||||
|
||||
- Java HDFLibraryException class
|
||||
|
||||
Change parent class from Exception to RuntimeException.
|
||||
|
||||
(ADB - 2018/07/30, HDFFV-10534)
|
||||
|
||||
- JNI Read and Write
|
||||
|
||||
Refactored variable-length functions, H5DreadVL and H5AreadVL,
|
||||
to correct dataset and attribute reads. New write functions,
|
||||
H5DwriteVL and H5AwriteVL, are under construction.
|
||||
|
||||
(ADB - 2018/06/02, HDFFV-10519)
|
||||
|
||||
Tools:
|
||||
------
|
||||
@ -251,6 +237,40 @@ Bug Fixes since HDF5-1.10.3 release
|
||||
|
||||
(JTH - 2018/08/25, HDFFV-10501)
|
||||
|
||||
Java Library:
|
||||
----------------
|
||||
- JNI native library dependencies
|
||||
|
||||
The build for the hdf5_java native library used the wrong
|
||||
hdf5 target library for CMake builds. Correcting the hdf5_java
|
||||
library to build with the shared hdf5 library required testing
|
||||
paths to change also.
|
||||
|
||||
(ADB - 2018/08/31, HDFFV-10568)
|
||||
- Java iterator callbacks
|
||||
|
||||
Change global callback object to a small stack structure in order
|
||||
to fix a runtime crash. This crash was discovered when iterating
|
||||
through a file with nested group members. The global variable
|
||||
visit_callback is overwritten when recursion starts. When recursion
|
||||
completes, visit_callback will be pointing to the wrong callback method.
|
||||
|
||||
(ADB - 2018/08/15, HDFFV-10536)
|
||||
|
||||
- Java HDFLibraryException class
|
||||
|
||||
Change parent class from Exception to RuntimeException.
|
||||
|
||||
(ADB - 2018/07/30, HDFFV-10534)
|
||||
|
||||
- JNI Read and Write
|
||||
|
||||
Refactored variable-length functions, H5DreadVL and H5AreadVL,
|
||||
to correct dataset and attribute reads. New write functions,
|
||||
H5DwriteVL and H5AwriteVL, are under construction.
|
||||
|
||||
(ADB - 2018/06/02, HDFFV-10519)
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
-
|
||||
|
@ -876,7 +876,7 @@ if (NOT EXISTS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c)
|
||||
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c
|
||||
COMMAND $<TARGET_FILE:H5detect>
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR}$<TARGET_FILE:H5detect>
|
||||
ARGS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c
|
||||
DEPENDS H5detect
|
||||
WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
|
||||
@ -885,7 +885,7 @@ if (NOT EXISTS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c)
|
||||
if (NOT EXISTS ${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c)
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c
|
||||
COMMAND $<TARGET_FILE:H5detect>
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR}$<TARGET_FILE:H5detect>
|
||||
ARGS ${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c
|
||||
DEPENDS H5detect
|
||||
WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}/shared
|
||||
@ -918,7 +918,7 @@ target_link_libraries (H5make_libsettings
|
||||
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c
|
||||
COMMAND $<TARGET_FILE:H5make_libsettings>
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR}$<TARGET_FILE:H5make_libsettings>
|
||||
ARGS ${HDF5_BINARY_DIR}/H5lib_settings.c
|
||||
DEPENDS H5make_libsettings
|
||||
WORKING_DIRECTORY ${HDF5_BINARY_DIR}
|
||||
@ -926,7 +926,7 @@ add_custom_command (
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_BINARY_DIR}/shared/H5lib_settings.c
|
||||
COMMAND $<TARGET_FILE:H5make_libsettings>
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR}$<TARGET_FILE:H5make_libsettings>
|
||||
ARGS ${HDF5_BINARY_DIR}/shared/H5lib_settings.c
|
||||
DEPENDS H5make_libsettings
|
||||
WORKING_DIRECTORY ${HDF5_BINARY_DIR}
|
||||
|
Loading…
x
Reference in New Issue
Block a user