[CMake] Resetting CMAKE_Fortran_FLAGS for a specific file

Mark Abraham mark.j.abraham at gmail.com
Wed Aug 13 09:53:14 EDT 2014


On Wed, Aug 13, 2014 at 3:18 AM, marco restelli <mrestelli at gmail.com> wrote:

> Hi Petr,
>    thanks, very informative!
>
> 2014-08-13 9:20 GMT+0200, Petr Kmoch <petr.kmoch at gmail.com>:
> > Hi Marco.
> >
> > Sane compilers allow later command-line options to override earlier ones,
> > so what you're doing should be fine. Unfortunately, I know some Fortran
> > compilers are not sane in this regard.
>
> Here, I would really like to reduce as much as possible the flags
> regardless of the chosen compiler, so "undoing" the chosen flags
> seems to me cumbersome and compiler dependent, compared to resetting
> them altogether. I like the idea of OBJECT libraries better (it also
> solves other problems I have, I did not know about it!).
>
> > If you really need to solve this by explicitly modifying the global list
> > for a particular file, the only thing I can think of is move those files
> to
> > a separate CMakeList and turn them into an object library:
>
> This almost works, I have a problem specifying liking dependencies for
> the OBJECT libraries. With a normal library, I can use
>
> TARGET_LINK_LIBRARIES( my_library ${other_libs_my_library_depends_on} )
>
> but if my_library is OBJECT I see the error
>
>   Object library target "my_library" may not link to anything.
>

See http://www.cmake.org/cmake/help/v3.0/command/add_library.html for the
correct way to do things with object libraries - for this purpose, they are
closer to source files than libraries, which makes sense given that there's
not actually a library written to disk anywhere.

Mark


> One option would be adding the TARGET_LINK_LIBRARIES to the STATIC
> library where the TARGET_OBJECTS are used, but this seems to
> contradict the modularity idea of the OBJECT libraries. Is there a
> better solution?
>
> Marco
> --
>
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140813/55f87355/attachment.html>


More information about the CMake mailing list