Commit Graph

268 Commits

Author SHA1 Message Date
Oswald Buddenhagen
6bb69b9b0e don't resolve DESTDIR against source dir in RES_FILE construction
that makes no sense at all. and OBJECTS_DIR is not resolved, either.

Change-Id: Ie76b9de6bb11ae42945255f2e168943066d2f60d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 14:26:49 +00:00
Oswald Buddenhagen
ea4a84074e don't fail to normalize RES_FILE for no apparent reason
Change-Id: I43d2e45a2743cd8d78229b5ae2bd5f63d92d74f8
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 14:26:47 +00:00
Oswald Buddenhagen
8d71fcabb1 prune pointless INCLUDEPATH fixing
MakefileGenerator::init() fixifies the variable, so there is no point in
the windows generator adjusting path separators as well.

Change-Id: I9331631125ee16ce4d64e38153f3c67f2f78b16b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-04 16:33:13 +00:00
Oswald Buddenhagen
6dfda9b994 fix versioned lib lookup with normalized full paths
this is admittedly a rather improbable use case, so unlikely to have any
real world effect.

Change-Id: If98f0de90043525f0555f8ddf98f8b4352e5a0a7
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-04 16:33:00 +00:00
Oswald Buddenhagen
a7fe3309d6 inline initOld()
the separation serves no purpose except confusing.

Change-Id: I6a0d04b2162a4eee7a200345e94baa272120ea5b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:15:06 +00:00
Oswald Buddenhagen
39882d88d0 inline outputVariables()
it's debugging code which is used only once (if even uncommented).

Change-Id: Ie57347017dd24f4acecff2a7132f82898dea3122
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:15:04 +00:00
Oswald Buddenhagen
5932fc4ab8 prune dead fixFilename() function
Change-Id: I84bafecccec286094701874b2780b45d08797524
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:15:02 +00:00
Oswald Buddenhagen
aa30f49d6a prune pointless assignments of QString::replace() and remove() results
they operate in-place.

Change-Id: Iab6f2f6a9f6f67b9d70feb77ec719e424909022d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:59 +00:00
Oswald Buddenhagen
eb9db750e9 remove dead variables
Change-Id: I6c48a2e64027c432a87767782669c30a8876b0d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:55 +00:00
Oswald Buddenhagen
835566685c remove bogus path fixing
commands come already fully expanded and quoted from the project.

Change-Id: I239d5c305f5f65d32c832bc09bfd1c322051e149
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:51 +00:00
Oswald Buddenhagen
23ab0d3e6a prune vestiges of IMAGES and QMAKE_IMAGE_COLLECTION
this stuff apparently pre-dates rcc.

Change-Id: Iaa58419476c3d20e2801e91dc1881880c741fdc6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:49 +00:00
Oswald Buddenhagen
4b486cb88c values(foo).first() => first(foo)
Change-Id: Ic5bb8ae3166c76299881970f83d20206bec704bc
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:43 +00:00
Oswald Buddenhagen
365eb89713 remove weird qt_dll hack
there is no reference to it anywhere.

Change-Id: I72403be6c8294d9b2e64075ebd428eba24d97097
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:41 +00:00
Oswald Buddenhagen
84c80538af remove pointless double initialization guards
this isn't some fuzzy logic, the call sequence is well determined.

