[Cmake-commits] [cmake-commits] king committed CMakeFortranCompilerABI.F NONE 1.1 CMakeTestFortranCompiler.cmake 1.9 1.10

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Jul 13 11:24:04 EDT 2009


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

Modified Files:
	CMakeTestFortranCompiler.cmake 
Added Files:
	CMakeFortranCompilerABI.F 
Log Message:
ENH: Create Fortran ABI detection framework

This invokes CMakeDetermineCompilerABI.cmake for Fortran at the same
place it is already done for C and CXX.


--- NEW FILE: CMakeFortranCompilerABI.F ---
      PROGRAM CMakeFortranCompilerId
        PRINT *, 'ABI Detection Binary'
      END

Index: CMakeTestFortranCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeTestFortranCompiler.cmake,v
retrieving revision 1.9
retrieving revision 1.10
diff -C 2 -d -r1.9 -r1.10
*** CMakeTestFortranCompiler.cmake	12 May 2008 22:11:42 -0000	1.9
--- CMakeTestFortranCompiler.cmake	13 Jul 2009 15:24:01 -0000	1.10
***************
*** 35,38 ****
--- 35,52 ----
    ENDIF(FORTRAN_TEST_WAS_RUN)
    SET(CMAKE_Fortran_COMPILER_WORKS 1 CACHE INTERNAL "")
+ 
+   IF(CMAKE_Fortran_COMPILER_FORCED)
+     # The compiler configuration was forced by the user.
+     # Assume the user has configured all compiler information.
+   ELSE(CMAKE_Fortran_COMPILER_FORCED)
+     # Try to identify the ABI and configure it into CMakeFortranCompiler.cmake
+     INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
+     CMAKE_DETERMINE_COMPILER_ABI(Fortran ${CMAKE_ROOT}/Modules/CMakeFortranCompilerABI.F)
+     CONFIGURE_FILE(
+       ${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
+       ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeFortranCompiler.cmake
+       @ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
+       )
+   ENDIF(CMAKE_Fortran_COMPILER_FORCED)
  ENDIF(NOT CMAKE_Fortran_COMPILER_WORKS)
  



More information about the Cmake-commits mailing list