Bugs item #1078641, was opened at 2004-12-03 22:56
Message generated for change (Comment added) made by drieseng
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1078641&group_id=31650
Category: Tasks
Group: 0.85
Status: Open
Resolution: None
Priority: 5
Submitted By: Hani Atassi (haniatassi)
Assigned to: Nobody/Anonymous (nobody)
Summary: Solution task doesn't do COM, OCX apps built in VC++
Initial Comment:
The solution task for VC++ apps, doesn't call the MIDL
task to compile IDL files.
In this way, you cannot build COM or OCX outputs using
NAnt's solution task.
The output of the MIDL is needed by the resource
compiler when compiling the resource file. Refere to (Bug
ID 1077712) for a fix to the resource problem.
----------------------------------------------------------------------
>Comment By: Gert Driesen (drieseng)
Date: 2004-12-08 09:10
Message:
Logged In: YES
user_id=707851
In your last change, shouldn't this :
string outputDirectory = fileConfig.GetToolSetting
(compilerTool, "OutputDirectory");
if (StringUtils.IsNullOrEmpty(outputDirectory)) {
outputDirectory = fileConfig.ProjectDir.FullName;
} else {
midlTask.Arguments.Add(new Argument("/out"));
midlTask.Arguments.Add(new Argument
(outputDirectory));
}
be changed into this :
string outputDirectory = fileConfig.GetToolSetting
(compilerTool, "OutputDirectory");
if (StringUtils.IsNullOrEmpty(outputDirectory)) {
outputDirectory = fileConfig.ProjectDir.FullName;
}
midlTask.Arguments.Add(new Argument("/out"));
midlTask.Arguments.Add(new Argument
(outputDirectory));
}
Well, perhaps its not even necessary specifiy the "/out
<directory>" argument as "we" always specifiy absolute
filenames for the individual output files.
----------------------------------------------------------------------
Comment By: Hani Atassi (haniatassi)
Date: 2004-12-07 17:36
Message:
Logged In: YES
user_id=590187
Found some problems with the function BuildIDLFiles
that is included with the previous file.
I added comments on the logic..
----------------------------------------------------------------------
Comment By: Hani Atassi (haniatassi)
Date: 2004-12-07 00:03
Message:
Logged In: YES
user_id=590187
Ok... There is actually quite a bit of changes to let the
solution task compile COM and OCX project:
1- The solution task doesn't support MIDL, so I had to
add code to call the MIDL task from the solution task.
2- If the output is OCX, the function IsOutputDll returns
false, eventhough the OCX file is acually a DLL file. So,
it should be changed to return true.
3- If the COM is built using MFC or DLL, you need to use
the fix in bug ID 1078636.
4- Had to add a new function CreateMidlArgumentMap()
to support mapping arguments of MIDL tool.
5- Dlldata inside MidlTask is declared as string. If it's a
file, why it's not of type FileInfo!.
6- I added a new child for the MidlTask and called it
Undefines.
After the previous changes, the solution task worked
perfectly and I could compile my old OCX projects that I
built using MFC. The only wierd thing is that, some of
the regular output messages from the MIDL tool are
treated as Warnings...
Attached are the changes...
Hope this helps..
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1078641&group_id=31650
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers