this isn't some fuzzy logic, the call sequence is well determined.
Change-Id: I1696b49ed687da83d2969efcfe23ac6565630020
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
When there are source files with the same file name in different
directories of the project, then nmake's inference rules might pick up
the wrong source file. Note that this even happens when only one of those
files is in SOURCES. The existence of conflicting file names is enough
to cause hard-to-find build failures.
The usual work-around for this situation is CONFIG+=no_batch.
This is now done automatically when a conflict situation is detected and
a warning message is printed.
Task-number: QTBUG-13496
Change-Id: Icd81027407d3d489dbc50231e5ed8bcb91f8d2bc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
These mkspecs are not supported and no longer compile. Related support in
qmake has also been removed.
Change-Id: I7706dcfa5471e55e2ae3d580d65e9371e2c652d5
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
the condition is now consistent with that of the target itself (which
means that by setting target.CONFIG=no_dll one can actually suppress
installing the target itself even if it's not a dll, but anyway).
Task-number: QTBUG-39253
Change-Id: Id4684a550a33b463594ab537eaa9e1cbfb61e4ff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Tweak qmake, add mkspecs for emulator and device, adjust the
manifest template for WP8.1, and add missing icons.
Change-Id: I7a6405fa85297ae4cc8522015274e65fb7a315a6
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Since VS 2012 the linker supports the /MANIFEST:embed option, which can
be used to embed the automatically generated manifest without calling
mt.exe. Using this feature simplifies our generated makefiles, esp. in
the case of incremental linking.
Task-number: QTBUG-37363
Change-Id: I2c2d8d2abf36c1b9e7b41bc15244344aab8f5b6e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
When running a amd64 VS shell we must not call the x86_amd64
cross-compiler, because it won't be able to start.
Instead we're calling the native amd64 compiler now.
Change-Id: I6968cde3b24c1938b6e0d82f513e49724455f3cc
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
If VCPROJ_ARCH is not recognized or unset, make "arch" default to x86,
or link won't find the libs.
Change-Id: If2cbda37a80c0fa43e1464775c036cebf10f931a
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
this avoids the nasty and conflicting vcXX0.pdb files in the build dirs.
VS will already do that.
Change-Id: I7bddaecf3f478edc78cd6654b5a1038db4fe04ff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
that means further detaching the generation and installation of debug
info from the thing calling itself A Debug Build.
Task-number: QTBUG-32412
Change-Id: I4d79d1ae4806c8e4a2d6a7ccd030fb88385dd7d4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
the restriction to dlls is entirely unjustified.
Change-Id: Ia518dd16189572dea9e8f4280c88801b1393694e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
this option suppresses the installation of target (leaving only
dlltarget). however, it still installed target's pdb file.
Change-Id: Ia686a647c101ca66e74944d23171e120fc74515a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
For the conflicts in msvc_nmake.cpp the ifdefs are extended since we
need to support windows phone in the target branch while it is not there
in the current stable branch (as of Qt 5.2).
Conflicts:
configure
qmake/generators/win32/msvc_nmake.cpp
src/3rdparty/angle/src/libEGL/Surface.cpp
src/angle/src/common/common.pri
src/corelib/global/qglobal.h
src/corelib/io/qstandardpaths.cpp
src/plugins/platforms/qnx/qqnxintegration.cpp
src/plugins/platforms/qnx/qqnxscreeneventhandler.h
src/plugins/platforms/xcb/qglxintegration.h
src/widgets/kernel/win.pri
tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp
tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
tools/configure/configureapp.cpp
Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
Starting with MSVC2013, a separate set of libs for Windows Store apps is
supplied, so make sure it is in the LIBPATH (and before the desktop libs).
Change-Id: I74f3f385c2db749010fbfe7e2d4c3d1228e4e603
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
as a side effect, this fixes the generators that were more bitrotted
(nmake and even more mingw).
Task-number: QTBUG-30644 #close
Change-Id: Iefa3f07125884412d091aa12b44935e5b1fb858a
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
makes for less visual noise and a tiny bit more efficient code.
Change-Id: I587707fa4e2dc9bead9435bf5caf3a98ab680725
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
In ebc4fb45 all NDEBUG defines were removed from DEFINES to adjust the
nmake generator's behavior to the vcproj generator.
Turns out that the vcproj generator did it wrong.
The user must be able to specify NDEBUG in DEFINES.
Change-Id: Iaaf3915ac79acbbd1e7a3172ad3951d0d686041b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Remove all trailing whitespace from the following list of files:
*.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README
excluding 3rdparty, test-data and auto generated code.
Note A): the only non 3rdparty c++-files that still
have trailing whitespace after this change are:
* src/corelib/codecs/cp949codetbl_p.h
* src/corelib/codecs/qjpunicode.cpp
* src/corelib/codecs/qbig5codec.cpp
* src/corelib/xml/qxmlstream_p.h
* src/tools/qdoc/qmlparser/qqmljsgrammar.cpp
* src/tools/uic/ui4.cpp
* tests/auto/other/qtokenautomaton/tokenizers/*
* tests/benchmarks/corelib/tools/qstring/data.cpp
* util/lexgen/tokenizer.cpp
Note B): in about 30 files some overlapping 'leading tab' and
'TAB character in non-leading whitespace' issues have been fixed
to make the sanity bot happy. Plus some general ws-fixes here
and there as asked for during review.
Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
this makes it possible to properly parametrize alternative linkers.
Change-Id: Ia9cf574544a0259975470366d278b6c5dc747906
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Some headers, like assert.h, check for the presence of NDEBUG.
We already define NDEBUG for MSVC/vcproj release builds.
Task-number: QTBUG-3389
Change-Id: I3b1510d47ff80611aa8072e66492ff2d648393eb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
In our incremental linking command block we relied on del never
returning a non-zero exit code. Other command line interpreters
than cmd.exe, e.g. TCC, behave differently.
We now check for existence before trying to delete the manifest
file.
Task-number: QTBUG-29698
Change-Id: I94d125998da6f2c0377104f7e83cdd9e8b838329
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
We don't have to do fuzzy mkspec name searches anymore.
The WinCE mkspecs add "wince" to QMAKE_PLATFORM which ends
up in CONFIG.
Change-Id: I6c0576b5504beb416e95eeae0dec579b16b84746
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
A new qmake's variable RC_ICONS is introduced to specify the icons.
The first one will be used as the application's icon.
Change-Id: I4218db795837d470087dff8526eb0e4cb81ce5ed
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
The resource id must be 2 for DLLs. This was broken for the
"debug with incremental linking" case.
Task-number: QTBUG-28682
Task-number: QTBUG-28683
Change-Id: Id8c48a1dec30e341de949213c63c1c9b73956dac
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Manifests must be embedded into DLLs with the resource id 2, not 1.
This fixes a regression introduced in commit c9406bcf.
Task-number: QTBUG-28524
Change-Id: I93b1dfe4614d0535f47fd881b8688a23e83e845f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Ismo Haataja <ismo.haataja@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Rename LINK to LINKER. The MSVC linker uses the environment
variable LINK to pass additional command line arguments.
We must not hide this variable.
Task-number: QTBUG-28332
Change-Id: Id78476d1cf4a73175b9f47292c67f38a43ae5ba4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Add failing when crosscompile for Windows CE
and no matching SDK is found.
Change-Id: I359e792fe46bab46729788666679a16cb94f340e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Change copyrights and license headers from Nokia to Digia
Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
This is an automated change performing the following replacements:
join\("(.)"\) -> join('\1')
join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1'))
join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))
Change-Id: I9c9964703dedfdab6e7bfac80be22bd5570e2e49
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
the file has no dependency tracking, so changes to the source would get
missed and cause hard to debug build issues.
and as nothing does dependency tracking on that file, this change
doesn't even cause a noticable performance regression.
Change-Id: I108b490b71a43018e0c7ef5d7c0b11d79a8e726b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
this is preparation for adapting to a new evaluator.
Change-Id: I6fc59f5525735754a00afa6629fbfe257e84db97
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
The Microsoft Resource Compiler bails out if the rc file contains
non-trivial file name references. In particular it doesn't like
dashes in file names. We're now always quoting the file name.
Change-Id: I67b8d2c13010a0b2ec26cac915ebd1be95f1c274
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>