fortran linking issue

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

fortran linking issue

Juan E. Sanchez
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
--

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 | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fortran linking issue

Juan E. Sanchez
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

--

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
Loading...