[CMake] FindLAPACK/FindBLAS require Fortran compiler. Why?

Michael Wild themiwi at gmail.com
Tue Jul 7 04:32:18 EDT 2009


On 7. Jul, 2009, at 10:11, Marcel Loose wrote:

> Hi all,
>
> I noticed that FindLAPACK and FindBLAS require that you enable Fortran
> as language, which causes CMake to check for a working Fortran
> compiler.
> IMHO, you only need the fortran runtime libraries, cause you're only
> linking against the Lapack/Blas libraries. Most Linux distro's have
> separate packages for compiler and runtime libraries.
>
> Is there a good reason for FindLAPACK and FindBLAS to require a  
> working
> Fortran compiler?
>
> Best regards,
> Marcel Loose.
>

That's probably because these modules ONLY search for the Fortran  
interfaces. Usually one needs a different set of libraries for cblas  
and clapack. Also the function names to check for are different (e.g.  
cblas_dgemm versus dgemm).

Perhaps someone finds the time to write FindCBLAS.cmake and  
FindCLAPACK.cmake... But honestly, if you look at FindBLAS.cmake, that  
is quite tough as the various vendor implementations differ strongly  
in library names, required compiler flags etc. Linking against Intel  
MKL is just a night-mare!

I hope this explains it a bit (although the answer is probably not  
very satisfying).

Michael



More information about the CMake mailing list