Re: [CMake] Transitive behavior of target_link_libraries between shared/static

2017-07-18 Thread Eric Noulard
2017-07-18 19:15 GMT+02:00 Hendrik Sattler : > > > Am 18. Juli 2017 18:02:40 MESZ schrieb Eric Noulard < > eric.noul...@gmail.com>: > >2017-07-17 17:31 GMT+02:00 Robert Dailey : > > > >> Suppose I have the following: > >> > >> ``` > >> add_library( A STATIC ${files} ) > >> > >> add_library( B SHAR

Re: [CMake] Transitive behavior of target_link_libraries between shared/static

2017-07-18 Thread Robert Dailey
Maybe I'm missing something here, but that linked article doesn't really address my specific case. And his definition is technically correct, as long as CMake is smart enough to handle the case where (again in my example) A does not need to be explicitly linked to D because they were already linked

Re: [CMake] Transitive behavior of target_link_libraries between shared/static

2017-07-18 Thread Hendrik Sattler
Am 18. Juli 2017 18:02:40 MESZ schrieb Eric Noulard : >2017-07-17 17:31 GMT+02:00 Robert Dailey : > >> Suppose I have the following: >> >> ``` >> add_library( A STATIC ${files} ) >> >> add_library( B SHARED ${more_files} ) >> target_link_libraries( B PUBLIC A ) >> >> add_library( C STATIC ${even_

Re: [CMake] Transitive behavior of target_link_libraries between shared/static

2017-07-18 Thread Eric Noulard
2017-07-17 17:31 GMT+02:00 Robert Dailey : > Suppose I have the following: > > ``` > add_library( A STATIC ${files} ) > > add_library( B SHARED ${more_files} ) > target_link_libraries( B PUBLIC A ) > > add_library( C STATIC ${even_more_files} ) > target_link_libraries( C PUBLIC B ) > > > add_execu

[CMake] Transitive behavior of target_link_libraries between shared/static

2017-07-17 Thread Robert Dailey
Suppose I have the following: ``` add_library( A STATIC ${files} ) add_library( B SHARED ${more_files} ) target_link_libraries( B PUBLIC A ) add_library( C STATIC ${even_more_files} ) target_link_libraries( C PUBLIC B ) add_executable( D ${exe_files} ) target_link_libraries( D PRIVATE C ) ```