From c01dee96aed04ab573498bcb67201d82a2896392 Mon Sep 17 00:00:00 2001 From: Shiqing Fan Date: Wed, 15 Jun 2011 20:49:08 +0000 Subject: [PATCH] Use double cache for some of the Fortran settings in CMake configuration, so that to eliminate the "cache effect". This commit was SVN r24776. --- .../win32/CMakeModules/f77_check.cmake | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/contrib/platform/win32/CMakeModules/f77_check.cmake b/contrib/platform/win32/CMakeModules/f77_check.cmake index 7f27d45710..abebcc6a61 100644 --- a/contrib/platform/win32/CMakeModules/f77_check.cmake +++ b/contrib/platform/win32/CMakeModules/f77_check.cmake @@ -38,7 +38,8 @@ MACRO(OMPI_F77_CHECK FORTRAN_TYPE C_TYPE TYPE_LIST EXPECTED_SIZE) SET(ofc_type_alignment ${SIZEOF_INT}) 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) @@ -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.") 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) - UNSET(F77_SETUP_${TYPE_NAME}_DONE CACHE) - ENDIF(OMPI_WANT_F77_BINDINGS AND NOT DEFINED F77_SETUP_${TYPE_NAME}_DONE) + UNSET(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 "") SET(ompi_fortran_${TYPE_NAME_L}_t ${ofc_c_type} CACHE INTERNAL "ompi_fortran_${TYPE_NAME_L}_t") 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_SIZEOF_FORTRAN_${TYPE_NAME}:${OMPI_SIZEOF_FORTRAN_${TYPE_NAME}}")