Brad King wrote: > On 12/03/2012 10:06 AM, Stephen Kelly wrote: >> Brad King wrote: >>> The CONFIG_DEBUG property complements the "debug" keyword in tll(). >>> That's all it does, and it exactly matches the behavior we need in >>> the motivating case. Something like $<COMPATIBLE_CONFIG:cfg> may >>> be useful but that can be added in the future in another topic. >> >> Yes, it could be added in the future, but the generator expression added >> by generatorIface could not then be ported to use it (after a release is >> made with this patch in it) without breaking behavior backward >> compatibility. > > The purpose of the generatorIface logic is to implement the "debug" > keyword from tll() with a generator expression. It doesn't make sense > to generalize the test that keyword performs because ideally in the future > no one will use this keyword anymore and will use generator expressions > instead.
Yes, you're right. CONFIG_DEBUG is fine then. > >>> When constructing a topic pretend that each commit is the last commit >>> you will ever make to CMake, without the rest of the topic after it, >>> or at least without future topics. If it doesn't make sense to leave >>> it off at that point then the commits are organized incorrectly and >>> therefore harder to review. > > Perhaps better wording for the above: We can't put any topics in master > that depend on future topics for completeness. > >> That would mean that add-INTERFACE_LINK_LIBRARIES-property should also >> include the rest of the commits to add the LINK_LIBRARIES property and >> use that for static libraries to generate the INTERFACE_LINK_LIBRARIES >> property on exported targets. Otherwise >> add-INTERFACE_LINK_LIBRARIES-property topic would be introducing a bug. > > ...but that behavior is not influenced by the new policy CMP0019. > Currently this topic will just generate the old properties named > IMPORTED_LINK_INTERFACE_LIBRARIES(_<CONFIG>) for static libs and > everything will work, no? I'm not certain. If the policy is NEW and I export a static library, then only IMPORTED_LINK_INTERFACE_LIBRARIES(_<CONFIG>) will be on the generated IMPORTED targets (as is my understanding - I have not tried this). If I then try to use that IMPORTED target, the IMPORTED_LINK_INTERFACE_LIBRARIES(_<CONFIG>) will be ignored, and the INTERFACE_LINK_LIBRARIES will also not give me anything useful (because it does not exist, despite upstream using CMP0019 == NEW), though it would be populated in a future CMake release. Am I missing anything there? 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