Summary: | <%input_noext%> not working with vc10 template | ||
---|---|---|---|
Product: | MPC | Reporter: | Johnny Willemsen <jwillemsen> |
Component: | MPC | Assignee: | Chad Elliott <elliott_c> |
Status: | NEW --- | ||
Severity: | major | CC: | mesnierp, mitza |
Priority: | P1 | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux |
Description
Johnny Willemsen
2013-10-03 08:25:14 CDT
The problem is in the area of the description below. vc10 uses custom_type->input_file->commands and the commandline flags are written using: <%custom_type->input_file->command->flags%> It looks that in the text the <%input_noext%> is not correctly replaced with the input filename. Looks probably cdt6/cdt7 have the same problem. Certain project types don't support the same input file used by multiple custom types (current examples of this are vc10, cdt6, and cdt7). To accomodate these types, MPC has a capability called "combined custom". With this capability enabled in the specific ProjectCreator, MPC will "fold together" the multiple custom steps so that the target tool (Visual Studio or Eclipse CDT) sees it as a single custom step that happens to run two or more commands. When "combined custom" is enabled, the template needs to be written for it by checking if custom_type->input_file->commands is non-empty. If it isn't empty, the values in it can be iterated over with a <%foreach%>. During that iteration, the following values can be obtained by the template. Each one would appear in the template preceeded by custom_type->input_file-> As far as I can tell the problem is in ProjectCreator.pm, function get_custom_value, and than in the part for commands, around line 4590. Reassigning to Chad Elliott. He's the primary MPC maintainer. Johnny, do you thing -features nddi has any influence? We of course don't have access to that here. Can you compose a small test that demonstrates the error? Since you've tracked down the likely offending code, do you have a candidate fix? Thanks, Phil You don't need RTI DDS, you can just look in the generated project file, there should be "-corba Log_RecordC.h" generated. This happens only at the moment when 1 input file has go through 2 different custom commands, in this case tao_idl and rtiddsgen. I have looked at a candidate fix but haven't found one yet. I do see in the top of the file comments like "Needs <%...%> conversion", it looks to be related to that, the conversion is probably not done in that case, but not sure where it exactly has to happen, tried a few things, but none worked. |