Brad King wrote: > On 01/07/2013 03:36 PM, Stephen Kelly wrote: >> Perhaps it should be >> >> install(TARGETS testLibRequired >> EXPORT RequiredExp DESTINATION lib >> INTERFACE_INCLUDES >> "/foo/bar" >> ) >> >> ? > > That looks better, but I think it is best to wait until we gain more > experience with the new capabilities. We can always add convenience > interfaces later but we can't take them away.
Yes. > >>> wonder if we should hold off on this convenience interface until more >>> of the new usage interface magic is worked out. We may be able to >>> find an even more convenient way to set a whole bunch of stuff on >>> an installed target's interface. >> >> Ok. I can split CMAKE_BUILD_INTERFACE_INCLUDES into a topic of its own. > > Yes. I've merged it to next as include-dirs-convenience. > >> Yes, I can modify it to that effect. I was also thinking that for the >> includes command it might make sense to have a BEFORE keyword, but I'm >> not certain. > > I'm sure it won't take long for someone to ask for it if it isn't there. > It essentially asks for the arguments to be prefixed instead of appended > on the property value. Yes, added now. > >> I also have a slight concern that >> >> target_compile_definitions(foo PRIVATE bar) >> >> has an ambiguous meaning. >> >> What do you think? > Fortunately target names are usually > lower case and macros are usually upper case so this conflict will > be rare in practice. Yes, I agree. That's why I think the set_property workaround should be fine too. > The new commands do not need to be included in the bootstrap build. > We won't be using them in CMake's own rules for a while. I've merged the branch to next for testing. It's not clear how to add the commands without bootstrapping them. In my branch, the BootstrapTest fails: cmake.o: In function `cmTargetIncludeDirectoriesCommand::cmTargetIncludeDirectoriesCommand()': cmake.cxx: (.text._ZN33cmTargetIncludeDirectoriesCommandC2Ev[_ZN33cmTargetIncludeDirectoriesCommandC5Ev]+0x1f): undefined reference to `vtable for cmTargetIncludeDirectoriesCommand' cmake.o: In function `cmTargetCompileDefinitionsCommand::cmTargetCompileDefinitionsCommand()': cmake.cxx: (.text._ZN33cmTargetCompileDefinitionsCommandC2Ev[_ZN33cmTargetCompileDefinitionsCommandC5Ev]+0x1f): undefined reference to `vtable for cmTargetCompileDefinitionsCommand' I'm sure the reason is that cmake.cxx itself is bootstrapped. 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
