On 04/30/2015 03:27 PM, Bill Hoffman wrote:
> On 4/30/2015 2:50 PM, Nikolaus Rath wrote:
>> 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?:-)
>
> I suppose the CMake way to do this would be to test for the "feature" 
> that you need from the compiler.  Then complain that the compiler picked 
> does not support "feature N".  This would be done with a try_compile. 
> That way if the user has a compiler that supports what you need intel or 
> gfortran it will work.


In practice this still means that the user still has to manually choose
ifort, and that the error message is now almost deliberately obfuscated
("please use ifort" is much easier to understand than "your compiler
does not support x, y, z  and a. Please switch to a different compiler").

I know what compilers we have installed, what features they have, and
which one's are compatible with the code. Is there really no way to
encode that knowledge in the build system?

Best,
-Nikolaus

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to