[CMake] fortran linking issue

Juan E. Sanchez juan.e.sanchez at gmail.com
Thu Jul 13 16:56:19 EDT 2017


It turns out these linker flags were being added by cmake.  To disable 
them, I had to:
unset(CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES)

I was then able to use SET_TARGET_PROPERTIES to link into the static 
versions of the code I wanted.

This also fixed the issue for the case where I had a C++ exe with a 
Fortran library.  In this case, I only needed to use 
TARGET_LINK_LIBRARIES to bring in my static gfortran and quadmath libraries.

It turns out that libgfortran has its own link to libquadmath, so I was 
forced to statically link that as well.

Regards,

Juan



On 7/13/17 2:29 PM, Juan E. Sanchez wrote:
> When I set the linker language of a fortran program to "C", it 
> automatically links in -lgfortran, -lquadmath, -lm.
> 
> SET_TARGET_PROPERTIES(main_f PROPERTIES LINKER_LANGUAGE "C")
> 
> Unfortunately, that precludes me linking in static versions of  -lquadmath.
> 
> How do I tell CMAKE not to append these libraries when I change the 
> LINKER_LANGUAGE to "C"?
> 
> Regards,
> 
> Juan



More information about the CMake mailing list