View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0011209CMakeCMakepublic2010-09-07 02:102011-05-02 14:45
ReporterMichael Wild 
Assigned ToBrad King 
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 Relation Graph ] Dependency Graph ]
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
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;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
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.
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
Powered by Mantis Bugtracker