mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-24 15:25:00 +08:00
[svn-r23066] HDFFV-8265: create .def file during configure, added F2003 optional functions and refactor ISO_C_BINDING usage in cmake files
Tested: local cmake
This commit is contained in:
parent
c7440f2f36
commit
5697dc8f80
@ -759,6 +759,11 @@ IF (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for
|
||||
IF (HDF5_BUILD_FORTRAN)
|
||||
OPTION (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF)
|
||||
INCLUDE (${HDF5_RESOURCES_DIR}/HDF5UseFortran.cmake)
|
||||
IF (HDF5_ENABLE_F2003)
|
||||
IF (NOT FORTRAN_HAVE_ISO_C_BINDING)
|
||||
SET (HDF5_ENABLE_F2003 OFF)
|
||||
ENDIF (NOT FORTRAN_HAVE_ISO_C_BINDING)
|
||||
ENDIF (HDF5_ENABLE_F2003)
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# wrapper script variables
|
||||
|
@ -63,7 +63,7 @@ FOREACH (example ${examples})
|
||||
|
||||
ENDFOREACH (example ${examples})
|
||||
|
||||
IF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
|
||||
IF (HDF5_ENABLE_F2003)
|
||||
FOREACH (example ${F2003_examples})
|
||||
ADD_EXECUTABLE (f03_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
|
||||
TARGET_NAMING (f03_ex_${example} ${LIB_TYPE})
|
||||
@ -88,7 +88,7 @@ IF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
|
||||
SET (last_test "f03_ex_${example}")
|
||||
ENDIF (BUILD_TESTING)
|
||||
ENDFOREACH (example ${F2003_examples})
|
||||
ENDIF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
|
||||
ENDIF (HDF5_ENABLE_F2003)
|
||||
|
||||
IF (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
ADD_EXECUTABLE (f90_ex_ph5example ${HDF5_F90_EXAMPLES_SOURCE_DIR}/ph5example.f90)
|
||||
|
@ -9,6 +9,9 @@ IF (WIN32 AND NOT CYGWIN)
|
||||
IF (NOT H5_HAVE_PARALLEL)
|
||||
SET (H5_NOPAREXP ";")
|
||||
ENDIF (NOT H5_HAVE_PARALLEL)
|
||||
IF (NOT HDF5_ENABLE_F2003)
|
||||
SET (H5_NOF03EXP ";")
|
||||
ENDIF (NOT HDF5_ENABLE_F2003)
|
||||
CONFIGURE_FILE (${HDF5_F90_SRC_SOURCE_DIR}/hdf5_fortrandll.def.in ${HDF5_F90_SRC_BINARY_DIR}/hdf5_fortrandll.def @ONLY)
|
||||
ENDIF (MSVC)
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
@ -139,13 +142,13 @@ SET_TARGET_PROPERTIES (${HDF5_F90_C_LIB_TARGET} PROPERTIES LINKER_LANGUAGE C)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Fortran 2003 standard
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
|
||||
IF (HDF5_ENABLE_F2003)
|
||||
# default real is 4 bytes, so include double signatures
|
||||
SET (F_STATUS "_F03")
|
||||
ELSE (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
|
||||
ELSE (HDF5_ENABLE_F2003)
|
||||
# default real is 8 bytes, so exclude double signatures
|
||||
SET (F_STATUS "_F90")
|
||||
ENDIF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
|
||||
ENDIF (HDF5_ENABLE_F2003)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Fortran Real Size
|
||||
|
@ -6,6 +6,7 @@ H5LIB_mp_H5GET_LIBVERSION_F
|
||||
H5LIB_mp_H5CHECK_VERSION_F
|
||||
H5LIB_mp_H5GARBAGE_COLLECT_F
|
||||
H5LIB_mp_H5DONT_ATEXIT_F
|
||||
@H5_NOF03EXP@H5LIB_PROVISIONAL_mp_H5OFFSETOF
|
||||
; H5_DBLE_INTERFACE
|
||||
H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_SCALAR
|
||||
H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_1
|
||||
@ -120,6 +121,8 @@ H5A_mp_H5AEXISTS_F
|
||||
H5A_mp_H5AEXISTS_BY_NAME_F
|
||||
H5A_mp_H5AOPEN_BY_NAME_F
|
||||
H5A_mp_H5ARENAME_F
|
||||
@H5_NOF03EXP@H5A_PROVISIONAL_mp_H5AWRITE_PTR
|
||||
@H5_NOF03EXP@H5A_PROVISIONAL_mp_H5AREAD_PTR
|
||||
; H5D
|
||||
H5D_mp_H5DCREATE_F
|
||||
H5D_mp_H5DOPEN_F
|
||||
@ -200,6 +203,9 @@ H5D_mp_H5DGET_CREATE_PLIST_F
|
||||
H5D_mp_H5DGET_STORAGE_SIZE_F
|
||||
H5D_mp_H5DVLEN_GET_MAX_LEN_F
|
||||
H5D_mp_H5DGET_ACCESS_PLIST_F
|
||||
@H5_NOF03EXP@H5D_PROVISIONAL_mp_H5DWRITE_PTR
|
||||
@H5_NOF03EXP@H5D_PROVISIONAL_mp_H5DREAD_PTR
|
||||
@H5_NOF03EXP@H5D_PROVISIONAL_mp_H5DVLEN_RECLAIM_F
|
||||
; H5E
|
||||
H5E_mp_H5ECLEAR_F
|
||||
H5E_mp_H5EPRINT_F
|
||||
@ -283,6 +289,8 @@ H5L_mp_H5LGET_INFO_BY_IDX_F
|
||||
H5L_mp_H5LIS_REGISTERED_F
|
||||
H5L_mp_H5LMOVE_F
|
||||
H5L_mp_H5LGET_NAME_BY_IDX_F
|
||||
@H5_NOF03EXP@H5L_PROVISIONAL_mp_H5LITERATE_F
|
||||
@H5_NOF03EXP@H5L_PROVISIONAL_mp_H5LITERATE_BY_NAME_F
|
||||
; H5O
|
||||
H5O_mp_H5OCLOSE_F
|
||||
H5O_mp_H5OCOPY_F
|
||||
@ -297,12 +305,11 @@ H5O_mp_H5OOPEN_BY_IDX_F
|
||||
H5O_mp_H5OOPEN_F
|
||||
H5O_mp_H5OSET_COMMENT_F
|
||||
H5O_mp_H5OSET_COMMENT_BY_NAME_F
|
||||
; These should only get compiled with option --enable-fortran2003
|
||||
;H5O_PROVISIONAL_mp_H5OGET_INFO_BY_IDX_F
|
||||
;H5O_PROVISIONAL_mp_H5OGET_INFO_BY_NAME_F
|
||||
;H5O_PROVISIONAL_mp_H5OGET_INFO_F
|
||||
;H5O_PROVISIONAL_mp_H5OVISIT_BY_NAME_F
|
||||
;H5O_PROVISIONAL_mp_H5OVISIT_F
|
||||
@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OGET_INFO_BY_IDX_F
|
||||
@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OGET_INFO_BY_NAME_F
|
||||
@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OGET_INFO_F
|
||||
@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OVISIT_BY_NAME_F
|
||||
@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OVISIT_F
|
||||
; H5P
|
||||
H5P_mp_H5PCREATE_F
|
||||
H5P_mp_H5PSET_PRESERVE_F
|
||||
@ -439,16 +446,26 @@ H5P_mp_H5PGET_NLINKS_F
|
||||
H5P_mp_H5PGET_CREATE_INTER_GROUP_F
|
||||
H5P_mp_H5PSET_CHUNK_CACHE_F
|
||||
H5P_mp_H5PGET_CHUNK_CACHE_F
|
||||
@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PSET_FILL_VALUE_PTR
|
||||
@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PGET_FILL_VALUE_PTR
|
||||
@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PSET_PTR
|
||||
@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PGET_PTR
|
||||
@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PREGISTER_PTR
|
||||
@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PINSERT_PTR
|
||||
; H5R
|
||||
H5R_PROVISIONAL_mp_H5RCREATE_OBJECT_F
|
||||
H5R_PROVISIONAL_mp_H5RCREATE_REGION_F
|
||||
H5R_PROVISIONAL_mp_H5RDEREFERENCE_OBJECT_F
|
||||
H5R_PROVISIONAL_mp_H5RDEREFERENCE_REGION_F
|
||||
H5R_PROVISIONAL_mp_H5RGET_REGION_REGION_F
|
||||
|
||||
H5R_mp_H5RGET_OBJECT_TYPE_OBJ_F
|
||||
H5R_PROVISIONAL_mp_H5RGET_NAME_OBJECT_F
|
||||
H5R_PROVISIONAL_mp_H5RGET_NAME_REGION_F
|
||||
@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RGET_REGION_PTR_F
|
||||
@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RCREATE_PTR_F
|
||||
@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RDEREFERENCE_PTR_F
|
||||
@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RGET_NAME_PTR_F
|
||||
@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RGET_OBJ_TYPE_F
|
||||
; H5S
|
||||
H5S_mp_H5SCREATE_SIMPLE_F
|
||||
H5S_mp_H5SCLOSE_F
|
||||
@ -538,6 +555,7 @@ H5T_mp_H5TENCODE_F
|
||||
H5T_mp_H5TGET_CREATE_PLIST_F
|
||||
H5T_mp_H5TCOMPILER_CONV_F
|
||||
H5T_mp_H5TGET_NATIVE_TYPE_F
|
||||
@H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TCONVERT_F
|
||||
; H5Z
|
||||
H5Z_mp_H5ZUNREGISTER_F
|
||||
H5Z_mp_H5ZFILTER_AVAIL_F
|
||||
@ -549,4 +567,4 @@ H5Z_mp_H5ZGET_FILTER_INFO_F
|
||||
@H5_NOPAREXP@H5FDMPIO_mp_H5PGET_DXPL_MPIO_F
|
||||
@H5_NOPAREXP@H5FDMPIO_mp_H5PSET_FAPL_MPIPOSIX_F
|
||||
@H5_NOPAREXP@H5FDMPIO_mp_H5PGET_FAPL_MPIPOSIX_F
|
||||
@H5_NOPAREXP@H5FDMPIO_mp_H5PGET_MPIO_ACTUAL_IO_MODE_F
|
||||
@H5_NOPAREXP@H5FDMPIO_mp_H5PGET_MPIO_ACTUAL_IO_MODE_F
|
||||
|
@ -100,7 +100,7 @@ ADD_TEST (NAME testhdf5_fortran_1_8 COMMAND $<TARGET_FILE:testhdf5_fortran_1_8>)
|
||||
SET_TESTS_PROPERTIES(testhdf5_fortran_1_8 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
|
||||
#-- Adding test for fortranlib_test_F03
|
||||
IF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
|
||||
IF (HDF5_ENABLE_F2003)
|
||||
ADD_EXECUTABLE (fortranlib_test_F03
|
||||
fortranlib_test_F03.f90
|
||||
tH5F.f90
|
||||
@ -125,7 +125,7 @@ IF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
|
||||
|
||||
ADD_TEST (NAME fortranlib_test_F03 COMMAND $<TARGET_FILE:fortranlib_test_F03>)
|
||||
SET_TESTS_PROPERTIES(fortranlib_test_F03 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
ENDIF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
|
||||
ENDIF (HDF5_ENABLE_F2003)
|
||||
|
||||
#-- Adding test for fflush1
|
||||
ADD_EXECUTABLE (fflush1 fflush1.f90)
|
||||
|
Loading…
Reference in New Issue
Block a user