[cmake-developers] CMake 2.8.12 transitive link regression?

Brad King brad.king at kitware.com
Fri Nov 1 15:25:01 EDT 2013


On 11/01/2013 09:04 AM, Brad King wrote:
> On 11/01/2013 08:49 AM, Brad King wrote:
>> On 11/01/2013 07:32 AM, Stephen Kelly wrote:
>>>  add_library(foo SHARED foo.cpp)
>>>  add_library(bar SHARED foo.cpp)
>>>  # target_link_libraries(foo bar)
>>>  set_property(TARGET foo PROPERTY LINK_LIBRARIES bar)
>>>  file(GENERATE OUTPUT outputfile 
>>>    CONTENT "$<TARGET_PROPERTY:foo,INTERFACE_LINK_LIBRARIES>\n")
[snip]
> So yes, hacking the generator expression node for the fallback
> is probably the right fix.

On third thought, the tll documentation for the plain signature
does not say it populates the INTERFACE_LINK_LIBRARIES property.
Therefore I think it is okay for the generator expression that
reads it to get an empty value.  If a project wants advanced
use cases like that it should use the tll keyword signatures
or set INTERFACE_LINK_LIBRARIES itself like the tll docs suggest.

Therefore I think the fix as of commit 42a17cc6 is correct
except that it still needs tests for exporting cases.

Thanks,
-Brad



More information about the cmake-developers mailing list