diff options
author | Brad King <brad.king@kitware.com> | 2019-11-21 19:38:35 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-11-21 20:59:12 (GMT) |
commit | 19f267c75e84b72c4de42570be0c4222bb93aaff (patch) | |
tree | 5ffe9d3806b4e39815665da4aa8728267869cbea /Modules/CMakeFortranCompiler.cmake.in | |
parent | 52accc779efe350cb9778005a1fb4aeb9b090456 (diff) | |
download | CMake-19f267c75e84b72c4de42570be0c4222bb93aaff.zip CMake-19f267c75e84b72c4de42570be0c4222bb93aaff.tar.gz CMake-19f267c75e84b72c4de42570be0c4222bb93aaff.tar.bz2 |
XL: Add support for Ninja and XL Fortran
The Ninja generator's support for Fortran requires that source files
be preprocessed explicitly first. However, the `xlf` compiler does
not have a simple `-E` option or equivalent to do preprocessing.
The only documented way to get preprocessed output is to use `-d`
to leave it behind, but only at an inflexible location.
Instead, create our own `cpp` wrapper script and substitute it for the
real preprocessor using `-tF -B ...`. Teach the wrapper to map the
`cpp` output to the location we need and then invoke the real `cpp`
underneath.
Fixes: #19450
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 ae7b73a..34f44aa 100644 --- a/Modules/CMakeFortranCompiler.cmake.in +++ b/Modules/CMakeFortranCompiler.cmake.in @@ -6,6 +6,7 @@ set(CMAKE_Fortran_COMPILER_WRAPPER "@CMAKE_Fortran_COMPILER_WRAPPER@") set(CMAKE_Fortran_PLATFORM_ID "@CMAKE_Fortran_PLATFORM_ID@") set(CMAKE_Fortran_SIMULATE_ID "@CMAKE_Fortran_SIMULATE_ID@") set(CMAKE_Fortran_SIMULATE_VERSION "@CMAKE_Fortran_SIMULATE_VERSION@") +@_SET_CMAKE_Fortran_XL_CPP@ @_SET_CMAKE_Fortran_COMPILER_ARCHITECTURE_ID@ @SET_MSVC_Fortran_ARCHITECTURE_ID@ set(CMAKE_AR "@CMAKE_AR@") |