MantisBT - CMake
View Issue Details
0010365CMakeCMakepublic2010-03-04 04:042016-06-10 14:31
Scott MacVicar 
Bill Hoffman 
normalminoralways
closedmoved 
CMake-2-8 
 
0010365: Filenames containing $$ are not properly escaped.
$$ is used as in a filename within our project, when CMake finds it as a dependency it inserts this into dependency.make.

cls/file$$0.h

$$ has a special meaning within make, it's used for secondary expansion and $$ contains $. So when make is run it turns it to cls/file$0.h and there isn't a rule for making this target.

In this case $$ needs to be escaped with another $$, so $$ becomes $$$$.
No tags attached.
Issue History
2010-03-04 04:04Scott MacVicarNew Issue
2010-12-15 14:10David ColeNote Added: 0024182
2011-01-17 14:52David ColeAssigned To => Bill Hoffman
2011-01-17 14:52David ColeStatusnew => assigned
2011-09-05 19:04Scott MacVicarNote Added: 0027363
2016-06-10 14:27Kitware RobotNote Added: 0041664
2016-06-10 14:27Kitware RobotStatusassigned => resolved
2016-06-10 14:27Kitware RobotResolutionopen => moved
2016-06-10 14:31Kitware RobotStatusresolved => closed

Notes
(0024182)
David Cole   
2010-12-15 14:10   
Scott,

Is this issue blocking you?

Is it reasonable to ask you to rename these files...? :-)

What shells and make systems do you work with?

Do you know if $$ should always become $$$$ regardless of make being used or shell...?

Thanks.
(0027363)
Scott MacVicar   
2011-09-05 19:04   
This still affects us, we switched our escape with a hack at the time. But it keeps coming back to bite us in the ass when someone forgets the workaround.

This secondary expansion is specific to Make though. http://www.gnu.org/s/hello/manual/make/Secondary-Expansion.html [^]
(0041664)
Kitware Robot   
2016-06-10 14:27   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.