Answering to myself. This mail by Craig explains a lot: https://cmake.org/pipermail/cmake/2016-May/063400.html
Sorry for the noise. I guess I have my answer in there. I'll try to propose a documentation update based on Craig's explanation because, https://cmake.org/cmake/help/v3.8/manual/cmake-buildsystem.7.html#transitive-usage-requirements does not contains clues on specific treatment for static libs. 2017-04-18 16:30 GMT+02:00 Eric Noulard <eric.noul...@gmail.com>: > I have a question concerning the transitive linking of dependence and > static libs. > > I'm working a on prokect where some shared lib are linked to static lib > (do not ask me why). > So I do: > > set(CMAKE_POSITION_INDEPENDENT_CODE True) > > then I have a bunch of libraries (either static or shared) which depends > on each other. > I use PRIVATE and PUBLIC specification with target_link_librairies. > > Now I expected that the transitive link properties would be fullfilled > simply i.e. that > when some target LIB1 is PRIVATEly link against say pthread. Then if a > another > lib LIB2 is linked against LIB1 then then "pthread" wouldn't be dragged > into the link > interface of LIB2. > > It seems that this is not as simple as I thought and as soon as LIB1 is > static > then LIB2 gets the dependency (be it PRIVATE or PUBLIC)... > > Find attached a small example. > > Is this a bug, a feature or something I didn't catch? > > > -- > Eric > -- Eric
-- 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