Commit Graph

31 Commits

Author SHA1 Message Date
Rohan McGovern
8481369f3d testlib: add QFINDTESTDATA macro for finding testdata files
Automated tests often need to load some data from external files.
Currently, a wide variety of approaches for this have been used in Qt
autotests, including:

  - embed the source directory into the test binary at compile time, and
    find the testdata relative to that; this fails when the source tree
    is no longer available (e.g. when the tests are deployed to a device).

  - use a path relative to the current working directory, and trust that
    the caller always sets the current working directory such that the
    testdata can be found; this fails when the caller uses a different
    working directory than expected.

  - use a path relative to QCoreApplication::applicationDirPath();
    this fails when source tree != build tree (since testdata is not
    automatically copied into the build tree).

  - compile the files into the binary using the Qt resource system; this
    should work, but does not allow for testing of code which genuinely
    needs external files.

It seems that there is not a simple method for determining the testdata
path which can be reliably used in all circumstances, so various tests
have reinvented the testdata location method in different ways.
Therefore, this is a good candidate for an addition to the testlib API.

The current implementation of QFINDTESTDATA is able to find testdata
in all three of (build tree, install tree, source tree), in that order.

Change-Id: Ib2fed860723ccf437240da3b00db22dfe1a6b56c
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-12-01 09:12:57 +01:00
Stephen Kelly
a482487b9f Install CMake config files from Qt.
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>
2011-11-29 17:08:39 +01:00
Stephen Kelly
abbd35f9b9 Remove network module from widgets dependencies.
QtWidgets does not depend on QtNetwork.

Change-Id: I50958033fd93a44be24c78fb5a20d7006b262b82
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-11-28 15:08:01 +01:00
Oliver Wolff
318a274381 Readded PrintSupport for Windows
The prepared plugin architecture for
printing support was used as much as
possible but some functionality had to
be done in src/printsupport.

Change-Id: Ic8446cb8018a0970b4da97c1912ba6dc20d2a09f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-25 15:55:10 +02:00
Rohan McGovern
81a5885814 Mac: fix linking with Qt frameworks which don't exist at qmake time
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>
2011-09-17 01:32:51 +02:00
Lars Knoll
f9748f8cce Remove uilib and QtUiTools from QtBase
The code gets moved into the qttools repository,
where it belongs naturally.

Change-Id: Ia50bfe212ead3365d5c3bcb24d2c5e92e2e9de8e
2011-09-13 20:11:40 +02:00
Samuel Rødal
42f2da5e6b Merge remote branch 'gerrit/master' into refactor
Conflicts:
	src/src.pro

Change-Id: Ic04fb170b82e86dc3cef6fe979f8fb709db10daf
2011-08-30 11:51:20 +02:00
Samuel Rødal
6e28e8441b Copy core GL functionality to QtGui with QGL -> QOpenGL naming.
Change-Id: Ibc989afa4a30dd184d41d1a1cd89f97196e48855
Reviewed-on: http://codereview.qt.nokia.com/3710
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-29 10:25:24 +02:00
Kent Hansen
9830cb8e59 Add QtV8 library to QtBase
This adds Aaron's copy of V8 to src/3rdparty/v8 (as a
git submodule), and builds it as a "normal" Qt library
(without any dependencies on Qt itself).

The library can be added to a project with

QT += v8-private

V8 API headers are available as private includes, e.g.

 #include <private/v8.h>

The API is private because we're exposing a third-party
API directly, and we don't want to (and cannot) make
source or binary compatibility guarantees for it.

Since we want the V8 public API headers to be private
headers in Qt, syncqt and sync.profile were extended to
understand a new configuration option, the
@allmoduleheadersprivate array, that tells syncqt whether
all the library headers should be treated as private even
though they don't follow the _p.h Qt convention.

The V8 project files, patches and autotests are copied
from the QtDeclarative repository. The next step after
this commit is to remove QtDeclarative's copy of V8 and
link with QtV8 instead.

Task-number: QTBUG-20963
Change-Id: Ib8820362cdbc8fa662a5e97db841656cf38d1b62
Reviewed-on: http://codereview.qt.nokia.com/3092
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-08-29 10:16:01 +02:00
Friedemann Kleint
ca56c9400c Temporarily disable printers on Windows, fix export.
Change-Id: I351692b53cf559cd3be64cec8907bd544ba41593
Reviewed-on: http://codereview.qt.nokia.com/3653
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
2011-08-26 12:13:56 +02:00
Friedemann Kleint
32f43000c5 Introduce new test macro for GUI applications.
Fixing linkage of the coreanimation examples on Windows.