Change-Id: I1696b49ed687da83d2969efcfe23ac6565630020
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:37 +00:00
Oswald Buddenhagen
afd40dd123 avoid direct use of QLibraryInfo as much as possible
Change-Id: Ic1f5f5167181b15bc67bf4c6a1001532d0058b45
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:27 +00:00
Joerg Bornemann
5582851c33 turn off nmake inference rule generation on detected conflicts
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>
2015-01-28 12:33:18 +00:00
Frederik Gladhorn
b6191b16d4 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/global/global.pri
	src/corelib/global/qcompilerdetection.h
	src/corelib/global/qglobal.h
	src/corelib/tools/qdatetime.cpp
	src/plugins/platforms/xcb/qxcbscreen.h
	src/plugins/platforms/xcb/qxcbwindow.h
	src/widgets/dialogs/qcolordialog.cpp
	src/widgets/dialogs/qcolordialog_p.h
	tools/configure/configureapp.cpp

Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
2015-01-21 11:10:14 +01:00
Joerg Bornemann
13ed47690d use QSet<T> instead of QHash<T, void*>
Change-Id: Ifdc4d7c8e5fcb86834b2ee2c9db73decfffb4ff6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-01-13 11:47:35 +01:00
Oswald Buddenhagen
a90bb5b89a centralize/unify/sanitize INCLUDEPATH "enrichment"
instead of having each generator do its own magic (little surprisingly,
with different outcomes), add "stuff" to the search path in one place
used by all generators. this has several consequences:
- (unless disabled via CONFIG+=no_include_pwd) $$PWD is now consistently
  prepended by all generators. most notably, this was entirely missing
  from the MSVC generators (both nmake and VS) - despite them needing it
  most. this also affects Xcode projects.
- $$OUT_PWD (if different from $$PWD) is now added right after $$PWD,
  not at the end. this precedence clarification only makes sense, given
  that qmake tries to make shadow builds as transparent as possible.
- the qmakespec's dir is now consistently appended. the UNIX and PBX
  generators prepended it, while the rest already appended. few files
  actually include qplatformdefs.h, so having it late in the search path
  seems reasonable.
- the effect of CONFIG+=depend_includepath is now fully consistent with
  the actual include path.

Change-Id: I5f7570183351ade29342ea74fef706a0738842bf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-11 03:35:34 +01:00
Oswald Buddenhagen
cefaf61eda remove pointless pwd fallbacks
neither qmake_getpwd()'s return value nor a fileFixify()'d version of it
can be empty.

Change-Id: Ic3b7d20becc57209b9dbe71ad9dc8e7547d435b1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-11 03:35:28 +01:00
Oswald Buddenhagen
4c3fdc01c4 fix file separators in 'clean' targets
Task-number: QTBUG-39690
Change-Id: Ibbed847258a3a7e21d6d10b9400af0001d10c6f8
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-01-09 16:57:25 +01:00
Andrew Knight
affba56094 remove unsupported winrt mkspecs
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>
2014-12-16 11:56:26 +01:00
Simon Hausmann
015002fec9 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	doc/global/template/style/online.css
	mkspecs/android-g++/qmake.conf

Change-Id: Ib39ea7bd42f5ae12e82a3bc59a66787a16bdfc61
2014-12-10 07:58:06 +01:00
Eric Lemanissier
459e22a9df Handling of qmake variable defining the manifest file on MinGW
On Windows, the application manifest file can be linked with the
executable, to specify for example the requested privileges of the
application. On MSVC nmake, the manifest is already handled in
NmakeMakefileGenerator::writeBuildRulesPart, but it is not compatible
with MinGW. On MinGW, this manifest file has to be referenced in the
Rc File. This patch simply handles the existing variable
"QMAKE_MANIFEST" which defines the appropriate line RT_MANIFEST in
the RC file.

Task-number: QTBUG-42454
Change-Id: I921606e002ffe3801c537f30ac2365891f97d5c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-09 07:34:35 +01:00
Joerg Bornemann
98d130fc46 fix rc compilation in vcxproj files
We don't need to modify ResourceOutputFileName. The default is fine,
and $(InputName) evaluates to nothing in VS >= 2010.

Change-Id: Ib203d36261e1b5449c5a139b1950bd0d66197297
Task-number: QTBUG-43026
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-12-02 12:27:10 +01:00
Frederik Gladhorn
34aba4724f Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/io/qiodevice.cpp
	src/plugins/bearer/linux_common/qofonoservice_linux.cpp
	src/plugins/bearer/linux_common/qofonoservice_linux_p.h
	src/plugins/platforms/android/qandroidplatformtheme.cpp
	src/tools/bootstrap/bootstrap.pro
	src/widgets/styles/qmacstyle_mac.mm

Change-Id: Ia02aab6c4598ce74e9c30bb4666d5e2ef000f99b
2014-11-24 13:39:13 +01:00
Andy Shaw
5c58db516a Add the custom build step for PCH generated through source
This fixes a regression introduced by
04d3a89e20 as it left out the custom build
step for the source code file generated for PCH.

