Commit Graph

286 Commits

Author SHA1 Message Date
Stephen Kelly
f16a77d783 Use IF(NOT TARGET ...) before creating imported targets.
Initially we didn't do this because someone could accidentally create
another target of a conflicting name, and used a variable to store whether we
have created the target already or not.

That wasn't adequeate to deal with finding the package in a scope
like a function, so we used a directory property. However, the directory
property is not valid in the same scopes as the defined target. For
example, finding a Qt module in both a directory and a subdirectory causes
a conflict.

As it is already unlikely that a target would be accidentally created with
a name like Qt5::Core, we should simply use the IF(TARGET) form.

Change-Id: If64f25d45f51edcd1edb0d4bfb5ed3bb2479bd27
Reviewed-by: David Faure <faure@kde.org>
2012-05-15 23:03:23 +02:00
Marius Storm-Olsen
58ab3a79a0 Set QMAKE_DOCS_INSTALLDIR to $$[QT_INSTALL_DOCS] to allow overriding in .pro
Normally you want to pass -installdir $$[QT_INSTALL_DOCS] to qdoc by
default. However, if you want to force the generation of URL links to
the documentation, the option cannot be specified.

By setting the QMAKE_DOCS_INSTALLDIR variable in default_pre.prf a
project may override it at will, as for example Qt Creator would do.

Change-Id: Ib31f03acf4e8050cf2dd3aa33f3a10ed027f1df7
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-15 14:34:15 +02:00
Donald Carr
1da0db344a device: don't set a default cross compile prefix
qmake -set can be used instead to set a the default cross compile.
device_config.prf already contains code to read this default.

Remove per-spec CROSS_COMPILE checks

Introduce deviceSanityCheckCompiler() usage where appropriate

Done-with: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Change-Id: I07c75c9e933dc1174a1bf8bf523b6b4a6b427408
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@kdab.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-15 04:56:59 +02:00
Stephen Kelly
2b735ac8e6 Use directory property instead of variable to determine target existance.
This is more resilient to calling find_package in a scope such
as a function.

Change-Id: I17e69a416f4aed3102fa6195d239bcf4ce0b306b
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-05-14 04:35:08 +02:00
Stephen Kelly
dd38ad600f Only find dependencies from the same Qt installation.
Add a PATH to search for dependencies in the current prefix, and
disable other CMake searching logic with NO_DEFAULT_PATH.

A Qt installation must all be installed to the same prefix currently.
If that constraint is ever relaxed, we can turn this into a hint instead.

Change-Id: I633cafb7e546dbd102ac0b2ed18db260d26adc51
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-05-13 18:49:10 +02:00
Donald Carr
f1ea4ed3d4 Remove stale udev check
udev headers now ship as part of the base debian reference image

Change-Id: I181c7f48ca59af46fccf8f3204845379d068c023
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-12 01:24:55 +02:00
Bradley T. Hughes
7a67c822e3 configure: Remove the -dwarf2 argument for Mac OS X builds
Modern versions of Xcode properly support dwarf2, and as such dwarf2 is
always enabled. This change removes the ability to turn it off, making
dwarf2 non-optional.

Change-Id: I149daeae6048ee8a1ed116363572173ad219102e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-11 12:52:21 +02:00
Friedemann Kleint
3195b41eb7 Remove declarative from qmltestcase.prf.
Change-Id: Ia4bf45132a74ec7bbbb2a918088c176f87a26e76
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-11 12:52:21 +02:00
Stephen Kelly
4e8c20e97e Add underscore to internal implementation detail variables.
Change-Id: I4c70ed2808396931fff986fbfad5940dd39e74f6
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-05-10 22:46:55 +02:00
Stephen Kelly
bced700e88 Include the VERSION_STRING in CMake config files.
Change-Id: I9f0e9316241b4cb615350876b11ee263f7efd3bf
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-05-10 22:45:54 +02:00
Marius Storm-Olsen
9456528aac Merge branch 'docs-refactoring' into master
Change-Id: Iebd1966abace3cdf7f9428dcfc1ded5b124ab113
2012-05-10 09:11:23 +02:00
Marius Storm-Olsen
9fde9ab167 Properly implement a 'make docs' target for subdirs and apps/libs
Only call qdoc for projects which sets the QMAKE_DOCS variable to
point to a qdocconf file.

Exclude examples/ and tests/ from the qdoc run, by adding
    no_docs_target
to CONFIG for those projects.

