Brad King wrote: > On 10/30/2013 09:01 AM, Stephen Kelly wrote: >> Brad King wrote: >> >>> When CMP0022 is NEW the INTERFACE_LINK_LIBRARIES is always the link >>> interface without the link implementation fallback, but the tll plain >>> signature does not populate INTERFACE_LINK_LIBRARIES either. This is >>> not correct. >> >> I actually prefer this behavior, but as it's not backward compatible, >> something has to be done about it. > > The purpose of CMP0023 was that in combination with CMP0022 everyone > can switch over to the keyword signatures and then get the generally > preferred behavior. The historical behavior of the plain tll signature > is too deeply ingrained in projects to ever change.
Ok. > >> I've implemented this in handle-only-plain-tll in my clone, but made the >> policy control the behavior. If that's fine I can add tests for that. > > If I'm reading that correctly the behavior will still be changed > when CMP0022 is set to new. The only difference is now you warn > when the policy is not set. This will warn in the basic use case > that has been used in examples since the beginning of CMake. > > We really need to just silently use the link implementation as > the link interface as has always been done when only the plain tll > signature is used. New projects can use the keyword signatures > which always set the link interface explicitly. Ok. I've updated my topic to remove the policy logic. > > The only question is whether cmTarget's logic should fall back to the > link implementation when only the plain tll signature is used even > if INTERFACE_LINK_LIBRARIES is not set, or tll's plain signature > should maintain INTERFACE_LINK_LIBRARIES until another signature > is used to set it explicitly. Right. Currently it is the former. I'm not certain the latter is possible while keeping everything else working. I can look into it again though. > I prefer the latter because it means > we can still say that when CMP0022 is NEW the INTERFACE_LINK_LIBRARIES > always holds the link interface and it can be checked with get_property > at any time for debugging. Wasn't that one of your goals? I don't recall. I have a wip topic adding LINK_LIBRARIES support to CMAKE_DEBUG_TARGET_PROPERTIES. It's not really the same but a bigger goal for me than this I think. Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