Task-number: QTBUG-42596
Change-Id: I53d5a36b842dcffbde2657910e6a96dca0e99c7b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-11-13 20:04:09 +01:00
Oswald Buddenhagen
8613b64f53 Merge remote-tracking branch 'origin/5.3' into 5.4
Change-Id: I224e44a9df314b9a99d33148b6cf400fcbc9de8e
2014-10-28 18:21:45 +01:00
Joerg Bornemann
d8f940930e vcxproj: fix writing of librarian settings
The settings of the librarian were never written.
Creation of static libraries only worked by accident.
Adapted the code from the vcproj code path.

Task-number: QTBUG-30712
Change-Id: I69917f44305eb458647392d222db477fe5a5b7c8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-10-28 14:05:48 +01:00
Frederik Gladhorn
2eb26c1709 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/gui/text/qfontdatabase.cpp

Change-Id: I6ac1f55faa22b8e7b591386fb67f0333d0ea443d
2014-10-27 13:00:36 +01:00
David Schulz
80ebedecf9 Run VS custom build step in new environment variable scope.
Task-number: QTBUG-32366
Change-Id: I99161b23e3d323fd88766ebe83c8bbfc1d50944e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-10-23 08:04:13 +02:00
Joerg Bornemann
d1e950b919 qmake vcxproj generator: write PrimaryOutputExtension value
Second attempt. MSVCPROJ_TARGET contains the resolved target name,
including version number and target extension.
We're splitting this value into PrimaryOutput and
PrimaryOutputExtension.
PrimaryOutputExtension is only written if it contains a non-default
value.

Task-number: QTBUG-26782
Change-Id: I4b828dc5dd47322f653585aee1a5767f0cf8bd48
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-10-22 22:19:21 +02:00
Joerg Bornemann
dc612acdc6 fix PRECOMPILED_SOURCE regression in vc(x)projs
Commit af760349 in Qt4 broke the possibility of having a
PRECOMPILED_SOURCE in a different directory than the
PRECOMPILED_HEADER.
Do not write the PrecompiledHeaderThrough value for the
PRECOMPILED_SOURCE, but use the project default.
The msbuild code path needed adjustments to write the
UsePrecompiledHeader value, even if PrecompiledHeaderThrough is
empty.

Task-number: QTBUG-41917
Change-Id: I74e621f6618cf056e3967c99a2215f76c346b9ee
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-10-17 16:52:14 +02:00
Alessandro Portale
106487387d Removing a few unneeded "? true : false"
Change-Id: Ib13f0ddd65fe78f5559f343f2fc30756b1d3ef76
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-10-09 09:43:26 +02:00
Joerg Bornemann
6e6c6f9868 fix VS 2008 project file generation
Commit 4f21eb03 utterly broke the project file generation for
VS 2008. The introduced filterByName convenience methods looks for
filter names like "Generated Files", but the code path for
VS <= 2008 used filter names like "GeneratedFiles".
The generated projects were valid but empty.
This commit ensures that both VS generators use the same filter
names.

Task-number: QTBUG-41821
Change-Id: I828fa911bae8d835b073a4c2260316127cc72cda
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-10-09 06:55:52 +02:00
Joerg Bornemann
e5a8134765 fix vcxproj generation for CONFIG-=flat
Commit 4f21eb03 broke the generation of non-flat vcxprojs.
XTreeNode passes filter names to outputFileConfigs that have
the source subdirectory suffixed (e.g. "Generated Files\subdir").
That's why the original code tested the filter names with
QString::startsWith.
I've changed the signature of outputFileConfigs to take a filterId
parameter which contains the unaltered filter name (e.g.
"Generated Files") that will determine the correct filter.

Task-number: QTBUG-41746
Change-Id: If33428526a098f433cd6ceb8ab6608bd9f94ef17
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-10-09 06:55:22 +02:00
Joerg Bornemann
04d3a89e20 vcxproj: fix custom build steps in different build variants
There's a comment in VCXProjectWriter::outputFileConfigs that
states: "We need to check if the file has any custom build step.
If there is one then it has to be included with 'CustomBuild
Include'".
This patch adds the code to the comment...

