Prechádzať zdrojové kódy

Fortran: Adjust compiler candidates based on host platform

Typical Fortran compiler command-line tool names differ on Windows and
non-Windows platforms.  Also, the name `ifc` should not be used on
Windows because there is an `ifc.exe` tool in Visual Studio that is
unrelated.

Fixes: #17752
xoviat 7 rokov pred
rodič
commit
965f977c7c
1 zmenil súbory, kde vykonal 14 pridanie a 6 odobranie
  1. 14 6
      Modules/CMakeDetermineFortranCompiler.cmake

+ 14 - 6
Modules/CMakeDetermineFortranCompiler.cmake

@@ -66,12 +66,20 @@ else()
       #  The order is 95 or newer compilers first, then 90,
       #  then 77 or older compilers, gnu is always last in the group,
       #  so if you paid for a compiler it is picked by default.
-      set(CMAKE_Fortran_COMPILER_LIST
-        ftn
-        ifort ifc af95 af90 efc f95 pathf2003 pathf95 pgf95 pgfortran lf95 xlf95
-        fort flang gfortran gfortran-4 g95 f90 pathf90 pgf90 xlf90 epcf90 fort77
-        frt pgf77 xlf fl32 af77 g77 f77 nag
-        )
+      if(CMAKE_HOST_WIN32)
+        set(CMAKE_Fortran_COMPILER_LIST
+          ifort pgf95 pgfortran lf95 fort
+          flang gfortran gfortran-4 g95 f90 pgf90
+          pgf77 g77 f77 nag
+          )
+      else()
+        set(CMAKE_Fortran_COMPILER_LIST
+          ftn
+          ifort ifc efc pgf95 pgfortran lf95 xlf95 fort
+          flang gfortran gfortran-4 g95 f90 pgf90
+          frt pgf77 xlf g77 f77 nag
+          )
+      endif()
 
       # Vendor-specific compiler names.
       set(_Fortran_COMPILER_NAMES_GNU       gfortran gfortran-4 g95 g77)