Change-Id: Ic856c8f19db59309302d0602b3e99735609e525a
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-09 08:34:42 +02:00
Girish Ramakrishnan
4a58853aea Fix qpa files installation
qpa header files were not installed under qpa/.

Change-Id: I243c3a7e83a342f7485791a1a29b65c9a8f25d6b
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-05-08 20:03:49 +02:00
Stephen Kelly
27ca259fb6 Don't attempt to ask cmake to find the glib dependencies.
Those components are not known to FindGTK2.cmake.

Change-Id: I4a7fe35d7d118168c24285f3ea8f57822b2facff
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-05-08 06:59:19 +02:00
Donald Carr
bcc9c50b50 Introduce Arch Linux specific link line to pi mkspec
Change-Id: I77c99a2f5e25c28ad2d4a13e3b56d3603cd5bb64
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-05 00:52:14 +02:00
Morten Johan Sorvig
fde021c6d7 Add mkspecs for 32-bit Mac OS X builds.
Add mkspecs/macx-clang-32
Add mkspecs/macx-g++-32
Add mkspecs/common/clang-mac.conf

Skip the rest of the Mac mkspecs (icc, llvm, g++40,
g++42, builder, Xcode, xlc) pending a cleanup where
we determine which ones to keep.

Change-Id: I00ceddfcbdb5119cb132433bad43e4aed016eab2
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-04 09:19:23 +02:00
Morten Johan Sorvig
976619bd59 Remove all usages of "arch" CFLAGS on Mac.
Remove all [PPC|PPC64|X86|x86_64] CFLAGS, CXXFLAGS
and OBJECTIVE_CFLAGS. Delete the arch prf files.

32/64 bit arch selection will be made using a different
mechanism in Qt 5. Universal builds are not supported.

Change-Id: I4664f2c31801cec7fb4d240f41c2c5204a109020
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-04 09:19:23 +02:00
Stephen Kelly
b4dabb9e50 Revert "Don't use the pri depends line for link dependencies."
This reverts commit df43b9a06a.

Using the same depends information as QMake provides adds a lot of
convenience for users, and is mostly 'correct' from a CMake
point of view anyway.

Change-Id: I8f2a2f74a687c25a0dedcc491ef72ddb5b136090
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-05-03 16:11:58 +02:00
Raphael Kubo da Costa
f42a61e76a mkspecs: Define compilers and linkers elsewhere for freebsd-g++46.
Commit 996672933a has made the
freebsd-g++46 mkspec use g++-base.conf, which on its turn resets
QMAKE_CC and QMAKE_CXX to other values.

Redefine them to gcc46 and g++46, respectively (and fix the linker
values) after the inclusion of g++-unix.conf so the settings are not
lost.

Change-Id: I2d03548fdc492c5e4c4744b636b29df2cefe2acd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-03 05:55:14 +02:00
Kai Koehne
2f105af8de Enable QML debugging of qtquick1 with CONFIG+=quick1
Make the option name align with the name of the module.

Change-Id: I29a822b55b3cb52a51592aa2bd0746a53bfe44b9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-05-02 12:21:55 +02:00
Donald Carr
6102ab8d64 Make eglfs hooks functionality namespace cognisant
Change-Id: Ie9f86bd0494c0423f50d0f405922ab169b2431e3
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-02 04:29:15 +02:00
Stephen Kelly
e72a425e13 If a dependency was not found, and we were not called with REQUIRED, we are not found.
This only works with CMake 2.8.8, but it is no harm to earlier versions.

Change-Id: I62c220e4b24f951e83c23eb57d5f833de4d181c5
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 20:28:00 +02:00
Stephen Kelly
05dddb265c Properly quote the dependencies string.
Change-Id: I319b04cdb21860652658ee8d3e577d41a913ed5a
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 20:27:39 +02:00
Stephen Kelly
6e8d306ca7 Make sure different modules do not overwrite each others dependencies.
Change-Id: I30ca05d3c692a707cfe829ad5fee099549bab540
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 14:05:39 +02:00
Stephen Kelly
7fc8edf069 Forward the REQUIRED and QUIET arguments when finding dependencies.
Change-Id: I5d7c26f12a296ac3527575149978b18c5e9a4a67
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 14:05:39 +02:00
Qt4iOS
f9048b3465 Added mkspecs for iOS.
Modified common MacOS gcc config for iOS compatibility. Added iOS
mkspecs for iOS devices and simulator using G++, LLVM-G++ or CLANG
compilers.