Change-Id: Ic34cab329577b2ba430ca8a510b356c424d574af
Reviewed-on: http://codereview.qt.nokia.com/3605
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-26 11:49:16 +02:00
Lars Knoll
f4f1b53b96 Move printing into it's own library
Create a libQtPrintSupport library that contains our current
printing infrastructure. Long term this will get replaced
with a libQtPrint, as the current architecture is not
really maintainable.

Change-Id: I7362fff6786b58c5b4e9213c23eda36d15048aa2
Reviewed-on: http://codereview.qt.nokia.com/3209
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:16:42 +02:00
Jørgen Lind
d34b0eb633 Fix platformsupport as installable module
Change-Id: I17c4723c551c1cee9c442e8d6c1289bccf505d3d
Reviewed-on: http://codereview.qt.nokia.com/2868
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Andy Nichols
2011-08-11 15:20:17 +02:00
Jørgen Lind
6ee65dc478 QtPlatformSupport: A helper library for platform plugins
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
2011-06-10 09:46:56 +02:00
Friedemann Kleint
52c987cc30 Build from scratch, use correct version number in Widgets.
Order in src.pro needs to be correct since qtbase.pro forces
ordered.

Acked-by: Samuel Rødal <sroedal@trolltech.com>
2011-05-24 09:27:50 +02:00
Lars Knoll
276d60a4d6 Merge remote branch 'origin/master' into refactor
Conflicts:
	src/modules/qt_openvg.pri
	src/widgets/to_be_moved/qlinecontrol_p.h
2011-05-16 10:19:02 +02:00
Eckhart Koppen
23d98f70b9 Updated Qt and QtBase module version number to 5.0.0
Updated version in qglobal.h as well as the module version itself
2011-05-13 13:22:30 +03:00
Lars Knoll
aa566e7297 some build fixes 2011-05-07 21:24:37 +02:00
Lars Knoll
f67b8df3eb library split 2011-05-07 00:02:01 +02:00
Lars Knoll
41db1f3cb6 compile fixes 2011-05-05 15:56:15 +02:00
Marius Storm-Olsen
1287361f64 Move private headers into versioned subdirectory
This will allow us to expose private headers in a controlled manner,
and ensure that they are not used by accident. This also means that
we internally will have to enable the private headers for the
modules we wish to use in the project.
2011-05-02 15:30:08 +02:00
axis
2e1af58417 Introduced the QT.<module>.plugins variable to module profiles. 2011-04-27 12:06:02 +02:00
axis
afa1807c40 Added QT.<module>.imports support to module profiles. 2011-04-27 12:06:00 +02:00
Liang Qi
80473d3c2c Move uitools from QtTools to QtBase 2011-04-27 12:05:52 +02:00
Marius Storm-Olsen
82bf3bd775 Make each module refer to its own bin/
Since modules cannot rely on QtCore having a build directory, nor
can they build the applications directly into $$[QT_INSTALL_BINS]
each module needs their own bin/. Add this path to each module's
pri file, so others can use their applications
2011-04-27 12:05:51 +02:00
axis
6036305fb0 Extended module profiles.
Each module now sets the QT_CONFIG variable itself.
2011-04-27 12:05:50 +02:00
Liang Qi
817232ee94 Move QtSvg into a separate repository 2011-04-27 12:05:49 +02:00
Liang Qi
6d8ffc2cbb Add the private_includes path to the modules .pri file 2011-04-27 12:05:48 +02:00
Marius Storm-Olsen
997f87bfcf Add the source path to the modules .pri file 2011-04-27 12:05:48 +02:00
Liang Qi
8f9b949c64 Remove the hardcode QT_CONFIG in those pri files. 2011-04-27 12:05:47 +02:00
Marius Storm-Olsen
00c5f39081 Add module specific pris, and make syncqt create fwd includes
The module specific pris define the modules
    name
    version
    dependencies
    include paths
    lib paths
    additional CONFIGs and DEFINES
They are located in the modules source directory, with fwd
includes created in QtBase/mkspecs/modules build directory.
The pris use
    QT_MODULE_INCLUDE_BASE
    QT_MODULE_LIB_BASE
to specify the locations for includes and libs. These paths
are normally based on
    QT_INSTALL_HEADERS
    QT_INSTALL_LIBS
for installed modules, but overridden to the module's build
directory by syncqt for the fwd included pris.
The path of the pris must be specified in the sync.profile
for syncqt to create the fwding pris in QtBase.
2011-04-27 12:05:46 +02:00