View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0011209CMakeCMakepublic2010-09-07 02:102011-05-02 14:45
ReporterMichael Wild 
Assigned ToBrad King 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionCMake-2-8 
Target VersionCMake 2.8.4Fixed in VersionCMake 2.8.4 
Summary0011209: Support generator expression everywhere they make sense
DescriptionIt 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.
TagsNo tags attached.
Attached Files

 Relationships
related to 0009974closedBrad King CMake should support custom commands that can vary by configuration. 
related to 0009465closedBrad King target names should resolve correctly in COMMAND statements 

  Notes
(0024189)
Brad King (manager)
2010-12-15 15:36

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 (manager)
2010-12-15 15:42

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.
(0026331)
David Cole (manager)
2011-05-02 14:45

Closing resolved issues that have not been updated in more than 3 months.

 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
2011-01-12 07:37 David Cole Fixed in Version => CMake 2.8.4
2011-01-12 07:37 David Cole Target Version => CMake 2.8.4
2011-05-02 14:45 David Cole Note Added: 0026331
2011-05-02 14:45 David Cole Status resolved => closed
2011-10-05 10:15 David Cole Relationship added related to 0009465


Copyright © 2000 - 2018 MantisBT Team