[CMake] Set Fortran compiler in CMakeLists.txt?

Nikolaus Rath nrath at trialphaenergy.com
Thu Apr 30 14:50:54 EDT 2015


On 04/30/2015 10:59 AM, Bill Hoffman wrote:
> On 4/30/2015 12:52 PM, Nikolaus Rath wrote:
>> Is there a way to set the Fortran compiler from CMakeLists.txt (instead
>> of setting the FC environment when calling cmake)?
>
> No, not really.  That is not the way CMake works.  You want to avoid 
> users of your project to ever have to edit a CMakeLists.txt file.  The 
> compiler used is not something you want hard coded into a CMakeLists.txt 
> file.

Hmm. My situation is a bit different. We have different Fortran
compilers installed, but this specific one needs to be compiled using
the intel compiler. But by default, CMake selects gfortran.

At the moment I abort the build if FC != ifort, but this is not exactly
a good user experience. Imagine:

$ cmake ..
Unsupported! Please set FC=ifort
$ FC=ifort cmake ..

For the user, this raises the question: if the build system knows what
compiler it needs, why doesn't it just use it instead of telling me to
tell it to use it? :-)


Best,
-Nikolaus




More information about the CMake mailing list