[cmake-developers] [CMake 0011209]: Support generator expression everywhere they make sense
Michael Wild
themiwi at gmail.com
Thu Dec 16 02:46:27 EST 2010
Thanks Brad, that's fantastic! Kind of a premature Christmas gift ;-)
Michael
On 12/15/2010 09:43 PM, Mantis Bug Tracker wrote:
>
> The following issue has been RESOLVED.
> ======================================================================
> http://public.kitware.com/Bug/view.php?id=11209
> ======================================================================
> Reported By: Michael Wild
> Assigned To: Brad King
> ======================================================================
> Project: CMake
> Issue ID: 11209
> Category: CMake
> Reproducibility: N/A
> Severity: feature
> Priority: normal
> Status: resolved
> Resolution: fixed
> Fixed in Version:
> ======================================================================
> Date Submitted: 2010-09-07 02:10 EDT
> Last Modified: 2010-12-15 15:43 EST
> ======================================================================
> Summary: Support generator expression everywhere they make
> sense
> Description:
> It would be very convenient if CMake supported the generator expressions
> available in the ADD_TEST command in all user-definable commands that run at
> build time. ADD_CUSTOM_COMMAND and ADD_CUSTOM_TARGET spring to mind.
> ======================================================================
> Relationships ID Summary
> ----------------------------------------------------------------------
> related to 0009974 CMake should support custom commands th...
> ======================================================================
>
> ----------------------------------------------------------------------
> (0024189) Brad King (developer) - 2010-12-15 15:36
> http://public.kitware.com/Bug/view.php?id=11209#c24189
> ----------------------------------------------------------------------
> I've wanted to do this feature for a long time. I finally got my chance this
> month and have been working on it for a couple weeks.
>
> The main commit is
>
> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f0cdb600
>
> but a lot of refactoring and cleanup was needed to get to that point. The full
> commit range produced by this effort was
>
> git log --graph afc89064..f0cdb600
>
> ----------------------------------------------------------------------
> (0024190) Brad King (developer) - 2010-12-15 15:42
> http://public.kitware.com/Bug/view.php?id=11209#c24190
> ----------------------------------------------------------------------
> Commit f0cdb600 adds support for generator expressions in add_custom_command and
> add_custom target. They already work in add_test.
>
> The only other place I can think that non-C++ (pure CMake) code can define
> commands is the Makefile generator rule variables like
> CMAKE_<lang>_COMPILE_OBJECT. These are very specific to one generator though.
> Actually the placeholder syntax they use, such as "<TARGET>", was one of the
> reasons we chose $<> syntax for generator expressions in the first place. We
> anticipated adding them elsewhere beyond add_test. However, since rule
> variables are already expanded with per-configuration substitution I don't
> currently see a use case for generator expressions there. Although it may help
> cleanup our builtin rule variables we would always have to support the old-style
> placeholders so I don't want to add extra code until we have a good reason.
>
> Issue History
> Date Modified Username Field Change
> ======================================================================
> 2010-09-07 02:10 Michael Wild New Issue
> 2010-12-15 12:02 David Cole Assigned To => Brad King
> 2010-12-15 12:02 David Cole Status new => assigned
> 2010-12-15 14:28 Brad King Relationship added related to 0009974
> 2010-12-15 15:36 Brad King Note Added: 0024189
> 2010-12-15 15:42 Brad King Note Added: 0024190
> 2010-12-15 15:43 Brad King Status assigned => resolved
> 2010-12-15 15:43 Brad King Resolution open => fixed
> ======================================================================
>
More information about the cmake-developers
mailing list