VC2010 Debug/Release rebuilds

When I download the tip with Introjucer and build it in Release and Debug mode, it seems that whenever I switch between Release and Debug, VC recompiles all files which doesn’t happen with my own VS projects.

No big deal but it makes me worry if something is wrong with the build setup. I’d like to compile the Juce tip in debug and release mode once, then switch my own project back and forth without recompiling Juce.

Are you talking about building juce as a static lib?

On one machine:

  • I download the tip (add and replace) (just tested with 1.54.18)
  • open juce\Builds\VisualStudio2010\Juce.sln with VC2010 Express
  • build in Debug mode - all files get compiled
  • build in Release mode - all files compiled again, as expected
  • build in Debug mode - all files compiled again, not what I’d expect.

On another machine:

  • I added the Juce.sln to my own project (PILS with juce bindings) using VS2010 Pro.
  • Whenever I switch between Debug and Release, all Juce files get recompiled whereas in my own projects, only files that have been changed since the last build in that particlar mode (Debug/Release) get recompiled.

Well, I’ve not changed anything in the project that would have that effect. I don’t think there IS any setting I could change that would have that effect!

Maybe just a date-stamping issue that’s making it think the files are always new?

To be sure, I deleted the whole juce folder and downloaded anew with introjucer. Still the same.

It’s been that way for some time; I believed it was some quirk in my setup and lived with it, but since I get the same behaviour on a brand new computer with a clean install of VC2010 Pro, I tend to think there is a problem with the Juce package.

Here’s what the timestamps look like on the old machine, newest listed first.

// an afternoon release build was performed around 16:36

16:36:22.958    bin/Juce.log
16:36:22.939    bin/Juce.lastbuildstate
16:36:22.912    bin/lib.command.1.tlog
16:36:22.898    bin/
16:36:22.869    bin/Lib-link.write.1.tlog
16:36:22.668    bin/jucelib_static_Win32.lib
16:36:15.873    bin/cl.command.1.tlog
16:36:15.858    bin/
16:36:15.810    bin/CL.write.1.tlog
16:36:09.716    Builds/VisualStudio2010/Release/juce_XmlDocument.obj
...more Release obj's....................................

// a noon debug build was performed around 11:54

11:54:42.345    Builds/VisualStudio2010/Juce.sdf
11:54:16.162    bin/jucelib_static_Win32_debug.lib
11:54:08.684    Builds/VisualStudio2010/Debug/juce_XmlDocument.obj
...more Debug obj's....................................
11:51:19.572    Builds/VisualStudio2010/Debug/juce_AudioFormatReaderSource.obj
11:21:00.684    Builds/VisualStudio2010/Juce.vcxproj.user

// upload seems to have happened around 04:28 (danish time)    All source code