[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