diff options
author | Chuck Cranor <chuck@ece.cmu.edu> | 2019-01-25 10:57:42 -0700 |
---|---|---|
committer | Chuck Cranor <chuck@ece.cmu.edu> | 2019-01-25 10:57:42 -0700 |
commit | 2e91627dea507ec6f4406d561b073bdc14860cb1 (patch) | |
tree | e3cb2c95856f48dba30b3dfdd22bc0bbfebd3c21 /Modules/CMakeFortranCompiler.cmake.in | |
parent | 568343767e5852f0e5751341a3aa44ab6feffb8a (diff) | |
download | cmake-2e91627dea507ec6f4406d561b073bdc14860cb1.tar.gz |
ParseImplicitIncludeInfo: add Fortran implicit include handling
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.
Diffstat (limited to 'Modules/CMakeFortranCompiler.cmake.in')
-rw-r--r-- | Modules/CMakeFortranCompiler.cmake.in | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Modules/CMakeFortranCompiler.cmake.in b/Modules/CMakeFortranCompiler.cmake.in index 9b951fc4e2..ae7b73ac4a 100644 --- a/Modules/CMakeFortranCompiler.cmake.in +++ b/Modules/CMakeFortranCompiler.cmake.in @@ -61,6 +61,7 @@ endif() @CMAKE_Fortran_SYSROOT_FLAG_CODE@ @CMAKE_Fortran_OSX_DEPLOYMENT_TARGET_FLAG_CODE@ +set(CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES "@CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES@") set(CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES "@CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES@") set(CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES "@CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES@") set(CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@") |