Go to file
Andy Shaw 0278310f9e Ensure the input file is first in the list of dependencies
When building a project in VS then it would cause a rebuild
under certain situations even though a rebuild is not
actually required.

The root problem exists in VS in the following configuration:
1. A file has a custom build tool specified
2. The custom build tool has additional dependencies
3. The input file is specified in the additional dependencies
4. There are files in the additional dependency list

This is the situation with form files in Qt that have include hints
specified in Qt Designer. The include hints get specified in the
additional dependencies for the custom build tool.

What happens is that VS will process files in the additional
dependency list differently based on where they appear in the list
relative to the input file.

If a dependency appears before the input file, VS will require the
file as a build input. If you just specify a file name, VS looks in
the project directory (and only the project directory) for that file.

You have to specify the path (relative or absolute) to get VS to look
elsewhere. If VS does not find the dependency, VS thinks the project
is out of date (since the missing dependency is a required build
input) and will rebuild the input file.

If the dependency appears after the input file and the file doesn't
exist, VS does not include the dependency as a build input. Since the
file is not a build input, no rebuild is required.

Change-Id: I5af460d21ad049ed7819746fd60c98677b810692
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-03 08:23:08 +02:00
bin Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-06-15 22:39:25 +02:00
config.tests Replace the Intel Haswell and Ivy Bridge codenames with actual names 2013-08-08 02:46:45 +02:00
dist Add changes-5.1.1 file 2013-08-20 12:25:08 +02:00
doc Doc: Updated the tagged examples list for Android 2013-08-14 17:14:56 +02:00
examples Do not attempt to save a file in the resources 2013-08-27 19:12:06 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Android: Make qmake.conf usable for getting arch in Qt Creator 2013-08-28 15:33:47 +02:00
qmake Ensure the input file is first in the list of dependencies 2013-09-03 08:23:08 +02:00
src Fix compilation with latest Mingw-w64 headers 2013-09-02 15:41:20 +02:00
tests QMetaMethod::invoke: compare the QMetaType id of the return types 2013-08-29 17:03:41 +02:00
tools Integrate device-option into the windows configure 2013-08-15 18:02:42 +02:00
util Use BSD licensing for QtOpenGLExtensions instead of LGPL 2013-06-24 10:16:32 +02:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Long live QLockFile 2013-03-05 06:26:33 +01:00
.qmake.conf bye-bye .qmake.cache 2013-08-12 19:01:45 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure Android: Set default to gcc 4.8 2013-08-22 21:34:35 +02:00
configure.bat get rid of syncqt wrapper scripts 2013-05-13 21:54:48 +02:00
header.BSD Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.FDL Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.LGPL Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.LGPL-ONLY Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
INSTALL INSTALL: Fix URL of Installing Qt documentation 2013-04-11 16:09:07 +02:00
LGPL_EXCEPTION.txt Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL Add the LICENSE.GPL file to the module referenced from license headers 2012-05-20 22:41:08 +02:00
LICENSE.LGPL Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
LICENSE.PREVIEW.COMMERCIAL Update LICENSE.PREVIEW.COMMERCIAL license 2013-06-03 20:04:26 +02:00
qtbase.pro Merge remote-tracking branch 'origin/release' into stable 2013-06-20 16:13:38 +02:00
sync.profile put ANGLE includes in a QtANGLE subdir 2013-06-10 21:12:13 +02:00