Thread overview
Visual D always rebuilds - "This project is out of date"
Jun 19, 2014
David Bregman
Jun 19, 2014
Rainer Schuetze
Jun 19, 2014
David Bregman
Jun 20, 2014
Rainer Schuetze
June 19, 2014
I created a new console application using visual D. Whenever I hit f7 to build, it always does a complete rebuild even if no changes have been made. If I try to start debugging, I always get the popup window saying that the project is out of date even when it's not.

I tried a few things to see if I could narrow down the cause, but it seems to be always reproducible.

-uninstalled and reinstalled dmd + visual D (2.065, 3.38-1, respectively), deleted and recreated the project files. I thought this would fix any timestamp related issues.
-tried with different versions of visual studio (2010, 2012, 2013).
-tried debug/release/win32/x64

(my OS is win7 x64 in case that matters.)

Is this a known issue? Is there anything else I can try?

June 19, 2014

On 19.06.2014 06:47, David Bregman wrote:
> I created a new console application using visual D. Whenever I hit f7 to
> build, it always does a complete rebuild even if no changes have been
> made. If I try to start debugging, I always get the popup window saying
> that the project is out of date even when it's not.
>
> I tried a few things to see if I could narrow down the cause, but it
> seems to be always reproducible.
>
> -uninstalled and reinstalled dmd + visual D (2.065, 3.38-1,
> respectively), deleted and recreated the project files. I thought this
> would fix any timestamp related issues.
> -tried with different versions of visual studio (2010, 2012, 2013).
> -tried debug/release/win32/x64
>
> (my OS is win7 x64 in case that matters.)
>
> Is this a known issue? Is there anything else I can try?
>

I guess it is: https://issues.dlang.org/show_bug.cgi?id=12922

You can enable "Show why a target is rebuilt" on the "Projects and solutions->Visual D Settings" page to see what is causing the issue.

I suspect unchecking "Monitor OPTLINK dependencies" helps.
June 19, 2014
Thanks, unchecking "Monitor OPTLINK dependencies" seems to stop the unnecessary rebuilding.

I'm not sure I understand exactly what that option does though, could I run into other issues with it disabled? I assume defaults to enabled for a reason.

If you don't have access to a machine where this issue is reproducible, maybe I could run some tests for you, just let me know.
June 20, 2014

On 19.06.2014 11:04, David Bregman wrote:
> Thanks, unchecking "Monitor OPTLINK dependencies" seems to stop the
> unnecessary rebuilding.
>
> I'm not sure I understand exactly what that option does though, could I
> run into other issues with it disabled? I assume defaults to enabled for
> a reason.

It is used to monitor updates of libraries that are not explicitely listed on the command line, but are searched for by the linker due to "pragma(lib)" directives in the object file.

It is usually not a problem to have the option disabled as these libraries tend to be unchanged. My usecase for this is the D runtime library itself, which I rebuild from time to time.

>
> If you don't have access to a machine where this issue is reproducible,
> maybe I could run some tests for you, just let me know.

Thanks for the offer, I hope I can address this issue soon.