- status: open --> fixed
This Patch adds response files if the command line is to long. This is needed on windows, becaise the command line has a length limit.
The Patch adds two options to the compiler options dialog:
1) Enable response files
2) Response file command line length limit
If Option 1) is enabled and the command line is longer then the Option 2) then the command is split into the maximal length and the too long part is stored in a respFile in the object file directory.
The command line to the compiler is then modified to contain the "@" plus the path to the response file.
One thing is still missing: The build percentage is not working, because i add some log information to the build log. Also I would like to add some information to the build log html file. I will fix this bugs, if the approaci here is ok...
please give some feedback.
A script to generate a project with to long names:
activeProject <- GetProjectManager().GetActiveProject();
filename <- _T("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.cpp");
for(local i = 0; i < 2000; i+=1)
{
local thisFileName = _T(i.tostring()) + _T("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.cpp");
local path = activeProject.GetCommonTopLevelPath() + _T("src") + wxFILE_SEP_PATH + thisFileName;
IO.WriteFileContents(path , _T("void func") + _T(i.tostring()) + _T("() {}") );
print("create file: " + path)
GetProjectManager().AddFileToProject(path, activeProject, 0);
}
activeProject.Save();
First create a project, and a "src" sub directory. Then run the above script and save the project. On windows you will hit the max command line length problem on linking...
related forum link: forum