Change-Id: If0a0b1a3ce4e0dc4db319a315e227a9d31549399
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-26 03:15:22 +02:00
Romain Pokrzywka
8d406e988c Add makespecs for standard devices in the OMAP3 family
The beagleboard and Archos gen8 tablets are built on the same hardware
and OpenEmbedded platform build system.
The makespecs enable OpenGL/ES2 support and EGLFS as the default
platform.

Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>

Change-Id: I04938676f82f9136efd662ff3ede16221eadf275
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-25 19:46:28 +02:00
Thiago Macieira
0df1c9f1fa Warn if we use deprecated methods from Qt modules
This change will cause any use of methods and classes declared with
Q_DECL_DEPRECATED to produce a warning in the compilation
output. Those warnings need to be silenced before the Qt 5.0 release,
preferably before the beta.

Change-Id: I28ce133867cc5918e177c57f6e5f7ab9421989ad
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-25 12:43:25 +02:00
Stephen Kelly
5c7e4d302e Fix creation of config files in debug mode.
f88212c22f was not complete.

Change-Id: Ie5b1bb4832176ec8a72ace473f7dbc6c4de10ff2
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-04-24 16:29:40 +02:00
Donald Carr
a5ff60dc96 Add N9 device mkspec to device mkspecs folder
Change-Id: Ie8b0e8a014316b218c86cfdc0c58cad1ae4d3015
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-24 12:48:38 +02:00
Friedemann Kleint
8f85b84f4e Revert "Add workaround for projects using 'QT += declarative'"
The workaround should no longer be necessary.
It causes compile errors for MinGW since the command lines
are too long.

This reverts commit 6225e3ba01.

Change-Id: I0288f4621f072b91dc94f25092ef124fa4c1b09e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-23 19:20:19 +02:00
Andreas Holzammer
5430d1dea0 Set default Lighthouse plugin for QNX
Change-Id: Id1e51fcd3ce795b2c408d0376679597f6da5c33a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-23 17:04:18 +02:00
Stephen Kelly
f88212c22f Don't tell CMake we're making debug libraries if we're not.
The config option debug_and_release is set on Windows and on
mac (unless xcode is used independently of whether Qt is configured
with -release or not.)

We need to check CONFIG(release,debug|release) to see if
-release was set.

Change-Id: Ibf952958874f6b102981526b3397e848c207a3f2
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-04-23 17:03:43 +02:00
Stephen Kelly
47617f68cb Make the QNX QPA plugin work with non blackberry.
Change-Id: Id85d18d9f21711e8d53e8e4bfdf39d10e135f593
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-23 07:30:02 +02:00
Donald Carr
408f3fb200 Adjust device mkspecs to use qpa default plugin var
Change-Id: If7be3517a423324e744805e8508eb9277a600ed4
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-20 03:39:10 +02:00
Konstantin Ritt
d48f3fc1e7 fix undefined behavior issue on Integrity
in contrast to ::strdup(), qstrdup() allocates memory via new[];
deallocating this memory with free() leads to undefine behavior.

Change-Id: I0692c4bef010c05de547283b00b6c6043ac24c79
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-19 15:58:03 +02:00
Raphael Kubo da Costa
c7b52e2a2a mkspecs: Rename freebsd-g++40 to freebsd-g++46.
lang/gcc40 was removed from FreeBSD's ports tree in 2007, and the
lang/gcc port, which provides a stable GCC version newer than the one in
the base system, is currently pointing to the 4.6 series.

Change-Id: Ifd959ef7b9cd122aa606644e97e337ace8742245
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-17 16:28:46 +02:00
Raphael Kubo da Costa
996672933a mkspecs: Sync freebsd-g++40 and freebsd-g++.
Make freebsd-g++40 include gcc-base-unix.conf and g++-unix.conf and
eliminate a lot of duplicate definitions.

Change-Id: Ib3fe572ee276645fb03034a08fbc8e06720b6372
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-17 16:28:46 +02:00
Raphael Kubo da Costa
874ebef453 Do not define QT_AOUT_UNDERSCORE in freebsd-g++'s mkspec.
According to FreeBSD svn r52802 from 1999 the -aout compiler option and
the QT_AOUT_UNDERSCORE trick were already obsolete.

Since the FreeBSD project itself only supports versions 7 and above
these days, the definition can be safely removed.

