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>
The QMAKE_COMPILER_DEFINES are used when running moc. In some cases, Qt
checks the __GNUC__ value to determine which version of GCC is being
used. In particular, the qtconcurrentfilter and qtconcurrentmap tests
fail to compile because moc ends up defining QT_NO_CONCURRENT_FILTER and
QT_NO_CONCURRENT_MAP since the condition __GNUC__ < 4 evaluates to true.
The Mac OS X development tools have not used gcc 3.x is a very long
time. The current version ships with llvm-gcc-4.2.1 and clang (which
also masquerades as gcc 4.2.1). Defining __GNUC__=4 makes sure that moc
preprocesses headers in the same way the compiler does.
Change-Id: Ie491d3f5b074fd1a509ffe6755f3308836817b6c
Reviewed-by: João Abecasis <joao.abecasis@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>
This reverts commit ec41d27565ed0b4d517f30563def135d0b4c7a8d.
Adding the define _BIND_TO_CURRENT_VCLIBS_VERSION led to linking problems
for several people. Also, this leads to problems when using the binary
installer for development.
Change-Id: I4097c8d0962c633bab6edbb86df9046d93148cab
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Clean up and remove Symbian specific mkspec.
Change-Id: I0fa75287720db92983422611e0090301d06814ec
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Both $$OUT_PWD and $$PWD can't be used here, the real .pro directory
should be $$_PRO_FILE_PWD_
Task-number:QTBUG-22169
Change-Id: I0aebfe7503703fe2b264c7c47b828a8fc4ffac47
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
QT+=<foo>-private is supposed to be a superset of QT+=<foo>.
declarative_debug.prf was subtly breaking this for the
declarative-private case.
Change-Id: Ica082b03d19e702434b90e0f8b2c1fa6b592babb
Reviewed-on: http://codereview.qt-project.org/6373
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
QtDeclarative doesn't link against QtOpenGL anymore.
This line was implicitly causing the QtWidgets library
to get linked in as well.
Change-Id: I56e6e9db52eec7fc924506bfeb4b7931ea04e616
Reviewed-on: http://codereview.qt-project.org/5204
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
This restores the forced-vs-detection logic for Qt frameworks which
was removed by commit ceed409b40.
The problem of linking against Qt modules compiled as a static
library is solved a different way: the module must explicitly state
in the module .pri file that it is built as a static lib.
Change-Id: Ie3d726f7b3933e5b5d27f15c6112ec1c7dee1ea2
Reviewed-on: http://codereview.qt-project.org/5034
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
If qtbase was configured to build both debug and release versions of
libraries, it makes sense for any modules we are building to do the
same by default.
Change-Id: Idb5f78a7414b6ed2bacf295ad01f259fca435410
Reviewed-on: http://codereview.qt-project.org/4702
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Add support for DEFINES and INCLUDEPATH to link_pkgconfig so moc uses
the cflags properly.
Task-number: QTBUG-19922
Merge-request: 2674
Reviewed-by: ossi
(cherry picked from commit 2a1e82452a192c88bcf0250f5976492f6dc3b65f)
Change-Id: I0cf543c26780ab9d6d39450435e2c1947fee3954
Reviewed-on: http://codereview.qt-project.org/4592
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
qmake now needs library prefix and extension to be supplied. This was
added to plain win32-g++ in dbbf06e. Now added to win32-g++-cross.
Without this, static libraries get named 'X.lib' instead of 'libX.a'.
Merge-request: 1283
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit 8ce9dc02cd5031f26c7fec10484a8c47904c46f5)
Change-Id: Ic12f655bcfc8a422a98819904ec796d896de77f5
Reviewed-on: http://codereview.qt-project.org/4575
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
there is no need to disable stack protector unless one uses an ancient
version of gcc.
taken from kubuntu.
(cherry picked from commit 30211e6847007bf375f60f62f5806b05cec810c3)
Change-Id: Idd74823176a63002cc0f6511adc6a981bef79df9
Reviewed-on: http://codereview.qt-project.org/4571
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Now mkspecs/unsupported/macx-clang/qplatformdefs.h includes
mkspecs/common/mac/qplatformdefs.h.
This patch fixes that Qt built with clang failes to load cocoa platform
plugin without QT_QPA_PLATFORM environment variable.
Change-Id: Id48268eaf7ba24403f91497539ef0dab6f22a9dc
Reviewed-on: http://codereview.qt-project.org/4564
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
The "force framework/no-framework" logic does not
really work, since Qt is now a mix of frameworks
and statics libs. Remove this code path and use
the "detection" path instead.
Also remove the exports from platformsupport.
Change-Id: I0a308666480445eb47c4f443ff7529addecad10d
Reviewed-on: http://codereview.qt.nokia.com/3464
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
separate_debug_info was previously stored in .qmake.cache, and
therefore only affected qtbase. Store it as a QT_CONFIG setting instead,
and add it to CONFIG for all Qt plugins and modules.
Change-Id: I940c8cb30f1c42c85f4d0342e6a482f20677ff04
Reviewed-on: http://codereview.qt.nokia.com/2975
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
If the compilation of a subdir was explicitly disabled by default, then
the testing of that subdir should also be disabled by default.
Change-Id: I928e232393e89a7c27813b7a48864d4e0fb687f8
Reviewed-on: http://codereview.qt.nokia.com/2835
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
This replaces the need for applications to explicitly make a call to
enable the debug services, and rather does it in declarative.h when the
'declarative_debug' CONFIG option is used.
Done-with: Kai Koehne
Reviewed-by: Martin Jones
Reviewed-by: Michael Brasser
(cherry-picked from commit 5517cc588c39814530b8bfd957821f55be42acf2)
Change-Id: If180d2b826879d6d02c7be4d3075917815ccf349
Reviewed-on: http://codereview.qt.nokia.com/2435
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
An extra script is added (qtmodule-configtests) which is currently
invoked from syncqt (with some derived parameters passed to it).
The module can optionally have an entry in the module's sync.profile
file in the form of a perl map of "test name" => parameters. Tests
can print an advisory message if they fail (e.g. "Install this
SDK/dev package"), or abort the syncqt process (e.g. mandatory
prereq missing). Also, if the test has a "requires(foo)" line
that results in it being skipped, this is also supported.
Change-Id: Ic3c820a488a0992c944994d4d7dc283da36742d6
Reviewed-on: http://codereview.qt.nokia.com/928
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Sarah Jane Smith <sarah.j.smith@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Their paths may vary depending on configuration and
build/install state going forward.
Change-Id: I60c8bcd1dc6c2fb729bf84d211875a3d910d5e4a
Reviewed-on: http://codereview.qt.nokia.com/1761
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
In debug_and_release builds, we have three passes, the glue
pass, and a pass for each build type. We only need to run
syncqt when we are in a glue pass, which is when
'build_pass' is not set. In non-debug_and_release builds,
build_pass is never set, so this condition works for all
build types, with multiple configurations or not.
Change-Id: I191da0df3ad422bb5fb8994391c2b2d2e23efc32
Reviewed-on: http://codereview.qt.nokia.com/1717
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
... and re-add a real $$resolve_depends(), just in case.
Change-Id: I489d6056546340ce95280fe7fd571e30c14470e7
Reviewed-on: http://codereview.qt.nokia.com/1455
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
this is braindead, but it's consistent with the rest of qmake and more
performant. and the argument error message claimed it already anyway.
Change-Id: I973368acc6ffbff17107085ccd68b0334cc3e681
Reviewed-on: http://codereview.qt.nokia.com/1436
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Remove some generated files that got submitted
accidentally during the last merge.
Change-Id: I693b451f7175e50ed9d5a7c7ed85705fb764c5e8
Reviewed-on: http://codereview.qt.nokia.com/1290
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
This will make projects generated by visual studio being successfully
linked to the Qt dlls if they use the QString::fromWCharArray() or
QString::toWCharArray() methods.
Change-Id: Ie266576c1bcd44cf8534f12b10629b94ef3e1d3f
Merge-request: 727
Reviewed-on: http://codereview.qt.nokia.com/772
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
-Wl,-rpath-link is expected to work for all gcc except mac.
Change-Id: I4b57e0088db49a8e35840d981e5d6edbb1012396
Reviewed-on: http://codereview.qt.nokia.com/506
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
When the build directory is the install directory, separate modules
should use qtbase as the path for libs, module pris etc.
This fixes the logic in default_pre.prf so that syncqt is called
correctly in these cases.
Change-Id: Ib3798bfd145d3a3e43b9a222af46270245e6c2e6
Reviewed-on: http://codereview.qt.nokia.com/464
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Eckhart Koppen <eckhart.koppen@nokia.com>
QtPlatformSupport is a static library. Platform plugins are meant to
link against this library to pull in dependencies such as fontengines
and convenience functions for finding the right GL configs. The linker
will only pull in the symbols used, so the size of the library doesn't
really matter
Not having load(qt_module) first in a .pro file which later
does a load(qt_module_config) will likely overwrite
compiler/linker options in the .pro file.
This can be hard to figure out, and wasn't required before
when we used a global .qmake.cache for all modules, since
it 'preloaded' qmodule.pri file for all .pro files.
Change-Id: I8a9aa3247f938be0b3b13f8c8cc96c18a142ba7b
Reviewed-on: http://codereview.qt.nokia.com/412
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
It can be hidden with -silent, however.
Change-Id: I6dbd3c743779b8d2070e41f007df26b530987429
Reviewed-on: http://codereview.qt.nokia.com/235
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Liang Qi <liang.qi@nokia.com>