mirror of
https://github.com/reactos/CMake.git
synced 2024-11-23 11:39:48 +00:00
19f267c75e
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
69 lines
2.8 KiB
CMake
69 lines
2.8 KiB
CMake
set(CMAKE_Fortran_COMPILER "@CMAKE_Fortran_COMPILER@")
|
|
set(CMAKE_Fortran_COMPILER_ARG1 "@CMAKE_Fortran_COMPILER_ARG1@")
|
|
set(CMAKE_Fortran_COMPILER_ID "@CMAKE_Fortran_COMPILER_ID@")
|
|
set(CMAKE_Fortran_COMPILER_VERSION "@CMAKE_Fortran_COMPILER_VERSION@")
|
|
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@")
|
|
set(CMAKE_Fortran_COMPILER_AR "@CMAKE_Fortran_COMPILER_AR@")
|
|
set(CMAKE_RANLIB "@CMAKE_RANLIB@")
|
|
set(CMAKE_Fortran_COMPILER_RANLIB "@CMAKE_Fortran_COMPILER_RANLIB@")
|
|
set(CMAKE_COMPILER_IS_GNUG77 @CMAKE_COMPILER_IS_GNUG77@)
|
|
set(CMAKE_Fortran_COMPILER_LOADED 1)
|
|
set(CMAKE_Fortran_COMPILER_WORKS @CMAKE_Fortran_COMPILER_WORKS@)
|
|
set(CMAKE_Fortran_ABI_COMPILED @CMAKE_Fortran_ABI_COMPILED@)
|
|
set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
|
|
set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
|
|
if(CMAKE_COMPILER_IS_CYGWIN)
|
|
set(CYGWIN 1)
|
|
set(UNIX 1)
|
|
endif()
|
|
|
|
set(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
|
|
|
|
set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 @CMAKE_Fortran_COMPILER_SUPPORTS_F90@)
|
|
|
|
if(CMAKE_COMPILER_IS_MINGW)
|
|
set(MINGW 1)
|
|
endif()
|
|
set(CMAKE_Fortran_COMPILER_ID_RUN 1)
|
|
set(CMAKE_Fortran_SOURCE_FILE_EXTENSIONS f;F;fpp;FPP;f77;F77;f90;F90;for;For;FOR;f95;F95)
|
|
set(CMAKE_Fortran_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
|
set(CMAKE_Fortran_LINKER_PREFERENCE 20)
|
|
if(UNIX)
|
|
set(CMAKE_Fortran_OUTPUT_EXTENSION .o)
|
|
else()
|
|
set(CMAKE_Fortran_OUTPUT_EXTENSION .obj)
|
|
endif()
|
|
|
|
# Save compiler ABI information.
|
|
set(CMAKE_Fortran_SIZEOF_DATA_PTR "@CMAKE_Fortran_SIZEOF_DATA_PTR@")
|
|
set(CMAKE_Fortran_COMPILER_ABI "@CMAKE_Fortran_COMPILER_ABI@")
|
|
set(CMAKE_Fortran_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
|
|
|
|
if(CMAKE_Fortran_SIZEOF_DATA_PTR AND NOT CMAKE_SIZEOF_VOID_P)
|
|
set(CMAKE_SIZEOF_VOID_P "${CMAKE_Fortran_SIZEOF_DATA_PTR}")
|
|
endif()
|
|
|
|
if(CMAKE_Fortran_COMPILER_ABI)
|
|
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_Fortran_COMPILER_ABI}")
|
|
endif()
|
|
|
|
if(CMAKE_Fortran_LIBRARY_ARCHITECTURE)
|
|
set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
|
|
endif()
|
|
|
|
@CMAKE_Fortran_COMPILER_CUSTOM_CODE@
|
|
@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@")
|