Use double cache for some of the Fortran settings in CMake configuration, so that to eliminate the "cache effect".
This commit was SVN r24776.
Этот коммит содержится в:
родитель
0eb3b3b7b0
Коммит
c01dee96ae
@ -38,7 +38,8 @@ MACRO(OMPI_F77_CHECK FORTRAN_TYPE C_TYPE TYPE_LIST EXPECTED_SIZE)
|
|||||||
SET(ofc_type_alignment ${SIZEOF_INT})
|
SET(ofc_type_alignment ${SIZEOF_INT})
|
||||||
SET(ofc_c_type ${ompi_fortran_bogus_type_t})
|
SET(ofc_c_type ${ompi_fortran_bogus_type_t})
|
||||||
|
|
||||||
IF(OMPI_WANT_F77_BINDINGS AND NOT DEFINED F77_SETUP_${TYPE_NAME}_DONE)
|
IF(OMPI_WANT_F77_BINDINGS)
|
||||||
|
IF(NOT DEFINED F77_SETUP_${TYPE_NAME}_DONE)
|
||||||
|
|
||||||
OMPI_F77_CHECK_TYPE(${FORTRAN_TYPE} ofc_have_type)
|
OMPI_F77_CHECK_TYPE(${FORTRAN_TYPE} ofc_have_type)
|
||||||
|
|
||||||
@ -76,16 +77,29 @@ MACRO(OMPI_F77_CHECK FORTRAN_TYPE C_TYPE TYPE_LIST EXPECTED_SIZE)
|
|||||||
SET(F77_SETUP_${TYPE_NAME}_DONE TRUE CACHE INTERNAL "F77 ${TYPE_NAME} check done or not.")
|
SET(F77_SETUP_${TYPE_NAME}_DONE TRUE CACHE INTERNAL "F77 ${TYPE_NAME} check done or not.")
|
||||||
ENDIF(ofc_have_type)
|
ENDIF(ofc_have_type)
|
||||||
|
|
||||||
|
SET(OMPI_HAVE_FORTRAN_${TYPE_NAME}_C ${ofc_have_type} CACHE INTERNAL "OMPI_HAVE_FORTRAN_${TYPE_NAME}")
|
||||||
|
SET(OMPI_SIZEOF_FORTRAN_${TYPE_NAME}_C ${ofc_type_size} CACHE INTERNAL "OMPI_SIZEOF_FORTRAN_${TYPE_NAME}")
|
||||||
|
SET(OMPI_ALIGNMENT_FORTRAN_${TYPE_NAME}_C ${ofc_type_alignment} CACHE INTERNAL "OMPI_ALIGNMENT_FORTRAN_${TYPE_NAME}")
|
||||||
|
|
||||||
|
ENDIF(NOT DEFINED F77_SETUP_${TYPE_NAME}_DONE)
|
||||||
|
|
||||||
|
SET(OMPI_HAVE_FORTRAN_${TYPE_NAME} ${OMPI_HAVE_FORTRAN_${TYPE_NAME}_C}
|
||||||
|
CACHE INTERNAL "OMPI_HAVE_FORTRAN_${TYPE_NAME}")
|
||||||
|
SET(OMPI_SIZEOF_FORTRAN_${TYPE_NAME} ${OMPI_SIZEOF_FORTRAN_${TYPE_NAME}_C}
|
||||||
|
CACHE INTERNAL "OMPI_SIZEOF_FORTRAN_${TYPE_NAME}")
|
||||||
|
SET(OMPI_ALIGNMENT_FORTRAN_${TYPE_NAME} ${OMPI_ALIGNMENT_FORTRAN_${TYPE_NAME}_C}
|
||||||
|
CACHE INTERNAL "OMPI_ALIGNMENT_FORTRAN_${TYPE_NAME}")
|
||||||
|
|
||||||
ELSEIF(NOT OMPI_WANT_F77_BINDINGS)
|
ELSEIF(NOT OMPI_WANT_F77_BINDINGS)
|
||||||
UNSET(F77_SETUP_${TYPE_NAME}_DONE CACHE)
|
UNSET(F77_SETUP_${TYPE_NAME}_DONE)
|
||||||
ENDIF(OMPI_WANT_F77_BINDINGS AND NOT DEFINED F77_SETUP_${TYPE_NAME}_DONE)
|
SET(OMPI_HAVE_FORTRAN_${TYPE_NAME} ${ofc_have_type} CACHE INTERNAL "OMPI_HAVE_FORTRAN_${TYPE_NAME}")
|
||||||
|
SET(OMPI_SIZEOF_FORTRAN_${TYPE_NAME} ${ofc_type_size} CACHE INTERNAL "OMPI_SIZEOF_FORTRAN_${TYPE_NAME}")
|
||||||
|
SET(OMPI_ALIGNMENT_FORTRAN_${TYPE_NAME} ${ofc_type_alignment} CACHE INTERNAL "OMPI_ALIGNMENT_FORTRAN_${TYPE_NAME}")
|
||||||
|
ENDIF(OMPI_WANT_F77_BINDINGS)
|
||||||
|
|
||||||
IF(NOT "${TYPE_LIST}" STREQUAL "")
|
IF(NOT "${TYPE_LIST}" STREQUAL "")
|
||||||
SET(ompi_fortran_${TYPE_NAME_L}_t ${ofc_c_type} CACHE INTERNAL "ompi_fortran_${TYPE_NAME_L}_t")
|
SET(ompi_fortran_${TYPE_NAME_L}_t ${ofc_c_type} CACHE INTERNAL "ompi_fortran_${TYPE_NAME_L}_t")
|
||||||
ENDIF(NOT "${TYPE_LIST}" STREQUAL "")
|
ENDIF(NOT "${TYPE_LIST}" STREQUAL "")
|
||||||
SET(OMPI_HAVE_FORTRAN_${TYPE_NAME} ${ofc_have_type} CACHE INTERNAL "OMPI_HAVE_FORTRAN_${TYPE_NAME}")
|
|
||||||
SET(OMPI_SIZEOF_FORTRAN_${TYPE_NAME} ${ofc_type_size} CACHE INTERNAL "OMPI_SIZEOF_FORTRAN_${TYPE_NAME}")
|
|
||||||
SET(OMPI_ALIGNMENT_FORTRAN_${TYPE_NAME} ${ofc_type_alignment} CACHE INTERNAL "OMPI_ALIGNMENT_FORTRAN_${TYPE_NAME}")
|
|
||||||
|
|
||||||
#MESSAGE("OMPI_HAVE_FORTRAN_${TYPE_NAME}:${OMPI_HAVE_FORTRAN_${TYPE_NAME}}")
|
#MESSAGE("OMPI_HAVE_FORTRAN_${TYPE_NAME}:${OMPI_HAVE_FORTRAN_${TYPE_NAME}}")
|
||||||
#MESSAGE("OMPI_SIZEOF_FORTRAN_${TYPE_NAME}:${OMPI_SIZEOF_FORTRAN_${TYPE_NAME}}")
|
#MESSAGE("OMPI_SIZEOF_FORTRAN_${TYPE_NAME}:${OMPI_SIZEOF_FORTRAN_${TYPE_NAME}}")
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user