[Cmake-commits] [cmake-commits] king committed CMakeCInformation.cmake 1.26 1.27 CMakeCXXInformation.cmake 1.29 1.30 CMakeFortranInformation.cmake 1.24 1.25

cmake-commits at cmake.org cmake-commits at cmake.org
Tue Oct 6 11:06:41 EDT 2009


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv13108/Modules

Modified Files:
	CMakeCInformation.cmake CMakeCXXInformation.cmake 
	CMakeFortranInformation.cmake 
Log Message:
Use work-around from bug 4772 for C++ and Fortran

The commit "fix for bug 4772" added a work-around to CMakeCInformation
for platform config files that put compiler information in the system
file (like SunOS flags for GCC).  This commit adds the same work-around
for CXX and Fortran.  It is necessary to support enabling these
languages separately from C in other subdirectories.

The commit "Avoid (Unix|Windows)Paths.cmake multiple include" added
include blockers that prevent the files from multiple inclusion, so it
is safe to include the system information files from every language.

See issue #4772 and issue #9656.


Index: CMakeCXXInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCXXInformation.cmake,v
retrieving revision 1.29
retrieving revision 1.30
diff -C 2 -d -r1.29 -r1.30
*** CMakeCXXInformation.cmake	28 Sep 2009 15:46:46 -0000	1.29
--- CMakeCXXInformation.cmake	6 Oct 2009 15:06:38 -0000	1.30
***************
*** 55,59 ****
  ENDIF(CMAKE_CXX_COMPILER_ID)
  IF (NOT _INCLUDED_FILE)
!   INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
  ENDIF (NOT _INCLUDED_FILE)
  
--- 55,67 ----
  ENDIF(CMAKE_CXX_COMPILER_ID)
  IF (NOT _INCLUDED_FILE)
!   INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
!           RESULT_VARIABLE _INCLUDED_FILE)
! ENDIF (NOT _INCLUDED_FILE)
! # We specify the compiler information in the system file for some
! # platforms, but this language may not have been enabled when the file
! # was first included.  Include it again to get the language info.
! # Remove this when all compiler info is removed from system files.
! IF (NOT _INCLUDED_FILE)
!   INCLUDE(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
  ENDIF (NOT _INCLUDED_FILE)
  

Index: CMakeFortranInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeFortranInformation.cmake,v
retrieving revision 1.24
retrieving revision 1.25
diff -C 2 -d -r1.24 -r1.25
*** CMakeFortranInformation.cmake	28 Sep 2009 15:46:50 -0000	1.24
--- CMakeFortranInformation.cmake	6 Oct 2009 15:06:38 -0000	1.25
***************
*** 29,39 ****
  ENDIF(CMAKE_COMPILER_IS_GNUG77)
  IF(CMAKE_Fortran_COMPILER_ID)
!   IF(EXISTS ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Fortran_COMPILER_ID}-Fortran.cmake)
!     SET(CMAKE_BASE_NAME ${CMAKE_Fortran_COMPILER_ID}-Fortran)
!   ENDIF(EXISTS ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Fortran_COMPILER_ID}-Fortran.cmake)
  ENDIF(CMAKE_Fortran_COMPILER_ID)
! SET(CMAKE_SYSTEM_AND_Fortran_COMPILER_INFO_FILE
!   ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)
! INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
  
  # This should be included before the _INIT variables are
--- 29,46 ----
  ENDIF(CMAKE_COMPILER_IS_GNUG77)
  IF(CMAKE_Fortran_COMPILER_ID)
!   INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
  ENDIF(CMAKE_Fortran_COMPILER_ID)
! IF (NOT _INCLUDED_FILE)
!   INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
!           RESULT_VARIABLE _INCLUDED_FILE)
! ENDIF (NOT _INCLUDED_FILE)
! # We specify the compiler information in the system file for some
! # platforms, but this language may not have been enabled when the file
! # was first included.  Include it again to get the language info.
! # Remove this when all compiler info is removed from system files.
! IF (NOT _INCLUDED_FILE)
!   INCLUDE(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
! ENDIF (NOT _INCLUDED_FILE)
! 
  
  # This should be included before the _INIT variables are

Index: CMakeCInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCInformation.cmake,v
retrieving revision 1.26
retrieving revision 1.27
diff -C 2 -d -r1.26 -r1.27
*** CMakeCInformation.cmake	28 Sep 2009 15:46:46 -0000	1.26
--- CMakeCInformation.cmake	6 Oct 2009 15:06:38 -0000	1.27
***************
*** 59,69 ****
      OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
  ENDIF (NOT _INCLUDED_FILE)
! # some systems include the compiler information in the system file
! # and if this is the enable_language command then it may not have been
! # included at this point, or needs to be included again so that the
! # language_INIT variables are set correctly
  IF (NOT _INCLUDED_FILE)
!   INCLUDE(Platform/${CMAKE_SYSTEM_NAME} 
!     OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
  ENDIF (NOT _INCLUDED_FILE)
  
--- 59,68 ----
      OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
  ENDIF (NOT _INCLUDED_FILE)
! # We specify the compiler information in the system file for some
! # platforms, but this language may not have been enabled when the file
! # was first included.  Include it again to get the language info.
! # Remove this when all compiler info is removed from system files.
  IF (NOT _INCLUDED_FILE)
!   INCLUDE(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
  ENDIF (NOT _INCLUDED_FILE)
  



More information about the Cmake-commits mailing list