Jump to page: 1 2
Thread overview
[Issue 9736] New: VS2010 project file does full rebuild every time
Mar 16, 2013
Vladimir Panteleev
Mar 16, 2013
Vladimir Panteleev
Mar 16, 2013
Vladimir Panteleev
Mar 16, 2013
Vladimir Panteleev
Mar 16, 2013
Vladimir Panteleev
Mar 16, 2013
Rainer Schuetze
Mar 16, 2013
Vladimir Panteleev
Mar 16, 2013
Vladimir Panteleev
Mar 16, 2013
Vladimir Panteleev
Mar 16, 2013
Vladimir Panteleev
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736

           Summary: VS2010 project file does full rebuild every time
           Product: D
           Version: D2
          Platform: All
        OS/Version: Windows
            Status: NEW
          Severity: trivial
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: thecybershadow@gmail.com
                CC: r.sagitario@gmx.de


--- Comment #0 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-03-16 15:09:58 EET ---
For some reason, the VS2010 project never appears to be "cleanly built" - every time I hit build or run, it rebuilds DMD entirely, starting from compiling and running idgen. I can reproduce the problem with both VS2010 and 2012.

I've tried to enable CPS diagnostics by adding the system.diagnostics XML snippet to devenv.exe.config [1], but this has produced no insightful output.

This flaw is not present in the VS2008 project file.

[1]: http://blogs.msdn.com/b/vsproject/archive/2009/07/21/enable-c-project-system-logging.aspx

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736



--- Comment #1 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-03-16 15:29:57 EET ---
Converting the VS2008 project file to VS2010 created a VS2010 project file that does not exhibit the problem.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736



--- Comment #2 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-03-16 15:54:58 EET ---
And now it doesn't work again. And when I run the conversion again, only optabgen would run every time. Looks like a VS bug.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736



--- Comment #3 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-03-16 16:23:10 EET ---
VS2010's CPS diagnostics output was more helpful. Buried, I found the line:

Information: 0 : Project 'C:\Projects\Extern\D\dmd\src\dmd_msc.vcxproj' not up to date because build input 'C:\PROJECTS\EXTERN\D\DMD\SRC\BACKEND\CPP.H' is missing.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736



--- Comment #4 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-03-16 16:29:13 EET ---
OK... after removing nonexistent files from the project, Visual Studio acknowledges that the project is built right after a build. However, now, after touching one source file, VS still reruns idgen/optabgen/etc.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736



--- Comment #5 from Rainer Schuetze <r.sagitario@gmx.de> 2013-03-16 07:48:01 PDT ---
Yes, msbuild is pretty horrible. Non existing files in the project cause it to think it needs update, but won't find anything to do.

I usually use VS2008, but I don't have problems with unnecessary rebuilding the generated files with VS2012. They do have dependencies to a few source files though (e.g. mtype.h).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736



--- Comment #6 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-03-16 16:49:17 EET ---
I've set the msbuild debug level to "Diagnostic". In the build log file, I see this line:

"Forcing rebuild of source file "C:\Projects\Extern\D\dmd\src\idgen.c" due to a change in the command line since the last build. (TaskId:16)"

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736



--- Comment #7 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-03-16 17:14:15 EET ---
I found the problem. It was caused by newlines in the custom build tools' command line. I've replaced the "if" lines with the && operator and the problem is gone.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736


Vladimir Panteleev <thecybershadow@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull


--- Comment #8 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-03-16 17:25:20 EET ---
https://github.com/D-Programming-Language/dmd/pull/1756

Rainer, would you mind reviewing that?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9736



--- Comment #9 from github-bugzilla@puremagic.com 2013-03-16 09:20:25 PDT ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/7721267c2c9f1caa0876a8e00cba48ae831fa7e8 Update VS2010 project files (Issue 9736)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
« First   ‹ Prev
1 2