Task-number: QTBUG-30373
Change-Id: Ibfef3c80630e08c743bfadce299a8b6a0c58411f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-09-29 16:08:57 +02:00
Joerg Bornemann
55027c23df introduce VCFilter::findFile
Move common code into a function
and exit early from simple search loop.

Change-Id: I88d1227653e28badc213fbe4ebe1e2a19f6e5793
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-09-29 16:08:54 +02:00
Joerg Bornemann
a8aad121a2 remove unused member VCFilter::CustomBuild
Change-Id: I2b57f0ac020ad1b85ffeb76a214b9cf2f48cb6d3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-09-29 16:08:47 +02:00
Joerg Bornemann
5e6dc39770 remove pointless initializations
Those initializations are done by the constructors already.

Change-Id: Ife58675e2ba4854ef66c813158cb4ed660f530d1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-09-25 11:23:31 +02:00
Joerg Bornemann
9a2b588556 simplify VCXProjectWriter::outputFileConfig a bit
The fileAdded variable is used to save state between iterations.
There's no need for two variables.

Change-Id: I8144cf7c7b394255459295b82a7ca808bc3951da
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-09-25 11:20:26 +02:00
Joerg Bornemann
8ee2e497ae simplify VCXProjectWriter::outputFileConfig a bit
We don't need the filtername parameter.

Change-Id: I653db4a200c83d095520b47e1451dfe59b956d92
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-09-25 11:20:15 +02:00
Joerg Bornemann
d41d4a0a35 remove special handling for the "Deployment Files" filter
Files in "Deployment Files" should be added as static content, which
happens to be the fallback in the case where checkDeploymentFiles is
false. Also, the calling code expects that an XML tag is added in all
cases. This did not happen for the "Resource Files" filter when
checkDeploymentFiles was false, which led to unmatched closing tags.

This fixes the issue that files added to RESOURCES in different build
variants produced invalid vcxproj files.

Task-number: QTBUG-30373
Change-Id: Ibb27e67641ba63150938cf826ea1881d182fb841
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-09-24 14:54:31 +02:00
Joerg Bornemann
990a413a2e refactor VCXProjectWriter::outputFileConfig
Put common code into a function.
Subsequent patches will become easier.

Change-Id: I0d549886585d90e4701a2430503bc0d2d716e341
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-09-24 14:52:30 +02:00
Joerg Bornemann
4f21eb0387 uncopy & -pastify code
Make use of the mythical C++ feature "function" to soothe the brain ache
of anyone who looks into this part of the code.

Change-Id: I740e29f1777d91d3b34a61fa62a5c23c222334b9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-09-24 14:52:21 +02:00
Matti Paaso
974c210835 Update license headers and add new license files
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL

Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-09-24 12:26:19 +02:00
Joerg Bornemann
21f5d22f6f make it possible to suppress warnings of the vcxproj generator
When the user adds a compiler option that qmake doesn't understand, a
warning message is printed. One can suppress these warnings now by
adding CONFIG+=suppress_vcproj_warnings to the project file.

Task-number: QTBUG-37520
Change-Id: Ieb7ad2c900329e76636047dff85824ea0456f608
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-09-17 12:22:21 +02:00
Joerg Bornemann
f5b53c8e3e add missing DefaultLanguage property for WinRT projects
Task-number: QTBUG-37628
Change-Id: I7cce0641b8958fe1d97ace21cb5392e32a067649
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-09-15 13:32:08 +02:00
Joerg Bornemann
2dcbd82c69 remove FORMS3 support from VS project generator
Change-Id: I3b2ce386a66c9635e62d1a729c75284d223c3423
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-30 10:32:30 +02:00
Thiago Macieira
67665e7763 Correct the list of files included in "make dist"
At the very least, include the files named in the sources, like
HEADERS. It was quite surprising to send a tarball that included the
.pro file and the .cpp sources, but none of the headers.

On the other hand, the .qmake.cache file need need not be sent either,
despite being include()d in qmake's processing.

Change-Id: I8f48ca3e8040f954f321f4643b01c0f36aafe2d7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-30 10:25:05 +02:00