| View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0009465 | CMake | CMake | public | 2009-08-31 18:10 | 2012-03-06 08:37 | ||||
| Reporter | Steve King | ||||||||
| Assigned To | Brad King | ||||||||
| Priority | normal | Severity | feature | Reproducibility | always | ||||
| Status | closed | Resolution | fixed | ||||||
| Platform | OS | OS Version | |||||||
| Product Version | CMake-2-6 | ||||||||
| Target Version | Fixed in Version | CMake 2.8.4 | |||||||
| Summary | 0009465: target names should resolve correctly in COMMAND statements | ||||||||
| Description | Commands should be able to substitute the target name for build output location of that target. In other words, commands like this fail: add_executable( foo foo.cpp ) add_custom_command( OUTPUT new_foo COMMAND $(CMAKE_COMMAND) -E copy foo new_foo ) Cmake should recognize 'foo' as a target and implicitly substitute foo's build output. Currently, the LOCATION property of the target must be used, which is much more cumbersome. | ||||||||
| Tags | No tags attached. | ||||||||
| Attached Files | |||||||||
| Relationships | |||||||||||
|
|||||||||||
| Relationships |
| Notes | |
|
(0017501) Brad King (manager) 2009-09-14 18:24 |
CMake does recognize targets if they are the COMMAND executable: add_executable(mycopy ...) add_custom_command( OUTPUT out.txt DEPENDS in.txt COMMAND mycopy ... ) We cannot automatically convert the plain string "foo" in the middle of an argument list...it is ambiguous. However, there does need to be a way to get CMake to replace a token in an argument with information about the target location. In CMake HEAD from CVS, the add_test() command has a new signature that support a "generator expression" syntax for just this purpose. An argument of this syntax: $<TARGET_FILE:myexe> is replaced with the per-configuration target location which is not known until generate time. I've been meaning to teach add_custom_command about this syntax but it's not yet done. I'll update this issue when it is. |
|
(0027525) David Cole (manager) 2011-10-05 10:17 |
The fix for 0011209 added "generator expressions" to CMake 2.8.4 You may use generator expressions to get target file and directory names using CMake 2.8.4 and later. |
|
(0027526) David Cole (manager) 2011-10-05 12:54 |
This was fixed at the same time as related bug 0011209 - the fix for that one provides a superset of the functionality needed to fix this one... Use the generator expressions available in 2.8.4 and later to provide custom commands with arguments derived from the target properties. |
|
(0028819) David Cole (manager) 2012-03-06 08:37 |
Closing resolved issues that have not been updated in more than 4 months. |
| Notes |
| Issue History | |||
| Date Modified | Username | Field | Change |
| 2009-08-31 18:10 | Steve King | New Issue | |
| 2009-09-11 17:25 | Bill Hoffman | Status | new => assigned |
| 2009-09-11 17:25 | Bill Hoffman | Assigned To | => Bill Hoffman |
| 2009-09-11 17:25 | Bill Hoffman | Assigned To | Bill Hoffman => Brad King |
| 2009-09-14 18:24 | Brad King | Note Added: 0017501 | |
| 2011-10-05 10:15 | David Cole | Relationship added | related to 0011209 |
| 2011-10-05 10:15 | David Cole | Relationship added | parent of 0009974 |
| 2011-10-05 10:15 | David Cole | Relationship deleted | parent of 0009974 |
| 2011-10-05 10:16 | David Cole | Relationship added | related to 0009974 |
| 2011-10-05 10:17 | David Cole | Note Added: 0027525 | |
| 2011-10-05 12:54 | David Cole | Note Added: 0027526 | |
| 2011-10-05 12:54 | David Cole | Status | assigned => resolved |
| 2011-10-05 12:54 | David Cole | Fixed in Version | => CMake 2.8.4 |
| 2011-10-05 12:54 | David Cole | Resolution | open => fixed |
| 2012-03-06 08:37 | David Cole | Note Added: 0028819 | |
| 2012-03-06 08:37 | David Cole | Status | resolved => closed |
| Issue History |
| Copyright © 2000 - 2018 MantisBT Team |