mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-21 01:04:10 +08:00
Merge pull request #2390 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '666205a55f01698a71484f504bc8eb9541800f25': TRILAB-142 Change minimum CMake version to 3.12
This commit is contained in:
commit
2129aa4c24
@ -41,13 +41,11 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Export all exported targets to the build tree for use by parent project
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
export (
|
||||
TARGETS ${HDF5_LIBRARIES_TO_EXPORT} ${HDF5_LIB_DEPENDENCIES} ${HDF5_UTILS_TO_EXPORT}
|
||||
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
|
||||
NAMESPACE ${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
endif ()
|
||||
export (
|
||||
TARGETS ${HDF5_LIBRARIES_TO_EXPORT} ${HDF5_LIB_DEPENDENCIES} ${HDF5_UTILS_TO_EXPORT}
|
||||
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
|
||||
NAMESPACE ${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -104,16 +102,15 @@ endif ()
|
||||
# Configure the hdf5-config-version .cmake file for the install directory
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
# 3.11 or greater
|
||||
#write_basic_package_version_file (
|
||||
# ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
|
||||
# VERSION ${HDF5_PACKAGE_VERSION}
|
||||
# COMPATIBILITY SameMinorVersion
|
||||
#)
|
||||
configure_file (
|
||||
${HDF_RESOURCES_DIR}/hdf5-config-version.cmake.in
|
||||
${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
|
||||
write_basic_package_version_file (
|
||||
"${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake"
|
||||
VERSION ${HDF5_PACKAGE_VERSION}
|
||||
COMPATIBILITY SameMinorVersion
|
||||
)
|
||||
#configure_file (
|
||||
# ${HDF_RESOURCES_DIR}/hdf5-config-version.cmake.in
|
||||
# ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
|
||||
#)
|
||||
install (
|
||||
FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/hdf5
|
||||
@ -201,8 +198,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
install (
|
||||
FILES
|
||||
${HDF5_SOURCE_DIR}/COPYING
|
||||
FILES ${HDF5_SOURCE_DIR}/COPYING
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
|
@ -1,10 +1,14 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5 C)
|
||||
|
||||
if (POLICY CMP0074)
|
||||
cmake_policy (SET CMP0074 NEW)
|
||||
endif ()
|
||||
|
||||
if (POLICY CMP0083)
|
||||
cmake_policy (SET CMP0083 NEW)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Instructions for use : Normal Build
|
||||
#
|
||||
@ -34,9 +38,14 @@ endif ()
|
||||
|
||||
# CMake version 3.14 added option --ignore-eol to compare files
|
||||
# cmake -E compare_files --ignore-eol file1 file2
|
||||
#if(CMAKE_VERSION VERSION_LESS "3.14.0" AND WIN32)
|
||||
# MESSAGE(FATAL_ERROR "Windows builds requires a minimum of CMake 3.14")
|
||||
#endif()
|
||||
set (CMAKE_IGNORE_EOL "--ignore-eol")
|
||||
if (CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
set (CMAKE_IGNORE_EOL "")
|
||||
if (WIN32)
|
||||
message (FATAL_ERROR "Windows builds requires a minimum of CMake 3.14")
|
||||
endif()
|
||||
else ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Instructions for use : Sub-Project Build
|
||||
@ -555,9 +564,9 @@ endif ()
|
||||
set (EXE_EXT "")
|
||||
if (WIN32 OR MINGW)
|
||||
set (EXE_EXT ".exe")
|
||||
add_definitions (-D_BIND_TO_CURRENT_VCLIBS_VERSION=1)
|
||||
add_definitions (-D_CRT_SECURE_NO_WARNINGS)
|
||||
add_definitions (-D_CONSOLE)
|
||||
add_compile_definitions (-D_BIND_TO_CURRENT_VCLIBS_VERSION=1)
|
||||
add_compile_definitions (-D_CRT_SECURE_NO_WARNINGS)
|
||||
add_compile_definitions (-D_CONSOLE)
|
||||
endif ()
|
||||
|
||||
if (MSVC)
|
||||
@ -957,12 +966,6 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for
|
||||
include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake)
|
||||
|
||||
message (STATUS "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}")
|
||||
# Building with PGI requires CMake 3.3 or greater because previous versions
|
||||
# of CMake add the wrong compiler flag for the PGI Fortran compiler.
|
||||
if (CMAKE_Fortran_COMPILER_ID MATCHES "PGI" AND CMAKE_VERSION VERSION_LESS "3.3")
|
||||
message (FATAL_ERROR " **** PGI FORTRAN REQUIRES CMAKE VERSION 3.3 OR GREATER **** ")
|
||||
endif ()
|
||||
|
||||
include (${HDF_RESOURCES_DIR}/HDF5UseFortran.cmake)
|
||||
set (LINK_Fortran_LIBS ${LINK_LIBS})
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_CPP CXX)
|
||||
|
||||
add_subdirectory (src)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_CPP_EXAMPLES CXX)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_CPP_SRC CXX)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_CPP_TEST CXX)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -9,7 +9,7 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
########################################################
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
#
|
||||
|
@ -160,10 +160,6 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_ROS3_VFD "Build the ROS3 Virtual File Driver" OFF)
|
||||
if (HDF5_ENABLE_ROS3_VFD)
|
||||
# CMake version 3.13 fixed FindCURL module
|
||||
if(CMAKE_VERSION VERSION_LESS "3.13.0" AND WIN32)
|
||||
MESSAGE(FATAL_ERROR "Windows builds for this option requires a minimum of CMake 3.13")
|
||||
endif ()
|
||||
find_package(CURL REQUIRED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
if (${CURL_FOUND} AND ${OPENSSL_FOUND})
|
||||
|
@ -19,6 +19,24 @@ enable_language (Fortran)
|
||||
set (HDF_PREFIX "H5")
|
||||
include (CheckFortranFunctionExists)
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
include (CheckFortranSourceRuns)
|
||||
include (CheckFortranSourceCompiles)
|
||||
endif ()
|
||||
|
||||
# Read source line beginning at the line matching Input:"START" and ending at the line matching Input:"END"
|
||||
macro (READ_SOURCE SOURCE_START SOURCE_END RETURN_VAR)
|
||||
file (READ "${HDF5_SOURCE_DIR}/m4/aclocal_fc.f90" SOURCE_MASTER)
|
||||
string (REGEX MATCH "${SOURCE_START}[\\\t\\\n\\\r[].+]*${SOURCE_END}" SOURCE_CODE ${SOURCE_MASTER})
|
||||
set (RETURN_VAR "${SOURCE_CODE}")
|
||||
endmacro ()
|
||||
|
||||
set (RUN_OUTPUT_PATH_DEFAULT ${CMAKE_BINARY_DIR})
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (CMAKE_REQUIRED_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}")
|
||||
endif ()
|
||||
else ()
|
||||
# The provided CMake Fortran macros don't provide a general compile/run function
|
||||
# so this one is used.
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -55,22 +73,19 @@ macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR1
|
||||
set(${RETURN_VAR} ${COMPILE_RESULT_VAR})
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
# Read source line beginning at the line matching Input:"START" and ending at the line matching Input:"END"
|
||||
macro (READ_SOURCE SOURCE_START SOURCE_END RETURN_VAR)
|
||||
file (READ "${HDF5_SOURCE_DIR}/m4/aclocal_fc.f90" SOURCE_MASTER)
|
||||
string (REGEX MATCH "${SOURCE_START}[\\\t\\\n\\\r[].+]*${SOURCE_END}" SOURCE_CODE ${SOURCE_MASTER})
|
||||
set (RETURN_VAR "${SOURCE_CODE}")
|
||||
endmacro ()
|
||||
|
||||
endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check to see C_LONG_DOUBLE is available
|
||||
|
||||
READ_SOURCE("PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" "END PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" SOURCE_CODE)
|
||||
CHECK_FORTRAN_FEATURE(c_long_double
|
||||
"${SOURCE_CODE}"
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE
|
||||
)
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
check_fortran_source_compiles (${SOURCE_CODE} FORTRAN_HAVE_C_LONG_DOUBLE SRC_EXT f90)
|
||||
else ()
|
||||
CHECK_FORTRAN_FEATURE(c_long_double
|
||||
"${SOURCE_CODE}"
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE
|
||||
)
|
||||
endif ()
|
||||
|
||||
if (${FORTRAN_HAVE_C_LONG_DOUBLE})
|
||||
set (${HDF_PREFIX}_FORTRAN_HAVE_C_LONG_DOUBLE 1)
|
||||
@ -81,10 +96,14 @@ endif ()
|
||||
# Check to see C_LONG_DOUBLE is different from C_DOUBLE
|
||||
|
||||
READ_SOURCE("MODULE type_mod" "END PROGRAM PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE" SOURCE_CODE)
|
||||
CHECK_FORTRAN_FEATURE(c_long_double
|
||||
"${SOURCE_CODE}"
|
||||
FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
|
||||
)
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
check_fortran_source_compiles (${SOURCE_CODE} FORTRAN_C_LONG_DOUBLE_IS_UNIQUE SRC_EXT f90)
|
||||
else ()
|
||||
CHECK_FORTRAN_FEATURE(c_long_double
|
||||
"${SOURCE_CODE}"
|
||||
FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
|
||||
)
|
||||
endif ()
|
||||
if (${FORTRAN_C_LONG_DOUBLE_IS_UNIQUE})
|
||||
set (${HDF_PREFIX}_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE 1)
|
||||
else ()
|
||||
@ -108,13 +127,80 @@ endif ()
|
||||
# Determine the available KINDs for REALs and INTEGERs
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
READ_SOURCE ("PROGRAM FC_AVAIL_KINDS" "END PROGRAM FC_AVAIL_KINDS" SOURCE_CODE)
|
||||
#READ_SOURCE ("PROGRAM FC_AVAIL_KINDS" "END PROGRAM FC_AVAIL_KINDS" SOURCE_CODE)
|
||||
set (PROG_SRC_CODE
|
||||
"
|
||||
PROGRAM FC_AVAIL_KINDS
|
||||
IMPLICIT NONE
|
||||
INTEGER :: ik, jk, k, max_decimal_prec
|
||||
INTEGER :: num_rkinds = 1, num_ikinds = 1
|
||||
INTEGER, DIMENSION(1:10) :: list_ikinds = -1
|
||||
INTEGER, DIMENSION(1:10) :: list_rkinds = -1
|
||||
|
||||
OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
|
||||
|
||||
! Find integer KINDs
|
||||
list_ikinds(num_ikinds)=SELECTED_INT_KIND(1)
|
||||
DO ik = 2, 36
|
||||
k = SELECTED_INT_KIND(ik)
|
||||
IF(k.LT.0) EXIT
|
||||
IF(k.GT.list_ikinds(num_ikinds))THEN
|
||||
num_ikinds = num_ikinds + 1
|
||||
list_ikinds(num_ikinds) = k
|
||||
ENDIF
|
||||
ENDDO
|
||||
|
||||
DO k = 1, num_ikinds
|
||||
WRITE(8,'(I0)', ADVANCE='NO') list_ikinds(k)
|
||||
IF(k.NE.num_ikinds)THEN
|
||||
WRITE(8,'(A)',ADVANCE='NO') ','
|
||||
ELSE
|
||||
WRITE(8,'()')
|
||||
ENDIF
|
||||
ENDDO
|
||||
|
||||
! Find real KINDs
|
||||
list_rkinds(num_rkinds)=SELECTED_REAL_KIND(1)
|
||||
max_decimal_prec = 1
|
||||
|
||||
prec: DO ik = 2, 36
|
||||
exp: DO jk = 1, 17000
|
||||
k = SELECTED_REAL_KIND(ik,jk)
|
||||
IF(k.LT.0) EXIT exp
|
||||
IF(k.GT.list_rkinds(num_rkinds))THEN
|
||||
num_rkinds = num_rkinds + 1
|
||||
list_rkinds(num_rkinds) = k
|
||||
ENDIF
|
||||
max_decimal_prec = ik
|
||||
ENDDO exp
|
||||
ENDDO prec
|
||||
|
||||
DO k = 1, num_rkinds
|
||||
WRITE(8,'(I0)', ADVANCE='NO') list_rkinds(k)
|
||||
IF(k.NE.num_rkinds)THEN
|
||||
WRITE(8,'(A)',ADVANCE='NO') ','
|
||||
ELSE
|
||||
WRITE(8,'()')
|
||||
ENDIF
|
||||
ENDDO
|
||||
|
||||
WRITE(8,'(I0)') max_decimal_prec
|
||||
WRITE(8,'(I0)') num_ikinds
|
||||
WRITE(8,'(I0)') num_rkinds
|
||||
END PROGRAM FC_AVAIL_KINDS
|
||||
"
|
||||
)
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
check_fortran_source_runs (${PROG_SRC_CODE} FC_AVAIL_KINDS_RESULT SRC_EXT f90)
|
||||
else ()
|
||||
FORTRAN_RUN ("REAL and INTEGER KINDs"
|
||||
"${SOURCE_CODE}"
|
||||
"${PROG_SRC_CODE}"
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT
|
||||
FC_AVAIL_KINDS_RESULT
|
||||
)
|
||||
endif ()
|
||||
|
||||
# dnl The output from the above program will be:
|
||||
# dnl -- LINE 1 -- valid integer kinds (comma seperated list)
|
||||
# dnl -- LINE 2 -- valid real kinds (comma seperated list)
|
||||
@ -122,7 +208,7 @@ FORTRAN_RUN ("REAL and INTEGER KINDs"
|
||||
# dnl -- LINE 4 -- number of valid integer kinds
|
||||
# dnl -- LINE 5 -- number of valid real kinds
|
||||
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_fconftest.out" PROG_OUTPUT)
|
||||
file (READ "${RUN_OUTPUT_PATH_DEFAULT}/pac_fconftest.out" PROG_OUTPUT)
|
||||
# Convert the string to a list of strings by replacing the carriage return with a semicolon
|
||||
string (REGEX REPLACE "\n" ";" PROG_OUTPUT "${PROG_OUTPUT}")
|
||||
|
||||
@ -165,25 +251,25 @@ message (STATUS "....MAX DECIMAL PRECISION ${${HDF_PREFIX}_PAC_FC_MAX_REAL_PRECI
|
||||
# **********
|
||||
string (REGEX REPLACE "," ";" VAR "${pac_validIntKinds}")
|
||||
|
||||
foreach (KIND ${VAR} )
|
||||
set (PROG_SRC
|
||||
"
|
||||
PROGRAM main
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
INTEGER (KIND=${KIND}) a
|
||||
OPEN(8,FILE='pac_validIntKinds.out',FORM='formatted')
|
||||
WRITE(8,'(I0)') ${FC_SIZEOF_A}
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
foreach (KIND ${VAR})
|
||||
set (PROG_SRC_${KIND}
|
||||
"
|
||||
PROGRAM main
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
INTEGER (KIND=${KIND}) 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_RESULT1
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_validIntKinds.out" PROG_OUTPUT1)
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
check_fortran_source_runs (${PROG_SRC_${KIND}} VALIDINTKINDS_RESULT_${KIND} SRC_EXT f90)
|
||||
else ()
|
||||
FORTRAN_RUN("INTEGER KIND SIZEOF" ${PROG_SRC_${KIND}} XX YY VALIDINTKINDS_RESULT_${KIND})
|
||||
endif ()
|
||||
file (READ "${RUN_OUTPUT_PATH_DEFAULT}/pac_validIntKinds.out" PROG_OUTPUT1)
|
||||
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
|
||||
set (pack_int_sizeof "${pack_int_sizeof} ${PROG_OUTPUT1},")
|
||||
endforeach ()
|
||||
@ -213,24 +299,24 @@ math (EXPR _LEN "${LEN_VAR}-1")
|
||||
list (GET VAR ${_LEN} max_real_fortran_kind)
|
||||
|
||||
foreach (KIND ${VAR} )
|
||||
set (PROG_SRC
|
||||
"
|
||||
PROGRAM main
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
REAL (KIND=${KIND}) a
|
||||
OPEN(8,FILE='pac_validRealKinds.out',FORM='formatted')
|
||||
WRITE(8,'(I0)') ${FC_SIZEOF_A}
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
set (PROG_SRC2_${KIND}
|
||||
"
|
||||
PROGRAM main
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
REAL (KIND=${KIND}) 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_RESULT1
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_validRealKinds.out" PROG_OUTPUT1)
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
check_fortran_source_runs (${PROG_SRC2_${KIND}} VALIDREALKINDS_RESULT_${KIND} SRC_EXT f90)
|
||||
else ()
|
||||
FORTRAN_RUN ("REAL KIND SIZEOF" ${PROG_SRC2_${KIND}} XX YY VALIDREALKINDS_RESULT_${KIND})
|
||||
endif ()
|
||||
file (READ "${RUN_OUTPUT_PATH_DEFAULT}/pac_validRealKinds.out" PROG_OUTPUT1)
|
||||
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
|
||||
set (pack_real_sizeof "${pack_real_sizeof} ${PROG_OUTPUT1},")
|
||||
endforeach ()
|
||||
@ -261,7 +347,7 @@ list (GET VAR ${_LEN} max_real_fortran_sizeof)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Find sizeof of native kinds
|
||||
#-----------------------------------------------------------------------------
|
||||
FORTRAN_RUN ("SIZEOF NATIVE KINDs"
|
||||
set (PROG_SRC3
|
||||
"
|
||||
PROGRAM main
|
||||
USE ISO_C_BINDING
|
||||
@ -279,11 +365,13 @@ FORTRAN_RUN ("SIZEOF NATIVE KINDs"
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_sizeof_native_kinds.out" PROG_OUTPUT)
|
||||
)
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
check_fortran_source_runs (${PROG_SRC3} PAC_SIZEOF_NATIVE_KINDS_RESULT SRC_EXT f90)
|
||||
else ()
|
||||
FORTRAN_RUN ("SIZEOF NATIVE KINDs" ${PROG_SRC3} XX YY PAC_SIZEOF_NATIVE_KINDS_RESULT)
|
||||
endif ()
|
||||
file (READ "${RUN_OUTPUT_PATH_DEFAULT}/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
|
||||
@ -352,6 +440,9 @@ set (${HDF_PREFIX}_H5CONFIG_F_RKIND_SIZEOF "INTEGER, DIMENSION(1:num_rkinds) ::
|
||||
|
||||
ENABLE_LANGUAGE (C)
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
include (CheckCSourceRuns)
|
||||
else ()
|
||||
#-----------------------------------------------------------------------------
|
||||
# The provided CMake C macros don't provide a general compile/run function
|
||||
# so this one is used.
|
||||
@ -402,6 +493,7 @@ macro (C_RUN FUNCTION_NAME SOURCE_CODE RETURN_VAR)
|
||||
message (FATAL_ERROR "Compilation of C ${FUNCTION_NAME} - Failed")
|
||||
endif ()
|
||||
endmacro ()
|
||||
endif ()
|
||||
|
||||
set (PROG_SRC
|
||||
"
|
||||
@ -432,7 +524,11 @@ set (PROG_SRC
|
||||
"
|
||||
)
|
||||
|
||||
C_RUN ("maximum decimal precision for C" ${PROG_SRC} PROG_OUTPUT)
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
check_c_source_runs (${PROG_SRC} PROG_OUTPUT)
|
||||
else ()
|
||||
C_RUN ("maximum decimal precision for C" ${PROG_SRC} PROG_OUTPUT)
|
||||
endif ()
|
||||
|
||||
# dnl The output from the above program will be:
|
||||
# dnl -- LINE 1 -- long double decimal precision
|
||||
|
@ -9,7 +9,7 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
###############################################################################################################
|
||||
# This script will build and run the examples from a folder
|
||||
# Execute from a command line:
|
||||
|
@ -536,7 +536,7 @@ function(add_jar _TARGET_NAME)
|
||||
|
||||
if (_JAVA_SOURCE_FILE MATCHES "^@(.+)$")
|
||||
get_filename_component(_JAVA_FULL ${CMAKE_MATCH_1} ABSOLUTE)
|
||||
list(APPEND _JAVA_COMPILE_FILELISTS ${_JAVA_FULL})
|
||||
list (APPEND _JAVA_COMPILE_FILELISTS ${_JAVA_FULL})
|
||||
|
||||
elseif (_JAVA_EXT MATCHES ".java")
|
||||
file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${CMAKE_CURRENT_BINARY_DIR} ${_JAVA_FULL})
|
||||
@ -550,7 +550,7 @@ function(add_jar _TARGET_NAME)
|
||||
endif ()
|
||||
get_filename_component(_JAVA_REL_PATH ${_JAVA_REL_PATH} PATH)
|
||||
|
||||
list(APPEND _JAVA_COMPILE_FILES ${_JAVA_SOURCE_FILE})
|
||||
list (APPEND _JAVA_COMPILE_FILES ${_JAVA_SOURCE_FILE})
|
||||
set(_JAVA_CLASS_FILE "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_REL_PATH}/${_JAVA_FILE}.class")
|
||||
set(_JAVA_CLASS_FILES ${_JAVA_CLASS_FILES} ${_JAVA_CLASS_FILE})
|
||||
|
||||
@ -561,15 +561,15 @@ function(add_jar _TARGET_NAME)
|
||||
# Ignored for backward compatibility
|
||||
|
||||
elseif (_JAVA_EXT STREQUAL "")
|
||||
list(APPEND CMAKE_JAVA_INCLUDE_PATH ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}} ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}_CLASSPATH})
|
||||
list(APPEND _JAVA_DEPENDS ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}})
|
||||
list (APPEND CMAKE_JAVA_INCLUDE_PATH ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}} ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}_CLASSPATH})
|
||||
list (APPEND _JAVA_DEPENDS ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}})
|
||||
|
||||
else ()
|
||||
__java_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/${_JAVA_SOURCE_FILE}
|
||||
${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_SOURCE_FILE}
|
||||
"Copying ${_JAVA_SOURCE_FILE} to the build directory")
|
||||
list(APPEND _JAVA_RESOURCE_FILES ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_SOURCE_FILE})
|
||||
list(APPEND _JAVA_RESOURCE_FILES_RELATIVE ${_JAVA_SOURCE_FILE})
|
||||
list (APPEND _JAVA_RESOURCE_FILES ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_SOURCE_FILE})
|
||||
list (APPEND _JAVA_RESOURCE_FILES_RELATIVE ${_JAVA_SOURCE_FILE})
|
||||
endif ()
|
||||
endforeach()
|
||||
|
||||
@ -578,17 +578,17 @@ function(add_jar _TARGET_NAME)
|
||||
get_target_property(_JAVA_JAR_PATH ${_JAVA_INCLUDE_JAR} JAR_FILE)
|
||||
if (_JAVA_JAR_PATH)
|
||||
string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${_JAVA_JAR_PATH}")
|
||||
list(APPEND CMAKE_JAVA_INCLUDE_PATH ${_JAVA_JAR_PATH})
|
||||
list(APPEND _JAVA_DEPENDS ${_JAVA_INCLUDE_JAR})
|
||||
list(APPEND _JAVA_COMPILE_DEPENDS ${_JAVA_JAR_PATH})
|
||||
list (APPEND CMAKE_JAVA_INCLUDE_PATH ${_JAVA_JAR_PATH})
|
||||
list (APPEND _JAVA_DEPENDS ${_JAVA_INCLUDE_JAR})
|
||||
list (APPEND _JAVA_COMPILE_DEPENDS ${_JAVA_JAR_PATH})
|
||||
else ()
|
||||
message(SEND_ERROR "add_jar: INCLUDE_JARS target ${_JAVA_INCLUDE_JAR} is not a jar")
|
||||
endif ()
|
||||
else ()
|
||||
string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${_JAVA_INCLUDE_JAR}")
|
||||
list(APPEND CMAKE_JAVA_INCLUDE_PATH "${_JAVA_INCLUDE_JAR}")
|
||||
list(APPEND _JAVA_DEPENDS "${_JAVA_INCLUDE_JAR}")
|
||||
list(APPEND _JAVA_COMPILE_DEPENDS "${_JAVA_INCLUDE_JAR}")
|
||||
list (APPEND CMAKE_JAVA_INCLUDE_PATH "${_JAVA_INCLUDE_JAR}")
|
||||
list (APPEND _JAVA_DEPENDS "${_JAVA_INCLUDE_JAR}")
|
||||
list (APPEND _JAVA_COMPILE_DEPENDS "${_JAVA_INCLUDE_JAR}")
|
||||
endif ()
|
||||
endforeach()
|
||||
|
||||
@ -985,7 +985,7 @@ function(create_javadoc _target)
|
||||
elseif (arg STREQUAL "VERSION")
|
||||
set(_state "version")
|
||||
else ()
|
||||
list(APPEND _javadoc_packages ${arg})
|
||||
list (APPEND _javadoc_packages ${arg})
|
||||
endif ()
|
||||
elseif (_state STREQUAL "files")
|
||||
if (arg STREQUAL "PACKAGES")
|
||||
@ -1009,7 +1009,7 @@ function(create_javadoc _target)
|
||||
elseif (arg STREQUAL "VERSION")
|
||||
set(_state "version")
|
||||
else ()
|
||||
list(APPEND _javadoc_files ${arg})
|
||||
list (APPEND _javadoc_files ${arg})
|
||||
endif ()
|
||||
elseif (_state STREQUAL "sourcepath")
|
||||
if (arg STREQUAL "PACKAGES")
|
||||
@ -1033,7 +1033,7 @@ function(create_javadoc _target)
|
||||
elseif (arg STREQUAL "VERSION")
|
||||
set(_state "version")
|
||||
else ()
|
||||
list(APPEND _javadoc_sourcepath ${arg})
|
||||
list (APPEND _javadoc_sourcepath ${arg})
|
||||
endif ()
|
||||
elseif (_state STREQUAL "classpath")
|
||||
if (arg STREQUAL "PACKAGES")
|
||||
@ -1057,7 +1057,7 @@ function(create_javadoc _target)
|
||||
elseif (arg STREQUAL "VERSION")
|
||||
set(_state "version")
|
||||
else ()
|
||||
list(APPEND _javadoc_classpath ${arg})
|
||||
list (APPEND _javadoc_classpath ${arg})
|
||||
endif ()
|
||||
elseif (_state STREQUAL "installpath")
|
||||
if (arg STREQUAL "PACKAGES")
|
||||
|
@ -23,7 +23,7 @@ if (CMAKE_JAVA_CLASS_OUTPUT_PATH)
|
||||
|
||||
file(GLOB_RECURSE _JAVA_GLOBBED_TMP_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${JAR_CLASS_PREFIX}/*.class")
|
||||
if (_JAVA_GLOBBED_TMP_FILES)
|
||||
list(APPEND _JAVA_GLOBBED_FILES ${_JAVA_GLOBBED_TMP_FILES})
|
||||
list (APPEND _JAVA_GLOBBED_FILES ${_JAVA_GLOBBED_TMP_FILES})
|
||||
endif ()
|
||||
endforeach()
|
||||
else()
|
||||
|
@ -75,7 +75,7 @@ message (STATUS "COMMAND Result: ${TEST_RESULT}")
|
||||
# if the .err file exists and ERRROR_APPEND is enabled
|
||||
if (EXISTS "${TEST_FOLDER}/${TEST_OUTPUT}.err")
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM)
|
||||
list(LENGTH TEST_STREAM test_len)
|
||||
list (LENGTH TEST_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
if (TEST_MASK_FILE)
|
||||
STRING(REGEX REPLACE "CurrentDir is [^\n]+\n" "CurrentDir is (dir name)\n" TEST_STREAM "${TEST_STREAM}")
|
||||
@ -129,7 +129,7 @@ set (TEST_COMPARE_RESULT 0)
|
||||
if (NOT TEST_SKIP_COMPARE)
|
||||
if (EXISTS "${TEST_FOLDER}/${TEST_REFERENCE}")
|
||||
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
|
||||
list(LENGTH TEST_STREAM test_len)
|
||||
list (LENGTH TEST_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
if (WIN32 OR MINGW)
|
||||
configure_file(${TEST_FOLDER}/${TEST_REFERENCE} ${TEST_FOLDER}/${TEST_REFERENCE}.tmp NEWLINE_STYLE CRLF)
|
||||
@ -143,7 +143,7 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
if (NOT TEST_SORT_COMPARE)
|
||||
# now compare the output with the reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
RESULT_VARIABLE TEST_COMPARE_RESULT
|
||||
)
|
||||
else ()
|
||||
@ -200,7 +200,7 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
set (TEST_ERRREF_RESULT 0)
|
||||
if (TEST_ERRREF)
|
||||
file (READ ${TEST_FOLDER}/${TEST_ERRREF} TEST_STREAM)
|
||||
list(LENGTH TEST_STREAM test_len)
|
||||
list (LENGTH TEST_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
if (WIN32 OR MINGW)
|
||||
configure_file(${TEST_FOLDER}/${TEST_ERRREF} ${TEST_FOLDER}/${TEST_ERRREF}.tmp NEWLINE_STYLE CRLF)
|
||||
@ -213,7 +213,7 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
|
||||
# now compare the error output with the error reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
|
||||
RESULT_VARIABLE TEST_ERRREF_RESULT
|
||||
)
|
||||
if (TEST_ERRREF_RESULT)
|
||||
@ -262,7 +262,7 @@ set (TEST_GREP_RESULT 0)
|
||||
if (TEST_GREP_COMPARE)
|
||||
# now grep the output with the reference
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
|
||||
list(LENGTH TEST_STREAM test_len)
|
||||
list (LENGTH TEST_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
# TEST_REFERENCE should always be matched
|
||||
string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM})
|
||||
|
@ -9,7 +9,7 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
########################################################
|
||||
# This dashboard is maintained by The HDF Group
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
|
@ -15,7 +15,7 @@
|
||||
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -VV -O hdf5.log ###
|
||||
#############################################################################################
|
||||
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
############################################################################
|
||||
# Usage:
|
||||
# ctest -S HDF5config.cmake,OPTION=VALUE -C Release -VV -O test.log
|
||||
|
@ -102,7 +102,7 @@ if (TEST_CHECKUB STREQUAL "YES")
|
||||
|
||||
# now compare the outputs
|
||||
EXECUTE_PROCESS (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_HFILE}-ub.cmp ${TEST_HFILE}.cmp
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${TEST_HFILE}-ub.cmp ${TEST_HFILE}.cmp
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
|
||||
message(STATUS "Check for existence of ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c")
|
||||
execute_process(COMMAND ls ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c RESULT_VARIABLE H5TI_result OUTPUT_QUIET ERROR_QUIET)
|
||||
|
@ -51,7 +51,7 @@ find_path(SZIP_INCLUDE_DIR szlib.h)
|
||||
|
||||
set(szip_names ${SZIP_NAMES} sz szip szip-static libsz libszip libszip-static)
|
||||
foreach(name ${szip_names})
|
||||
list(APPEND szip_names_debug "${name}d")
|
||||
list (APPEND szip_names_debug "${name}d")
|
||||
endforeach()
|
||||
|
||||
if(NOT SZIP_LIBRARY)
|
||||
|
@ -82,10 +82,8 @@ macro (INSTALL_TARGET_PDB libtarget targetdestination targetcomponent)
|
||||
set (targetfilename $<TARGET_FILE_DIR:${libtarget}>/${target_name}.pdb)
|
||||
endif ()
|
||||
install (
|
||||
FILES
|
||||
${targetfilename}
|
||||
DESTINATION
|
||||
${targetdestination}
|
||||
FILES ${targetfilename}
|
||||
DESTINATION ${targetdestination}
|
||||
CONFIGURATIONS Debug RelWithDebInfo
|
||||
COMPONENT ${targetcomponent}
|
||||
OPTIONAL
|
||||
@ -97,10 +95,8 @@ endmacro ()
|
||||
macro (INSTALL_PROGRAM_PDB progtarget targetdestination targetcomponent)
|
||||
if (WIN32 AND MSVC)
|
||||
install (
|
||||
FILES
|
||||
$<TARGET_PDB_FILE:${progtarget}>
|
||||
DESTINATION
|
||||
${targetdestination}
|
||||
FILES $<TARGET_PDB_FILE:${progtarget}>
|
||||
DESTINATION ${targetdestination}
|
||||
CONFIGURATIONS Debug RelWithDebInfo
|
||||
COMPONENT ${targetcomponent}
|
||||
OPTIONAL
|
||||
@ -123,18 +119,12 @@ macro (HDF_SET_LIB_OPTIONS libtarget libname libtype)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
set_target_properties (${libtarget}
|
||||
PROPERTIES
|
||||
OUTPUT_NAME
|
||||
${LIB_RELEASE_NAME}
|
||||
# OUTPUT_NAME_DEBUG
|
||||
# ${LIB_DEBUG_NAME}
|
||||
OUTPUT_NAME_RELEASE
|
||||
${LIB_RELEASE_NAME}
|
||||
OUTPUT_NAME_MINSIZEREL
|
||||
${LIB_RELEASE_NAME}
|
||||
OUTPUT_NAME_RELWITHDEBINFO
|
||||
${LIB_RELEASE_NAME}
|
||||
set_target_properties (${libtarget} PROPERTIES
|
||||
OUTPUT_NAME ${LIB_RELEASE_NAME}
|
||||
# OUTPUT_NAME_DEBUG ${LIB_DEBUG_NAME}
|
||||
OUTPUT_NAME_RELEASE ${LIB_RELEASE_NAME}
|
||||
OUTPUT_NAME_MINSIZEREL ${LIB_RELEASE_NAME}
|
||||
OUTPUT_NAME_RELWITHDEBINFO ${LIB_RELEASE_NAME}
|
||||
)
|
||||
#get_property (target_name TARGET ${libtarget} PROPERTY OUTPUT_NAME)
|
||||
#get_property (target_name_debug TARGET ${libtarget} PROPERTY OUTPUT_NAME_DEBUG)
|
||||
@ -143,8 +133,7 @@ macro (HDF_SET_LIB_OPTIONS libtarget libname libtype)
|
||||
|
||||
if (${libtype} MATCHES "STATIC")
|
||||
if (WIN32)
|
||||
set_target_properties (${libtarget}
|
||||
PROPERTIES
|
||||
set_target_properties (${libtarget} PROPERTIES
|
||||
COMPILE_PDB_NAME_DEBUG ${LIB_DEBUG_NAME}
|
||||
COMPILE_PDB_NAME_RELEASE ${LIB_RELEASE_NAME}
|
||||
COMPILE_PDB_NAME_MINSIZEREL ${LIB_RELEASE_NAME}
|
||||
@ -156,8 +145,7 @@ macro (HDF_SET_LIB_OPTIONS libtarget libname libtype)
|
||||
|
||||
#----- Use MSVC Naming conventions for Shared Libraries
|
||||
if (MINGW AND ${libtype} MATCHES "SHARED")
|
||||
set_target_properties (${libtarget}
|
||||
PROPERTIES
|
||||
set_target_properties (${libtarget} PROPERTIES
|
||||
IMPORT_SUFFIX ".lib"
|
||||
IMPORT_PREFIX ""
|
||||
PREFIX ""
|
||||
|
@ -16,6 +16,11 @@
|
||||
enable_language (Fortran)
|
||||
set (HDF_PREFIX "H5")
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
include (CheckFortranSourceRuns)
|
||||
include (CheckFortranSourceCompiles)
|
||||
endif ()
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Fix Fortran flags if we are compiling staticly on Windows using
|
||||
# Windows_MT.cmake from config/cmake/UserMacros
|
||||
@ -42,71 +47,15 @@ file (STRINGS ${CMAKE_BINARY_DIR}/FCMangle.h CONTENTS REGEX "H5_FC_GLOBAL_\\(.*,
|
||||
string (REGEX MATCH "H5_FC_GLOBAL_\\(.*,.*\\) +(.*)" RESULT ${CONTENTS})
|
||||
set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) ${CMAKE_MATCH_1}")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# The provided CMake Fortran macros don't provide a general check function
|
||||
# so this one is used for a sizeof test.
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (CHECK_FORTRAN_FEATURE FUNCTION CODE VARIABLE)
|
||||
message (STATUS "Testing Fortran ${FUNCTION}")
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
|
||||
endif ()
|
||||
file (WRITE
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f90
|
||||
"${CODE}"
|
||||
)
|
||||
TRY_COMPILE (RESULT_VAR
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f90
|
||||
CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
|
||||
# message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
# message (STATUS "Test result ${OUTPUT}")
|
||||
# message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
|
||||
if (${RESULT_VAR})
|
||||
set (${VARIABLE} 1 CACHE INTERNAL "Have Fortran function ${FUNCTION}")
|
||||
message (STATUS "Testing Fortran ${FUNCTION} - OK")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
|
||||
"${OUTPUT}\n\n"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Testing Fortran ${FUNCTION} - Fail")
|
||||
set (${VARIABLE} 0 CACHE INTERNAL "Have Fortran function ${FUNCTION}")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure Checks which require Fortran compilation must go in here
|
||||
# not in the main ConfigureChecks.cmake files, because if the user has
|
||||
# no Fortran compiler, problems arise.
|
||||
#
|
||||
# Be careful with leading spaces here, do not remove them.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# Check for Non-standard extension intrinsic function SIZEOF
|
||||
set (${HDF_PREFIX}_FORTRAN_HAVE_SIZEOF FALSE)
|
||||
CHECK_FORTRAN_FEATURE(sizeof
|
||||
#test code source
|
||||
set (SIZEOF_CODE
|
||||
"
|
||||
PROGRAM main
|
||||
i = sizeof(x)
|
||||
END PROGRAM
|
||||
"
|
||||
${HDF_PREFIX}_FORTRAN_HAVE_SIZEOF
|
||||
)
|
||||
|
||||
# Check for F2008 standard intrinsic function C_SIZEOF
|
||||
set (${HDF_PREFIX}_FORTRAN_HAVE_C_SIZEOF FALSE)
|
||||
CHECK_FORTRAN_FEATURE(c_sizeof
|
||||
set (C_SIZEOF_CODE
|
||||
"
|
||||
PROGRAM main
|
||||
USE ISO_C_BINDING
|
||||
@ -115,11 +64,8 @@ CHECK_FORTRAN_FEATURE(c_sizeof
|
||||
result = c_sizeof(a)
|
||||
END PROGRAM
|
||||
"
|
||||
${HDF_PREFIX}_FORTRAN_HAVE_C_SIZEOF
|
||||
)
|
||||
|
||||
# Check for F2008 standard intrinsic function STORAGE_SIZE
|
||||
CHECK_FORTRAN_FEATURE(storage_size
|
||||
set (STORAGE_SIZE_CODE
|
||||
"
|
||||
PROGRAM main
|
||||
INTEGER :: a
|
||||
@ -127,22 +73,15 @@ CHECK_FORTRAN_FEATURE(storage_size
|
||||
result = storage_size(a)
|
||||
END PROGRAM
|
||||
"
|
||||
${HDF_PREFIX}_FORTRAN_HAVE_STORAGE_SIZE
|
||||
)
|
||||
|
||||
# Check for F2008 standard intrinsic module "ISO_FORTRAN_ENV"
|
||||
set (${HDF_PREFIX}_HAVE_ISO_FORTRAN_ENV FALSE)
|
||||
CHECK_FORTRAN_FEATURE(ISO_FORTRAN_ENV
|
||||
set (ISO_FORTRAN_ENV_CODE
|
||||
"
|
||||
PROGRAM main
|
||||
USE, INTRINSIC :: ISO_FORTRAN_ENV
|
||||
END PROGRAM
|
||||
"
|
||||
${HDF_PREFIX}_HAVE_ISO_FORTRAN_ENV
|
||||
)
|
||||
|
||||
set (${HDF_PREFIX}_FORTRAN_DEFAULT_REAL_NOT_DOUBLE FALSE)
|
||||
CHECK_FORTRAN_FEATURE(RealIsNotDouble
|
||||
set (REALISNOTDOUBLE_CODE
|
||||
"
|
||||
MODULE type_mod
|
||||
INTERFACE h5t
|
||||
@ -165,14 +104,8 @@ CHECK_FORTRAN_FEATURE(RealIsNotDouble
|
||||
CALL h5t(d)
|
||||
END PROGRAM main
|
||||
"
|
||||
${HDF_PREFIX}_FORTRAN_DEFAULT_REAL_NOT_DOUBLE
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Checks if the ISO_C_BINDING module meets all the requirements
|
||||
#-----------------------------------------------------------------------------
|
||||
set (${HDF_PREFIX}_FORTRAN_HAVE_ISO_C_BINDING FALSE)
|
||||
CHECK_FORTRAN_FEATURE(iso_c_binding
|
||||
set (ISO_C_BINDING_CODE
|
||||
"
|
||||
PROGRAM main
|
||||
USE iso_c_binding
|
||||
@ -184,9 +117,95 @@ CHECK_FORTRAN_FEATURE(iso_c_binding
|
||||
ptr = C_LOC(ichr(1:1))
|
||||
END PROGRAM
|
||||
"
|
||||
${HDF_PREFIX}_FORTRAN_HAVE_ISO_C_BINDING
|
||||
)
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (CMAKE_REQUIRED_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}")
|
||||
endif ()
|
||||
check_fortran_source_compiles (${SIZEOF_CODE} ${HDF_PREFIX}_FORTRAN_HAVE_SIZEOF SRC_EXT f90)
|
||||
check_fortran_source_compiles (${C_SIZEOF_CODE} ${HDF_PREFIX}_FORTRAN_HAVE_C_SIZEOF SRC_EXT f90)
|
||||
check_fortran_source_compiles (${STORAGE_SIZE_CODE} ${HDF_PREFIX}_FORTRAN_HAVE_STORAGE_SIZE SRC_EXT f90)
|
||||
check_fortran_source_compiles (${ISO_FORTRAN_ENV_CODE} ${HDF_PREFIX}_HAVE_ISO_FORTRAN_ENV SRC_EXT f90)
|
||||
check_fortran_source_compiles (${REALISNOTDOUBLE_CODE} ${HDF_PREFIX}_FORTRAN_DEFAULT_REAL_NOT_DOUBLE SRC_EXT f90)
|
||||
check_fortran_source_compiles (${ISO_C_BINDING_CODE} ${HDF_PREFIX}_FORTRAN_HAVE_ISO_C_BINDING SRC_EXT f90)
|
||||
else ()
|
||||
#-----------------------------------------------------------------------------
|
||||
# The provided CMake Fortran macros don't provide a general check function
|
||||
# so this one is used for a sizeof test.
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (CHECK_FORTRAN_FEATURE FUNCTION CODE VARIABLE)
|
||||
message (STATUS "Testing Fortran ${FUNCTION}")
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
|
||||
endif ()
|
||||
file (WRITE
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f90
|
||||
"${CODE}"
|
||||
)
|
||||
TRY_COMPILE (RESULT_VAR
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f90
|
||||
CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
|
||||
# message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
# message (STATUS "Test result ${OUTPUT}")
|
||||
# message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
|
||||
if (${RESULT_VAR})
|
||||
set (${VARIABLE} 1 CACHE INTERNAL "Have Fortran function ${FUNCTION}")
|
||||
message (STATUS "Testing Fortran ${FUNCTION} - OK")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
|
||||
"${OUTPUT}\n\n"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Testing Fortran ${FUNCTION} - Fail")
|
||||
set (${VARIABLE} 0 CACHE INTERNAL "Have Fortran function ${FUNCTION}")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure Checks which require Fortran compilation must go in here
|
||||
# not in the main ConfigureChecks.cmake files, because if the user has
|
||||
# no Fortran compiler, problems arise.
|
||||
#
|
||||
# Be careful with leading spaces here, do not remove them.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# Check for Non-standard extension intrinsic function SIZEOF
|
||||
set (${HDF_PREFIX}_FORTRAN_HAVE_SIZEOF FALSE)
|
||||
CHECK_FORTRAN_FEATURE(${SIZEOF_CODE} ${HDF_PREFIX}_FORTRAN_HAVE_SIZEOF)
|
||||
|
||||
# Check for F2008 standard intrinsic function C_SIZEOF
|
||||
set (${HDF_PREFIX}_FORTRAN_HAVE_C_SIZEOF FALSE)
|
||||
CHECK_FORTRAN_FEATURE(${C_SIZEOF_CODE} ${HDF_PREFIX}_FORTRAN_HAVE_C_SIZEOF)
|
||||
|
||||
# Check for F2008 standard intrinsic function STORAGE_SIZE
|
||||
CHECK_FORTRAN_FEATURE(${STORAGE_SIZE_CODE} ${HDF_PREFIX}_FORTRAN_HAVE_STORAGE_SIZE)
|
||||
|
||||
# Check for F2008 standard intrinsic module "ISO_FORTRAN_ENV"
|
||||
set (${HDF_PREFIX}_HAVE_ISO_FORTRAN_ENV FALSE)
|
||||
CHECK_FORTRAN_FEATURE(${ISO_FORTRAN_ENV_CODE} ${HDF_PREFIX}_HAVE_ISO_FORTRAN_ENV)
|
||||
|
||||
set (${HDF_PREFIX}_FORTRAN_DEFAULT_REAL_NOT_DOUBLE FALSE)
|
||||
CHECK_FORTRAN_FEATURE(${REALISNOTDOUBLE_CODE} ${HDF_PREFIX}_FORTRAN_DEFAULT_REAL_NOT_DOUBLE)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Checks if the ISO_C_BINDING module meets all the requirements
|
||||
#-----------------------------------------------------------------------------
|
||||
set (${HDF_PREFIX}_FORTRAN_HAVE_ISO_C_BINDING FALSE)
|
||||
CHECK_FORTRAN_FEATURE(${ISO_C_BINDING_CODE} ${HDF_PREFIX}_FORTRAN_HAVE_ISO_C_BINDING)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add debug information (intel Fortran : JB)
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -87,7 +87,7 @@ if (TEST_ERRREF)
|
||||
# if the .err file exists grep the error output with the error reference before comparing stdout
|
||||
if (EXISTS "${TEST_FOLDER}/${TEST_OUTPUT}.err")
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_ERR_STREAM)
|
||||
list(LENGTH TEST_ERR_STREAM test_len)
|
||||
list (LENGTH TEST_ERR_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
# TEST_ERRREF should always be matched
|
||||
string (REGEX MATCH "${TEST_ERRREF}" TEST_MATCH ${TEST_ERR_STREAM})
|
||||
@ -103,7 +103,7 @@ if (TEST_ERRREF)
|
||||
if (NOT TEST_SKIP_COMPARE)
|
||||
if (EXISTS "${TEST_FOLDER}/${TEST_REFERENCE}")
|
||||
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
|
||||
list(LENGTH TEST_STREAM test_len)
|
||||
list (LENGTH TEST_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
if (WIN32 OR MINGW)
|
||||
configure_file(${TEST_FOLDER}/${TEST_REFERENCE} ${TEST_FOLDER}/${TEST_REFERENCE}.tmp NEWLINE_STYLE CRLF)
|
||||
@ -116,7 +116,7 @@ if (TEST_ERRREF)
|
||||
if (NOT TEST_SORT_COMPARE)
|
||||
# now compare the output with the reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
RESULT_VARIABLE TEST_COMPARE_RESULT
|
||||
)
|
||||
else ()
|
||||
|
@ -90,7 +90,7 @@ message (STATUS "COMMAND Result: ${TEST_RESULT}")
|
||||
# if the .err file exists and ERRROR_APPEND is enabled
|
||||
if (EXISTS "${TEST_FOLDER}/${TEST_OUTPUT}.err")
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM)
|
||||
list(LENGTH TEST_STREAM test_len)
|
||||
list (LENGTH TEST_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
if (TEST_MASK_FILE)
|
||||
STRING(REGEX REPLACE "CurrentDir is [^\n]+\n" "CurrentDir is (dir name)\n" TEST_STREAM "${TEST_STREAM}")
|
||||
@ -210,7 +210,7 @@ set (TEST_COMPARE_RESULT 0)
|
||||
if (NOT TEST_SKIP_COMPARE)
|
||||
if (EXISTS "${TEST_FOLDER}/${TEST_REFERENCE}")
|
||||
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
|
||||
list(LENGTH TEST_STREAM test_len)
|
||||
list (LENGTH TEST_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
if (WIN32 OR MINGW)
|
||||
configure_file(${TEST_FOLDER}/${TEST_REFERENCE} ${TEST_FOLDER}/${TEST_REFERENCE}.tmp NEWLINE_STYLE CRLF)
|
||||
@ -224,7 +224,7 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
if (NOT TEST_SORT_COMPARE)
|
||||
# now compare the output with the reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
RESULT_VARIABLE TEST_COMPARE_RESULT
|
||||
)
|
||||
else ()
|
||||
@ -281,7 +281,7 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
set (TEST_ERRREF_RESULT 0)
|
||||
if (TEST_ERRREF)
|
||||
file (READ ${TEST_FOLDER}/${TEST_ERRREF} TEST_STREAM)
|
||||
list(LENGTH TEST_STREAM test_len)
|
||||
list (LENGTH TEST_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
if (WIN32 OR MINGW)
|
||||
configure_file(${TEST_FOLDER}/${TEST_ERRREF} ${TEST_FOLDER}/${TEST_ERRREF}.tmp NEWLINE_STYLE CRLF)
|
||||
@ -294,7 +294,7 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
|
||||
# now compare the error output with the error reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
|
||||
RESULT_VARIABLE TEST_ERRREF_RESULT
|
||||
)
|
||||
if (TEST_ERRREF_RESULT)
|
||||
@ -343,7 +343,7 @@ set (TEST_GREP_RESULT 0)
|
||||
if (TEST_GREP_COMPARE)
|
||||
# now grep the output with the reference
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
|
||||
list(LENGTH TEST_STREAM test_len)
|
||||
list (LENGTH TEST_STREAM test_len)
|
||||
if (test_len GREATER 0)
|
||||
# TEST_REFERENCE should always be matched
|
||||
string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM})
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_EXAMPLES C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_F90 C Fortran)
|
||||
|
||||
if (H5_HAVE_PARALLEL)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_F90_EXAMPLES C Fortran)
|
||||
# --------------------------------------------------------------------
|
||||
# Notes: When creating examples they should be prefixed
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_F90_SRC C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_FORTRAN_TESTS C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_FORTRAN_TESTPAR C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_CPP CXX)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_CPP_EXAMPLES CXX)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_CPP_SRC CXX)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_CPP_TEST CXX)
|
||||
|
||||
add_executable (hl_ptableTest ${HDF5_HL_CPP_TEST_SOURCE_DIR}/ptableTest.cpp)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_EXAMPLES C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_F90 C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_F90_EXAMPLES C Fortran)
|
||||
|
||||
set (examples
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_F90_SRC C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_FORTRAN_TESTS C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_SRC C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_TEST C)
|
||||
# --------------------------------------------------------------------
|
||||
# Notes: When creating unit test executables they should be prefixed
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_TOOLS C)
|
||||
|
||||
add_subdirectory (gif2h5)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_TOOLS_GIF2H5 C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_TOOLS_H5WATCH C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_JAVA C Java)
|
||||
|
||||
set (CMAKE_MODULE_PATH "${HDF_RESOURCES_DIR};${HDF_RESOURCES_EXT_DIR}")
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDFJAVA_EXAMPLES Java)
|
||||
|
||||
add_subdirectory (datasets)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDFJAVA_EXAMPLES_DATASETS Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDFJAVA_EXAMPLES_DATATYPES Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDFJAVA_EXAMPLES_GROUPS Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDFJAVA_EXAMPLES_INTRO Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_JAVA_SRC C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_JAVA_HDF C)
|
||||
|
||||
add_subdirectory (hdf5lib)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_JAVA_HDF_HDF5 Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_JAVA_JNI C)
|
||||
|
||||
set (HDF5_JAVA_JNI_CSRCS
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_JAVA_TEST Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
@ -48,6 +48,13 @@ New Features
|
||||
|
||||
Configuration:
|
||||
-------------
|
||||
- Update CMake minimum version to 3.12
|
||||
|
||||
Updated CMake minimum version to 3.12 and added version checks
|
||||
for Windows features.
|
||||
|
||||
(ADB - 2020/02/05, TRILABS-142)
|
||||
|
||||
- Fixed CMake include properties for Fortran libraries
|
||||
|
||||
Corrected the library properties for Fortran to use the
|
||||
|
@ -180,7 +180,7 @@ Given the preconditions in section I, create a CMakeLists.txt file at the
|
||||
source root. Include the following text in the file:
|
||||
|
||||
##########################################################
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5MyApp C CXX)
|
||||
|
||||
set (LIB_TYPE STATIC) # or SHARED
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_SRC C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TEST C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TEST_PAR C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS C)
|
||||
|
||||
add_subdirectory (lib)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_LIB C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_LIBTEST C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC C)
|
||||
|
||||
#-- Add the h5diff and test executables
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_H5COPY C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_H5DIFF C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_H5DUMP C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_H5FC C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_H5IMPORT C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_H5JAM C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_H5LS C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_H5REPACK C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_H5STAT C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_SRC_MISC C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST C)
|
||||
|
||||
#-- Add the h5diff tests
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_H5COPY C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_H5DIFF C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_H5DUMP C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -558,14 +558,12 @@
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (H5DUMP-${resultfile} PROPERTIES DEPENDS "H5DUMP-${resultfile}-clear-objects")
|
||||
if(NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
add_test (
|
||||
NAME H5DUMP-${resultfile}-output-cmp
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files --ignore-eol ${resultfile}.txt ${resultfile}.exp
|
||||
)
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp PROPERTIES DEPENDS H5DUMP-${resultfile})
|
||||
endif ()
|
||||
add_test (
|
||||
NAME H5DUMP-${resultfile}-output-cmp
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${resultfile}.txt ${resultfile}.exp
|
||||
)
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp PROPERTIES DEPENDS H5DUMP-${resultfile})
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@ -601,20 +599,18 @@
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (H5DUMP-${resultfile} PROPERTIES DEPENDS "H5DUMP-${resultfile}-clear-objects")
|
||||
if(NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
add_test (
|
||||
NAME H5DUMP-${resultfile}-output-cmp
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files --ignore-eol ${resultfile}.txt ${resultfile}.exp
|
||||
)
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp PROPERTIES DEPENDS H5DUMP-${resultfile})
|
||||
add_test (
|
||||
NAME H5DUMP-${resultfile}-output-cmp-ddl
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files --ignore-eol ${ddlfile}.txt ${ddlfile}.exp
|
||||
)
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp-ddl PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp-ddl PROPERTIES DEPENDS H5DUMP-${resultfile}-output-cmp)
|
||||
endif ()
|
||||
add_test (
|
||||
NAME H5DUMP-${resultfile}-output-cmp
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${resultfile}.txt ${resultfile}.exp
|
||||
)
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp PROPERTIES DEPENDS H5DUMP-${resultfile})
|
||||
add_test (
|
||||
NAME H5DUMP-${resultfile}-output-cmp-ddl
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${ddlfile}.txt ${ddlfile}.exp
|
||||
)
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp-ddl PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
|
||||
set_tests_properties (H5DUMP-${resultfile}-output-cmp-ddl PROPERTIES DEPENDS H5DUMP-${resultfile}-output-cmp)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@ -631,14 +627,12 @@
|
||||
)
|
||||
set_tests_properties (H5DUMP-output-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
|
||||
set_tests_properties (H5DUMP-output-${resultfile} PROPERTIES DEPENDS H5DUMP-output-${resultfile}-clear-objects)
|
||||
if(NOT CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
add_test (
|
||||
NAME H5DUMP-output-cmp-${resultfile}
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files --ignore-eol ${resultfile}.txt ${resultfile}.exp
|
||||
)
|
||||
set_tests_properties (H5DUMP-output-cmp-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
|
||||
set_tests_properties (H5DUMP-output-cmp-${resultfile} PROPERTIES DEPENDS H5DUMP-output-${resultfile})
|
||||
endif ()
|
||||
add_test (
|
||||
NAME H5DUMP-output-cmp-${resultfile}
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_IGNORE_EOL} ${resultfile}.txt ${resultfile}.exp
|
||||
)
|
||||
set_tests_properties (H5DUMP-output-cmp-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
|
||||
set_tests_properties (H5DUMP-output-cmp-${resultfile} PROPERTIES DEPENDS H5DUMP-output-${resultfile})
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_H5FC C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_H5IMPORT C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_H5JAM C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_H5LS C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_H5REPACK C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_H5STAT C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_MISC C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_MISC_VDS C)
|
||||
|
||||
MACRO (ADD_H5_GENERATOR genfile)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_TOOLS_TEST_PERFORM C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user