moving the detection of .qmake.cache to the qmake startup had the side
effect that a suddenly popping up cache would not be picked up by
nested projects any more.
this is not supposed to work in the first place, but the syncqt hack for
building against non-installed modules relies on it. until we have
cleaned that up properly, we need a way to notify qmake about the
appearance of the cache file.
Change-Id: I450646b936e3bb2ef2ed3aba05df58e521ccdc61
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Currently only a small fraction of all the headers are included since only
the headers found in the pro file folder are included.
This is confusing and arbitrary. With this change all the headers are now
excluded from the instrumentation.
Change-Id: If4322421f3b3e5fcd45f006421690eaa6bf645e0
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
This is a convenience to make it easy for applications to simply add:
CONFIG += opengles1
To their .pro file to link against OpenGL ES 1.1 instead of OpenGL ES V2
Change-Id: I48605f5f69f83d99cfb2ad6dbb4b318d41e00128
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This allows us to create correct CMake config files when Qt is
configured with directories outside of the prefix (which Qt allows),
and also allows us to use correct values when a 'longer' relative
lib directory is used such as lib/x86_64-linux-gnu.
Change-Id: I6f88255a23752dc5b84cb20ce13fdeeee9d5ad51
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
the earlier done topological sort already removes duplicates and only
works with lower-cased names anyway, so we can remove the overhead here.
Change-Id: I44fc39af9e94662717e1c8cfb0ddb87d2f597935
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
it's rather pointless to first query the variable's presence in the
file. instead, just fetch it and see what is in there.
for this to work cleanly we defer the concatenation of the filename.
Change-Id: I322db8ae897272fae049074d8b7676787286aedd
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Change-Id: I6c2008a0e7a07ca0603b8aa9362d31fa4ef7310a
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Change-Id: Iff8b9bdd4b069721103e1cd5854e56b6116d7549
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
The "check" target always depended on debug-check on projects that
explicitly loaded the testcase.prf, even if Qt was configured with
-release parameter. This obviously caused build failure. Changed the
testcase.prf to check which configuration is preferred using
CONFIG(debug, debug|release) like is done with similar cases in other
.prf files.
Task-number: QTBUG-24332
Change-Id: Ib5140b106e99efe51932bdd5a48914786de23230
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
The architecture is detected at compile time based on the predefined
macros from the compiler. Don't use QT_ARCH in .pro, .pri, or .prf
files. The PNG_NO_ASSEMBLER_CODE define from libpng.pri is not present
in the current copy of src/3rdparty/libpng, so no change in
functionality is expected.
The conditional for the SUPPORT_JIT define in pcre.pri is moved to
src/3rdparty/pcre/config.h, again so that we can use the compiler's
predefined macros to detect the architecture at compile time.
Replace QT_ARCH_ARM, QT_ARCH_MIPS, and QT_ARCH_SPARC with their
Q_PROCESSOR_* equivalents.
Replace QT_ARCH_INTEGRITY, QT_ARCH_VXWORKS, and QT_ARCH_WINDOWSCE with
their Q_OS_* equivalents.
Note that this commit also effectively disables the SPARC atomic
implementation. An inline implementation for SPARC needs to be added,
or we remove the current code and instead rely on the GCC intrinsic or
C++11 std::atomic support on SPARC.
Note also that this commit does not remove QT_ARCH from configure or
qconfig.h. This will continue to be set until all Qt 5 projects can be
moved away from using QT_ARCH.
Change-Id: I5de747cc4436d21941329974cff3016970f497b8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Use the new QMAKE_SUBSTITUTES.config = vebatim feature.
Change-Id: I4c08bd4694c11d48434eb225fc6902e69a4cdec2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Qt requires this since 482d96a0c5
Change-Id: Iba783e283b17654abf46f11b81cc1641c3ce7d83
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
QtUITools is a static library, so we need to mark that in its
CMakeConfig.cmake file.
Change-Id: I4e3684f7c62f4af28956a6e8f58edce7724f50dd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Handle the case of an empty DESTDIR.
(cherry picked from commit 122fa6b53c33364a4687919191e55899acb43797)
Change-Id: I0c2eec5736d0944b8ee97abdfa3f1121e7d8db4b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Unlike for libraries, $(TARGET) already contains $(DESTDIR).
Changing to $(DESTDIR) does break the command in that case.
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit 7eb770aed35fee50ff98c12e390dcb02c72b5132)
Change-Id: Idd0f30d52db432062917a1c956c3af73e6c8a6a4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
The tiff plugin and bundled libtiff is moving to the qtimageformats
project on Gerrit.
Task-number: QTBUG-23887
Change-Id: I4c848232fdccddd7e7f54215f9eaa78dc4c3a53d
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The MNG file format is generally abandoned, and libmng has been
unmaintained for several years.
The MNG plugin and bundled libmng has been moved to the
qtimageformats project on Gerrit.
Task-number: QTBUG-21869
Change-Id: I946432347014ffde2b72307a5f8b166ca5553602
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Qtopia was killed some time ago and these files do not have a direct
use. Qt was embedded into the Qtopia sourcetree and it would be in the
hands of the Qt Extended fork to move to Qt5 and update the buildsystem.
It is unlikely that a Qt5 qmake will be used to build the Qt extended fork
as a copy of Qt is embedded in the source tree.
Change-Id: I2ef309c381aaf1d265ef385e85fd5c72d6205765
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
When Qt is configured for static build, importing static plugins is
supposed to work as described in docs:
http://doc.qt.nokia.com/latest/qtplugin.html#Q_IMPORT_PLUGIN
This commit updates the qmake mapping for predefined Qt plugins, so
that Qt plugins are automatically found when QTPLUGIN keyword is used.
Task-number: QTBUG-18609
Merge-request: 1391
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit 0d0c1082f74888044713d96deca2d510951d018a)
Change-Id: I0d0c1082f74888044713d96deca2d510951d018a
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
This reverts commit 613183ff8c
("Automatically add QtQuick module if only QtDeclarative is specified").
The QtQuick module has been around for a while now, and the need to
port to it has been duly announced.
After this commit, projects that use the QtQuick 2 API (QQuickItem
and friends) will explicitly have to add QT += quick.
Change-Id: Ie5e6d438431a0c736e214c28c0d1ba1189b4ee06
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Change 1fb5600c5e already added
declarative-debug as a way to include declarative, but nowadays
there's also qquick, and qquick-private ...
Just always set the define. The user has choosen to write
CONFIG+=declarative_debug in the first place and an additional
define if declarative isn't used does no harm.
Change-Id: Ica6142e70b12950fc1d9e0bf7b94f747c843a17f
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
- All subprograms installed as part of test instead of separate installs
- Added installTestHelperApp() to testcase.prf
Change-Id: I02fbbb299f095054c9216ad0e5f91f574fb0fe3d
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
qttest_p4.prf was added as a convenience for Qt's own autotests in Qt4.
It enables various crufty undocumented magic, of dubious value.
Stop using it, and explicitly enable the things from it which we want.
Most autotest .pro files should look like this:
CONFIG += testcase
TARGET = tst_something
QT = core testlib
SOURCES = tst_something.cpp
Change-Id: I051b230c5c4fd56dc6eae2b9b7bdff6c033248fd
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Change-Id: I3864017df6fc0daeb31b389c8883401d344730bf
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Remove the (-no)-qt3support options from configure, and remove the last
remaining references to Qt3Support, QT3_SUPPORT, and
QEvent::ChildInserted.
The compatibilityChildInsertEvents() tests in tst_QObject and
tst_QWidget have been renamed to childEvents(), which is a more
appropriate name.
Change-Id: Id0b45e9b177efcc8dceee8c9ed8afafedeeace2f
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
On Windows, qmake searches for and uses the highest numbered available
version of each requested library, or a version with no number if no
libraries were found. This meant that qmaking a library's consumer
before qmaking the library itself could result in the consumer
incorrectly attempting to link against $${LIB}.lib rather than the
correct $${LIB}5.lib (for example).
QMAKE_$${LIB}_VERSION_OVERRIDE is the way to work around this.
Previously, a hardcoded list of libraries had version overrides set up
on Windows, but the qmake order issue affects all libraries, not just
these. Therefore, handle it for all modules.
Change-Id: I83b4646e3819f525193d1fc065b0d0e65b3be99f
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
These are no longer used. Qt 3.x used them to enable thread support
(which was optional at the time), but starting with 4.0, thread support
is always enabled, and these defines were removed from the code.
Change-Id: I4d1c75171c263383fc055d2a7fe52ca0501acd7a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
QtQuick and related APIs (QQuickItem, SceneGraph, et al), which
used to live in the QtDeclarative module, have moved to a new
module, QtQuick.
Existing projects that use QtQuick-specific APIs should add "quick"
to their project's QT variable, and update their include statements.
E.g.,
QT += declarative
should be changed to
QT += declarative quick
and
#include <QtDeclarative/qquickitem.h>
should be changed to
#include <QtQuick/qquickitem.h>
and similarly for the other QtQuick classes.
In order to give existing projects a chance to migrate smoothly, we
should issue a warning and automatically add the QtQuick module if
only the QtDeclarative module was specified. (If a project doesn't
use any QtQuick APIs, the warning can be ignored -- but there is no
way to disable it.)
This change, along with the compatibility headers in QtDeclarative,
make it possible to build existing projects without any modifications
on the project's side.
This change will be removed at a later time; when that happens,
existing projects that did not port to the QtQuick module will no
longer build.
Change-Id: I56abcadc1e5c74490527fc03646310d801bfc084
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
As it was in Qt4 and discussed on the cmake list.
Change-Id: Ide77c2525a261a5d658d7cb661010a67d3386341
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This includes a BSD licenced file Qt5CoreMacros.cmake which is
adapted from Qt4Macros.cmake in the CMake source tree.
Change-Id: I54326b808795535490a0489659b351a8da72cdbb
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
And enable this configuration option for the resource compiler. This
results in a re-run of qmake whenever you touch a qrc file, which is
needed to keep the dependencies up to date. Otherwise you might end
up in the situation where you add a file to a qrc, edit the file some
time later, but a rebuild does not regenerate a cpp file and compile
that, so the final binary is stale.
Technically this dependency problem is present for all source files,
and qrc files are no different than any cpp file that you add a new
header #include to, or adding a Q_OBJECT macro to a header. To pick
up these changes we have to re-run qmake, so that qmake can run its
internal dependency checking, and any extra compiler dependency
commands.
The reason we're making this change for rcc files it that conceptually
people treat them as a "project" files, and expect them to behave similarly
to .pro or .pri files, in that editing the file will invalidate the
makefile. In practice this is often what happens when adding new
headers, as you touch the project file when changing the HEADERS
variable.
Task-number: QTBUG-13334
Change-Id: If69149678e7fba6d812d31dcc17877427f9a6122
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Support the common construct of a top-level test directory having
a test/test.pro with:
TARGET = ../tst_sometest
TESTDATA = ../data1.txt ../data2.txt
Prior to this change, the ".." in TESTDATA would cause the data to
break out of the test's installation directory.
Change-Id: I22860bf3a148f278b3f4e18b476fd151f7f0f775
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Debug snapshots and release snapshots aren't compatible. Both a
debug version and release version of the mkv8snapshot tool must be
built, and the corresponding executable selected when building v8.
Adopt the library naming convention for naming the mkv8snapshot
executable ("mkv8snapshot" in release, "mkv8snapshot_debug" in debug
on Mac, "mkv8snapshotd" in debug on Windows).
Change-Id: I7a94b09e7db7ed8bbaa293637c092a1d1d1dbaba
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This variable was renamed from `elem' to `file' at some point in
development, but the old name was left at one place.
Change-Id: I2cda42b02a753614176b466e507e8d8d9ed80a6e
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
Tests will install under $$[QT_INSTALL_TESTS].
TESTDATA may be used to install additional testdata required by the
test.
The default install rule may be disabled by
CONFIG+=no_testcase_installs.
Change-Id: I204de60c8e844775906ffd016ca50bffbb414142
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This feature is only available to advanced qmake clients who have their
own defaults_pre.prf, where QMAKE_SYNCQT_OUTDIR is set before loading
Qt's own default_pre.
This is useful to be able to put the sync.profile file in a different
level in the source tree than where you want the output in the build
tree.
An alternate/complimenting solution would be to allow the output path
to be overriden from within the sync.profile file.
Change-Id: I3cdef82dbe492877507e269e18571456beeb2b7d
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
If subdir.CONFIG contains no_check_target, we do not recurse into
that subdir when generating the 'check' target.
This will be used to selectively disable crashing tests on Mac OS X.
Currently, all autotests are disabled on Mac OS X. The goal is to re-
enable them, but not all at once. This approach allows us to get each
change through the CI system individually.
The first step is get all tests to build, but not run, then we will
re-enable the tests for each module, possibly disabling individual
tests at the same time.
Change-Id: I69f62c238f381ae0315d414cd71d76bc88b088dd
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
To instrument a Qt application or library with the TestCocoon coverage
tool, do `CONFIG+=testcocoon' in the application .pro file.
To instrument Qt itself with testcocoon, use the `-testcocoon' configure
option.
Change-Id: Ie77109a078d11ea51f7a073621e0df9c752c44ae
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
We have the following scenario: Either you build a release package
without asserts, or a debug package with asserts. However, in embedded
development, we need asserts also in release packages. This flag allows
you to build a release package, but Q_ASSERTs still fire.
Change-Id: Icd1dd4dd63c3cafecf515b40741263d902ad42d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Extension .a for Mac and Linux and .lib for Windows.
Change-Id: I1e979b2a6b29eeab35620aa0bbabb27f10cdda68
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
TARGET_BASEPATH becomes QMAKE_RESOLVED_TARGET.
QMAKE_RESOLVED_TARGET will be reused for future implementation
of code coverage tool TestCocoon.
Creating of resolve_target.prf.
Clean unused "unset(SYMBOLFILENAME)" in default_post.prf.
Change-Id: I054efb0065fa06697b60ac60a9ddf364f2f40366
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>