Author: faridz Date: Thu Apr 26 07:19:03 2007 New Revision: 532753 URL: http://svn.apache.org/viewvc?view=rev&rev=532753 Log: 2007-04-26 Farid Zaripov <[EMAIL PROTECTED]>
STDCXX-398 * projectdef.js (projectCreateVCProject): Added workarounds to build projects with ".obj" in name on MSVC 7.x Modified: incubator/stdcxx/trunk/etc/config/windows/projectdef.js Modified: incubator/stdcxx/trunk/etc/config/windows/projectdef.js URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/windows/projectdef.js?view=diff&rev=532753&r1=532752&r2=532753 ============================================================================== --- incubator/stdcxx/trunk/etc/config/windows/projectdef.js (original) +++ incubator/stdcxx/trunk/etc/config/windows/projectdef.js Thu Apr 26 07:19:03 2007 @@ -331,6 +331,29 @@ VCProject.ProjectGUID = createUUID(); VCProject.AddPlatform(PLATFORM); + + var FixedPrjName = PrjName; + var dotObj = ".obj"; + + var VC7xWknd = 0 <= PrjName.indexOf(dotObj) + && ("7" == VERSION || "7.1" == VERSION); + + var PostBuildCmd = this.PostBuildCmd; + + if (VC7xWknd) + { + FixedPrjName = FixedPrjName.replace(new RegExp(dotObj, "ig"), "_obj"); + if (null != PostBuildCmd) + PostBuildCmd += "\r\n"; + else + PostBuildCmd = ""; + + var srcDir = "$(OutDir)\\" + FixedPrjName; + var dstDir = "$(OutDir)\\" + PrjName; + PostBuildCmd += "md \"" + dstDir + "\"\r\n" + + "copy \"" + srcDir + "\\" + FixedPrjName + dotObj + "\" \"" + dstDir + "\\" + PrjName + dotObj + "\"\r\n" + + "copy \"" + srcDir + "\\buildlog.htm\" \"" + dstDir + "\""; + } for (var i = 0; i < confNames.length; ++i) VCProject.AddConfiguration(confNames[i]); @@ -338,7 +361,7 @@ var OutDir = this.OutDir != null ? ReplaceMacros(this.OutDir, prjMacros) : "%CONFIG%"; var IntDir = this.IntDir != null ? - ReplaceMacros(this.IntDir, prjMacros) : OutDir + "\\" + PrjName; + ReplaceMacros(this.IntDir, prjMacros) : OutDir + "\\" + FixedPrjName; // add files for (var i = 0; i < this.FilterDefs.length; ++i) @@ -448,6 +471,9 @@ } compiler.UsePrecompiledHeader = pchNone; + + if (VC7xWknd) + compiler.ObjectFile = "$(IntDir)/" + FixedPrjName + dotObj; } var linker = conf.Tools.Item("VCLinkerTool"); @@ -516,10 +542,10 @@ tool.Description = ReplaceMacros(this.PreBuildDesc, allMacros); } - if (null != this.PostBuildCmd) + if (null != PostBuildCmd) { var tool = conf.Tools.Item("VCPostBuildEventTool"); - tool.CommandLine = ReplaceMacros(this.PostBuildCmd, allMacros); + tool.CommandLine = ReplaceMacros(PostBuildCmd, allMacros); if (null != this.PostBuildDesc) tool.Description = ReplaceMacros(this.PostBuildDesc, allMacros); }