[cmake-developers] Generator expressions in target properties

Brad King brad.king at kitware.com
Tue Nov 20 11:57:52 EST 2012


On 11/20/2012 11:03 AM, Stephen Kelly wrote:
> I have only tested on linux though so far. I'm still hoping to get this into 
> 2.8.11, and hoping to get it into next 'soon' for real testing.

I won't have time to do a thorough review until after this week (US holiday)
but here are some quick comments:

- I'd like to see the INTERFACE_LINK_LIBRARIES property and policy
  added earlier in the topic if possible so we can test it separately.
  It does not appear to depend on the "$<BUILD_INTERFACE:...>" changes.
  In general I'd like to handle the topic in most-invasive to least-
  invasive order so we can incrementally merge and test in pieces.
  (Where "invasive" refers to effects on existing projects.)

- The $<EXPNS> expression is too abbreviated.  I think
  $<EXPORT_NAMESPACE> is better.  People can always do
  set(ns "$<EXPORT_NAMESPACE>") and then use ${ns}.

- The std::auto_ptr from <memory> is not portable to ancient compilers.
  Use cmsys::auto_ptr as one can see elsewhere in CMake.

- The $<TARGET:tgt> expression will be too easily confused with
  the $<TARGET_FILE:tgt> expression IMO.  Perhaps something like
  $<TARGET_EXISTS:tgt> or $<TARGET_DEFINED:tgt> is better.

- CMP0020 does not appear to have a WARN implementation.

Thanks,
-Brad



More information about the cmake-developers mailing list