[CMake] are target_compile_definitions not transitive in cmake 3.12.1?

Robert Maynard robert.maynard at kitware.com
Tue Sep 4 08:43:02 EDT 2018


target_compile_definitions is transitive for PUBLIC/INTERFACE definitions.
Can you provide an example where that is failing?


On Thu, Aug 30, 2018 at 6:32 PM Mario Emmenlauer <mario at emmenlauer.de>
wrote:

>
> Sorry if this has been discussed before, I searched the mailing
> list and google but could not find this exact issue (only [1] and
> [2] that refer to library dependencies).
>
> I have a case where it seems target_compile_definitions() is not
> transitive (it is not passed down via libraries), is that possible?
> I have a project that sets a PUBLIC definition on libA, and during
> the build of libB that links libA the definition is applied. But the
> definition does not pass down to executables linking libB. This is
> confusing for me because library dependencies and includes seem to
> be transitive (linking libB also links libA automatically).
>
> Is it by design that target_compile_definitions() is not transitive
> in cmake 3.12.1? Or am I doing something wrong?
>
> [2] https://gitlab.kitware.com/cmake/cmake/issues/17633
> [1] https://gitlab.kitware.com/cmake/cmake/issues/12435
>
> All the best,
>
>     Mario Emmenlauer
>
>
> --
> BioDataAnalysis GmbH, Mario Emmenlauer      Tel. Buero: +49-89-74677203
> Balanstr. 43                   mailto: memmenlauer * biodataanalysis.de
> D-81669 München                          http://www.biodataanalysis.de/
> --
>
> 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:
> https://cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20180904/317c427e/attachment.html>


More information about the CMake mailing list