[cmake-developers] Listing all targets

Brad King brad.king at kitware.com
Mon Sep 14 13:28:37 EDT 2015


On 09/14/2015 11:46 AM, David Cole wrote:
> (1) I see how I can easily move "COMPONENTS" from
> cmGetCMakePropertyCommand::InitialPass to cmState::GetGlobalProperty
> because I can access the global generator from cmState as well...

Yes.

> move "VARIABLES" and "MACROS," though, I need access to the correct
> cmMakefile in which the cmGetCMakePropertyCommand is running.

Those are actually directory properties and should never have been
available through get_cmake_property().  They should already be
available through get_property() in the DIRECTORY scope.  Please
instead deprecate them with a warning.

> (2) I will update the documentation of get_cmake_property to say these
> are all also available via get_property(GLOBAL ...

The command docs already say something along those lines but the wording
could be made more consistent with get_property's GLOBAL scope.

> All calls to get_cmake_property should have exactly the
> same content as a corresponding call to get_property(GLOBAL?

The behavior for unset properties differs.

> (3) Is anyone concerned about adding a global property with the
> somewhat generic name "TARGETS" ? Do we care if any projects out there
> are already doing a set_property(GLOBAL with the name "TARGETS"?

We could call it CMAKE_ALL_TARGETS.  Other name ideas, anyone?

Thanks,
-Brad



More information about the cmake-developers mailing list