Change-Id: I324d5d5b136a6560d9e1b5c81b93efc32d87cdc2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-17 16:28:46 +02:00
Raphael Kubo da Costa
0e8aabadf9 Remove the freebsd-g++34 mkspec.
GCC 3.4 is older than the 4.2.1 in the base system, and should be
removed from the ports tree.

Besides, nobody in their sane mind would want to build Qt with such an
old compiler.

Change-Id: Ib40357758058505465a8bfcefbd182b9240591a5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-17 16:28:46 +02:00
Raphael Kubo da Costa
1afad60e60 Do not redefine QT_SOCKLEN_T in freebsd-g++'s mkspec.
QT_SOCKLEN_T was being redefined depending on whether FreeBSD was < or
>= 4, branched in early 1999.

FreeBSD < 7 is not supported by the upstream project anymore, so we
can simplify the code and rely on the QT_SOCKLEN_T definition in
common/posix/qplatformdefs.h instead.

Change-Id: I0e06fc37e29158932b95a2619a7442c6068a7d32
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-17 16:28:46 +02:00
Lars Knoll
64255ef650 Merge remote-tracking branch 'origin/api_changes'
Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
2012-04-17 12:58:52 +02:00
Donald Carr
f0c36dd03c Introduce fallback for general cross compilation
The current approach of forcing people to pass the fully qualified prefix
of their toolchain to the configure script is verbose and something of a
chore for people who use the same toolchain to target several devices.

This allows you to set a single toolchain for use with all Qt targets via:

qmake -set CROSS_COMPILE foo

You can still explicitly override this toolchain, as originally mandated,
with the configure time device-option arguments.

Change-Id: Ibd3d940bb08fa09499533f9c661557e337a8421a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-16 19:00:04 +02:00
Lars Knoll
9bd0323551 Merge remote-tracking branch 'origin/master' into api_changes
Conflicts:
	configure
	src/corelib/io/qurl.cpp
	src/gui/kernel/qwindow.cpp
	src/tools/moc/generator.cpp
	src/widgets/kernel/qwidget_qpa.cpp
	src/widgets/styles/qstyle.h
	src/widgets/widgets/qtabbar.cpp
	tests/auto/corelib/codecs/utf8/tst_utf8.cpp

Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
2012-04-16 12:04:34 +02:00
Thomas McGuire
5f637a190f Fix finding EGL on QNX
A recent change in platformsupport required "egl" to be defined,
otherwise the QNX plugin would fail at runtime with unresolved symbols.

Now the EGL config test passes.

Change-Id: I111eb939abac86885bcdb35d5f5899f515bd8c4e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-16 09:45:27 +02:00
Holger Hans Peter Freyther
19524b7499 directfb: Integrate building into configure.
Add DirectFB buildsystem integration by adding a configure target
and adding it as subdirectory to the project file. The default is
to automatically build directfb. Update the Broadcom/9425 build.

Change-Id: I482f865cebd9d5cd4c98c184773f8534f92db9df
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-13 18:15:26 +02:00
Holger Hans Peter Freyther
01b54bcd84 device: Introduce hooks for the directfb plugin and use them
The EGL integration is vendor specific, add platform hooks to the
DirectFB plugin and implement them for the Broadcom 97425. The hook
interface is internal and there are no ABI/API gurantees.

Change-Id: I33359830c51f16895e771837fccb71e03c81cf18
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-13 08:33:37 +02:00
Bhooshan Supe
e784245238 device: Add device support for Trident's Shiner
Add mkspec for the Trident's Shiner platform to be used in conjunction
with the -device support in configure. This allows you to build Qt

Change-Id: I68d8e8eb78f073e98f72207e9c5de6a0da0ed35d
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-12 04:15:28 +02:00
Bhooshan Supe
8730c333ba device: Add device support for STMicroelectronic's ST7108
Add mkspec for the STMicroelectronic's ST7108 platform to be used in
conjunction with the -device support in configure. This allows you
to build Qt with the application libraries provided by STM SDK 35.

Change-Id: I36aa174200f034ccd6ee285e3f8a8ffec99b3e70
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-12 04:15:26 +02:00
Bhooshan Supe
0fdd1155e1 device: Add device support for STMicroelectronic's ST7540
Add mkspec for the STMicroelectronic's ST7540 platform to be used in
conjunction with the -device support in configure. This allows you
to build Qt with the application libraries provided by STM SDK 36.

Change-Id: I4369b23b9a0c9063417e5cc71969f65e967e4019
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-12 04:15:23 +02:00