• chuck cranor's avatar
    ParseImplicitIncludeInfo: add Fortran implicit include handling · 2e91627d
    chuck cranor authored
    Currently cmake is only setting CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES
    the first time it runs (the implicit includes parser is only run when
    the cache variables are initially populated).  It is left unset
    during additional runs.  This behavior is both confusing and
    inconsistent.
    
    Modify CMakeFortranCompiler.cmake.in to preserve the value of
    CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES so that cmake's Fortran
    behavior matches C and CXX (i.e. CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES
    retains its value across runs).  The implicit includes variable may
    not be as useful for Fortran as it is for C and CXX, but we do want
    cmake to be consistent in how it is handled.
    
    Adjust CMakeParseImplicitIncludeInfo to parse verbose Fortran output
    for Cray and XL compiler IDs (GNU and clang were already ok since
    they use the same verbose output format as they do with C/CXX).
    
    Allow Tests/RunCMake/ParseImplicitIncludeInfo/data/CMakeLists.txt
    to generate test inputs for Fortran too, and add some sample Fortran
    input files for the Tests/RunCMake/ParseImplicitIncludeInfo test.
    2e91627d