I have a shared library that always rebuilds to pick up some build-specific
information (including a build time stamp).

I would like to make all targets that depend on this library not to relink
against it every time that library rebuilds.

I am aware of the existence of LINK_DEPENDS_NO_SHARED
<https://cmake.org/cmake/help/latest/prop_tgt/LINK_DEPENDS_NO_SHARED.html>
but it appears that using this property will disable the dependency on ALL
shared library for that target. I only want to disable the dependency on
the "special" library that gets rebuilt every single time. Furthermore, as
far as I can tell, even though LINK_DEPENDS_NO_SHARED prevents relinking of
the immediate target that depends on the always-rebuilding-library, targets
one level above in the dependency chain are still relinking all of the time.

To be clear, here is the dependency chain:

AlwaysRebuildingLibrary (ARL) -> PublicLibraryThatPublishesInfoFromARL ->
Libraries/Binaries

Is there a way to do this without resorting to crazy hacks?

Thanks!
Kiril
-- 

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

Reply via email to