Commit Graph

1119 Commits

Author SHA1 Message Date
Sergio Ahumada
4780e5326f Integrate gcov support into Qt build system.
To instrument a Qt application or library with the gcov coverage
tool, do `CONFIG+=gcov' in the application .pro file.

To instrument Qt itself with gcov, use the `-gcov' configure
option.

Change-Id: If24e91d95318609b0df1a76ed6d679bd92bcaab2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-07 13:38:07 +02:00
Jan Arne Petersen
ba77bb34dd eglfs/imx6: Implement platformDisplay() in hooks
Return the native display created in QEglFSImx6Hooks in
platformDisplay().

Change-Id: I2b28ac66dce12a1054fc2f78dbfad0723f8e5688
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-08-06 15:52:59 +02:00
Eskil Abrahamsen Blomfeldt
c84114acee Android: Fix crash when compiling release mode for armv5
When building in thumb mode for armv5 applications will crash
with SIGILL on startup. This has been observed on armv7 devices
and emulators. It could be a bug in the gcc 4.4.3 toolchain, but
since the other toolchains in the NDK have other bugs that
make it impossible to use them for building, we need to disable
thumb until the cross-compiler has been fixed.

Task-number: QTBUG-31338
Change-Id: I22dd228158ef8c43b0b1d6e549d5725c1930536b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-08-06 11:08:49 +02:00
Tor Arne Vestbø
9370f50f2c Add Info.plist templates for the macx-icc makespec
Task-number: QTBUG-31355
Change-Id: Iea2ac2a072bbd2c0104f0704a86503c0982fb886
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-08-05 17:11:15 +02:00
Jake Petroules
e440b35bb3 Update Info.plist templates to use the current standard plist format.
Change the version number to 1.0, and use the public doctype.

Change-Id: I9b071c80c410c31c38813c4447edd7b186226fab
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-08-02 05:42:37 +02:00
Tor Arne Vestbø
536b25b375 iOS: Move platform plugin linking logic into iOS-specific qt.prf
Change-Id: I54350c8df3fe4bf20fc59cd42a28458018664eef
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-30 00:01:08 +02:00
Sergio Ahumada
d013eb055c Merge remote-tracking branch 'origin/release' into stable
Change-Id: Ic5a232260a6c8ee71f9ff91e820f54c36ab6b15a
2013-07-26 21:49:42 +02:00
Sergio Ahumada
5d51634b4e Android: Add QT_NO_PRINTER to DEFINES
Printing is not enabled for Android.

Change-Id: I5f589a036355fd63a7616fd57eeba1354d91281b
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-07-26 12:21:35 +02:00
Tomasz Olszak
f2a611ce6c Fixed mkspecs/devices/linux_device_post.conf for non-arm platforms.
Now arm specific -mfloat-abi flag is added to compiler flags
only for arm architecture in linux_arm_device_post.conf.

Change-Id: Ie77ac6e0717d9d1fd9c14e1d6a26e86f08ab418c
Reviewed-by: Jarosław Staniek <staniek@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-24 18:58:24 +02:00
Stephen Kelly
880f73d1f0 Use absolute path in the /usr move workaround if -libdir is specified
Change-Id: I68d087b15839418008db5bf1c0c76ca303245519
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-24 11:54:21 +02:00
Stephen Kelly
9b7adfa081 Move the cmakeRelativePath function to cmake_functions.
Task-number: QTBUG-32570

Change-Id: I05bbf7084ef8501bf17698f2ecc1cf3d8fd4d460
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-24 11:54:18 +02:00
Stephen Kelly
27313d1244 CMake: Add a clean_path before returning a path.
The $$path may already be absolute, so prepending a slash may
result in //usr/lib, for example.

Task-number: QTBUG-32570

Change-Id: If7a4f6fbec0216404cfe48c1da62d21d75b3e272
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-24 11:54:14 +02:00
Stephen Kelly
37ab8b4ed7 CMake: Remove copy-pasto for the IMPORTED_LOCATION
Task-number: QTBUG-32579

Change-Id: Ibe9dd92824091989168fca842a59b556937b1f08
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-24 11:54:11 +02:00
Frederik Gladhorn
084c5b3db7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp

Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
2013-07-23 11:18:11 +02:00
Oswald Buddenhagen
c9568da969 don't install mac bundles atomically
... as that causes debug+release installs to overwrite each other's
postprocessed files.

introduces CONFIG+=sliced_bundle, which instructs qmake to create
file-by-file install commands. we don't know whether people are not
putting files outside qmake's knowledge into the bundle build dir, so
this mode is not necessarily backwards-compatible, and thus off by
default.

Task-number: QTBUG-28336
Change-Id: I23e90985ccd3311f0237ed61aadca6d7ed8325b7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-22 19:52:06 +02:00
Stephen Kelly
782ed5eebb Don't check for the existence of private include directories.
Some packagers don't want to install the private headers.

Check the existence of private headers only if the 'Private' component
is specified when finding the package.

Task-number: QTBUG-32466
Change-Id: I1fdbfb25e8ce485cd051564b937f766b2733741a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-22 15:41:45 +02:00
Jan Arne Petersen
2ff2a7c32d Fix wayland-scanner to work with CONFIG+=silent
Use "_" instead of "-" in variables so variable replacement works
properly.

Change-Id: I2b17dca8f2351bc0933c165017f3fbb9393b0514
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-20 15:54:27 +02:00
Stephen Kelly
87db2fdef3 Use the compilers used by Qt for the CMake tests.
Task-number: QTQAINFRA-609

Change-Id: I32ad70a4b31baf1815c2c08ac16e35e78052e569
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-19 12:32:14 +02:00
Stephen Kelly
4a212be6f0 Only run the cmake test in the install location if not already done.
For developer builds, there is no need to run the test a second time.

Change-Id: I3564874cb2e9d6cc243e25a89ecd7f89df23b0bd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-15 21:56:51 +02:00
Tor Arne Vestbø
02a2c91e24 macx-xcode: Use Info.plist templates from original makespec
Change-Id: I178f1ce7cea1228d3d38b3517f9dcecc3c2d4c6f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-07-15 12:39:58 +02:00
Tor Arne Vestbø
b460decdfa Remove Mac libc++ mkspecs
Should not be needed anymore (as of 3d0a60aaa4), as we now use libc++
automatically when C++11 support is enabled.

The specs were deprecated in Qt 5.1 (commit f7a7859a7).

Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I6653f191b99f7c51c3f02a62c6ef68591b2dfa70
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-15 12:39:52 +02:00
Sergio Ahumada
1866c13b7d Merge "Merge branch 'stable' into dev" into refs/staging/dev 2013-07-12 14:03:21 +02:00
Jake Petroules
5b648d4d79 Add osx and darwin scopes to qmake.
This gives us better consistency across the Qt ecosystem.

Change-Id: Ie12ebb6e8c826ed2e0445eb37de0b79595da41c2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-11 18:26:45 +02:00
Sergio Ahumada
3ef6cf060e Merge branch 'stable' into dev
Conflicts:
	qmake/generators/mac/pbuilder_pbx.cpp
	src/corelib/json/qjsonwriter.cpp
	src/corelib/kernel/qeventdispatcher_blackberry.cpp
	src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm

Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
2013-07-11 16:42:01 +02:00
Jake Petroules
cf10131d44 Refer to Apple products by their actual names.
This is a comment-only change.

Change-Id: I2432b1135ef21d781c9486df06699710f2696ee3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-07-10 17:32:48 +02:00
Stephen Kelly
aae0a2144d Always use forward slashes in paths passed to cmake.
Otherwise it issues many warnings.

Change-Id: I072afc65eed3f2549e5e5894f8d290c792025e4c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-10 13:05:01 +02:00
Stephen Kelly
a3dfb4db5f CMake: Fix handling of insignificant_test.
The test should still be run, even though it is insignificant.

Change-Id: I6a3853e2b0e9670152b4f329dbceed2986a7e008
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-10 07:02:10 +02:00
Oswald Buddenhagen
23e8fa55b4 don't pass -indexdir during prepare_docs phase
the forward-referenced directories don't exist yet, so we get pointless
warnings. in fact, this is why we do a multi-pass build in the first
place, and consequently using indexes during the first pass is
illogical.

Task-number: QTBUG-32152
Change-Id: I66bf6b43238827e87cb8bf6932d581b808c1032d
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-07-08 17:36:45 +02:00
Oswald Buddenhagen
6d8f7a8d34 make requirement for -private suffix explicit, take 2
the previous attempt broke ActiveQt, as it actually has public modules
without headers (they are provided by a common base module).
so explicitly mark the internal modules as such instead of applying
heuristics.

Change-Id: I8d8a2ee66f02c3444da2036a497e7f382f089f62
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-05 11:36:22 +02:00
Ray Donnelly
1bd8db01c4 Android Windows: Adjust to new SDK layout
Google moved dx.bat into a new build-tools/VERSION folder
meaning our dx.bat no longer found dx.jar. Fix this by
passing into our dx.bat, the location of the real dx.bat

Removed hardcoded 17.0.0 and %ANDROID_BUILD_TOOLS_REVISION%
path searches.

Change-Id: I91c12c01745d6f12edbd126102b8f06eba291402
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-07-04 21:39:24 +02:00
Joerg Bornemann
f1cdd4b297 add support for Visual Studio 2013
Add mkspec win32-msvc2013 and make VS 2013 known to configure and
qmake.

Change-Id: I6e63a4d679727a8a3f068f377956185996d72bce
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-04 12:54:58 +02:00
Sergio Ahumada
55bf01828a Merge "Merge branch 'release' into stable" into refs/staging/stable 2013-07-04 10:50:27 +02:00
Oswald Buddenhagen
77196b9dc3 correctly fix compilation of NEON_ASM sources
This reverts commit 1ef74a763a, as
assembler files in SOURCES break compiling with -pch, as we don't create
a respective PCH.

instead, compile assembler code with QMAKE_CC, not QMAKE_CXX.

the reason why this change is needed in the first place is not clear to
me, but i guess that CXX defines some c++-related macros when
preprocessing the file, which breaks further down the line. this is
counter-intuitive, as the g++ frontend should treat the same sources the
same way as the gcc frontend (differences should be limited the the ld
invocation).

Task-number: QTBUG-29765
Change-Id: Ic0116b3a5fa621f12ac41cadf3062ff00b538e85
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-04 08:01:41 +02:00
Stephen Kelly
4f5f9331d9 Add path to the headers in frameworks to the include dirs.
Task-number: QTBUG-32134

Change-Id: I30a2db3363d995ecb6e2b06c66080f7430174868
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-03 21:38:37 +02:00
Sergio Ahumada
645637cbdc Merge branch 'release' into stable
Change-Id: I982a86e1b99e3ae629e8c5667bc7bdf9f4018b2e
2013-07-03 18:33:26 +02:00
Oswald Buddenhagen
68fd6878ab make requirement for -private suffix explicit
if a private module was used without the suffix, it would not add any
include paths, but the library would be still added. as long as the
includes were written as <Module/private/Header>, this would not become
visible, as the public modules would add the common include path ...
however, this soon won't be the case for mac frameworks any more. this
change makes the problem visible early on.

Change-Id: I8b1a20313ad736cb49507f07fa623e9aa812f651
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-03 15:31:17 +02:00
Oswald Buddenhagen
de54d7bb29 headersclean: process private modules correctly
Change-Id: I51c8ee0db31b35e1d991411fe0b03da6665e9a84
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-03 15:31:13 +02:00
Stephen Kelly
bc03e80f9a Hardcode the VERSION reported by qmake instead of calculating it in cmake.
Change-Id: Ia83f995a64a56c845bbce1a90702a98fc83a1401
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-03 12:15:40 +02:00
Stephen Kelly
494c81e78a Add some return() to remove indentation levels.
Change-Id: I48dc013fece0f4758ad54342f97ed51b33a9c2ff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-03 12:15:33 +02:00
Stephen Kelly
efb592503a Add a unit test for testing Qt in its install location.
The Qt CI system runs the unit tests after installation, but
with the qmake in the build directory. This means that the
installed content is not unit tested. Add an additional cmake
unit test to test the files in the install location.

The new test is marked insignificant for now until the true
effect on the CI system is known.

Task-number: QTBUG-27315

Change-Id: If9f12e88cfc741946cfabc25dbf789a11a2af4b8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-02 23:08:54 +02:00
Tor Arne Vestbø
1510051dcc macx-xcode: Use correct replacement key for bundle identifier
The 'BUNDLEIDENTIFIER' key ensures that we generate an rfc1034
compatible identifier.

Change-Id: Ic5cefb8ae888d768dd793813e7ee3c23c9a5582a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-07-02 13:32:13 +02:00
Thiago Macieira
215f137e29 Restore header installation on Mac to always install to $includedir
We haven't fully agreed on whether headers should be in $includedir or
not for builds with frameworks, since frameworks carry their headers
inside. However, this change came too late for Qt 5.1 for us to assess
the potential impacts -- it's known to break at least the cmake files we
ship.

So restore the build to the way it was.

This is a partial revert of 6d61dfdbb7.
Partial because the old behavior was partially broken: it did not
install headers for release builds. Now we always install (and in
debug-and-release mode, we might do it twice).

Task-number: QTBUG-32134
Change-Id: Ib84879c5a148d3717d16a7a90b2f5735fb5d80be
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-07-01 17:13:17 +02:00
Wolfgang Bremer
539f90e971 Add the same flags for the c++ compiler as they are already defined for the c compiler
Change-Id: If3d42a6b3ad361c8a11b4eee8dd17be0e58d9192
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-07-01 14:15:48 +02:00
Frederik Gladhorn
cb6fec8515 Merge remote-tracking branch 'origin/release' into stable
Change-Id: I53112e20a65b7d706755b4a22622979f3b91a2c2
2013-06-28 19:18:10 +02:00
Oswald Buddenhagen
cb79be2076 remove qt_no_framework_direct_includes from qt build
only the include statements found in public headers are constrained to
work with this flag. our own c++ files and private headers can use other
styles, which this flag breaks.

Change-Id: Icb1ced17dc438083731049788ac28349c87ba7ef
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-28 15:43:04 +02:00
Oswald Buddenhagen
933ae0a087 install qpa headers into frameworks as well
they are a somewhat different kind of private headers, but follow
generally the same logic.

Change-Id: Ic6f42ed7061dde2ffd0e32b1d713354b58a20970
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-06-28 15:43:00 +02:00
Oswald Buddenhagen
a3feba6985 fix location of private headers in mac bundles
Change-Id: I2d9f117d4b25df878abc525499748ed1df9b9c18
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-28 15:42:55 +02:00
Tor Arne Vestbø
f7a7859a7e Deprecate Mac libc++ mkspecs
We handle C++11 and libc++ through c++11.prf now, so separate mkspecs
are not needed. Deprecating them allows us to remove them in a later
release.

Change-Id: I4e525f445aeab88c926fa62cedef6aa9b32a7f55
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-28 15:42:40 +02:00
Frederik Gladhorn
572200989b Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	configure
	mkspecs/features/create_cmake.prf

Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
2013-06-27 13:06:38 +02:00
Oswald Buddenhagen
505617b171 mac frameworks: don't create bogus symlinks
the entry for the normal headers already ensures that there is the
correct version symlink. having an entry for the private headers as well
is pointless, and in fact clobbered the symlink for the actual library.

Change-Id: I2403761bf006b7bfa490ce85c7b0e46d5ef203c0
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-26 17:22:11 +02:00
Thiago Macieira
6086ff01f5 Replace win32-icc/qplatformdefs.h with the MSVC one
There have been fixes done to the MSVC qplatformdefs.h that aren't
reflected in the ICC one -- specially the inclusion of
windows.h. Since ICC is never tested, simply defer to the MSVC one and
hope it's enough.

Task-number: QTBUG-30839
Change-Id: I3c22638cc7fac3399d3606b1583608e95208df6e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-26 12:37:53 +02:00
Frederik Gladhorn
1867ad741a Merge remote-tracking branch 'origin/release' into stable
Change-Id: I4c0ae2ac1c10d4d50c03625c802d981b7850ed6f
2013-06-25 23:25:35 +02:00
Frederik Gladhorn
851fae6dbe Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-06-25 14:31:00 +02:00
Oswald Buddenhagen
01270cf672 fix bundled header creation for debug builds
the only case where we want to skip copying the bundled data (which is an
optimization only) is the debug sub-build when we are actually building
both debug and release.

Change-Id: I1f3f67ccd9a64033b133ffaf58639cd9f7107c27
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-25 09:18:35 +02:00
Oswald Buddenhagen
6d61dfdbb7 disable non-framework header install also for debug builds
i see no particular reason why debug builds should still get
"normal" headers.

Change-Id: I3625648549e8c234a365bab26823190ed2219cdf
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-25 09:18:31 +02:00
Oswald Buddenhagen
7ea8c9d0f0 install private headers into frameworks
Task-number: QTBUG-31641
Change-Id: Ifadc380c0a8983b2be93194e2e2257494b13dff8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-25 09:18:25 +02:00
Oswald Buddenhagen
c0d5a4ee12 don't needlessly do QMAKE_BUNDLE_DATA+=FRAMEWORK_HEADERS
there is no point in adding a structure we don't actually define.

Change-Id: Ica43123f17eca6ebd4b5b7ec2526ebabef31c82a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-25 09:18:21 +02:00
Oswald Buddenhagen
7090d4a458 un-nest conditionals
it's cleaner, and it makes it possible to actually have a single else
branch.

Change-Id: I5ef917b678e2bd5a2face8ee19e942e5e952aa80
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-25 09:18:17 +02:00
Oswald Buddenhagen
d0e82ede55 mac framework build: always set QMAKE_FRAMEWORKPATH
don't mess with the -F linker flag manually. qt headers include other
headers via the canonical Module/Header syntax, which means that the
compiler also needs the -F flag. QMAKE_FRAMEWORKPATH does exactly that.

Task-number: QTBUG-29003
Change-Id: I5f4af1a462697cd6996c54436ccdb9fc2b216020
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-25 09:18:13 +02:00
Tor Arne Vestbø
47ab2edd01 Make the macx-xcode spec a wrapper around the default spec
... except for MAKEFILE_GENERATOR = XCODE. This means the spec no longer
hard-codes g++, and will work regardless of whether the default spec was
clang or g++.

This require us to set QMAKE_XCODE_GCC_VERSION properly for GCC, so that
additional compilation flags passed by Xcode will match the actual
compiler used.

Task-number: QTBUG-31713
Change-Id: If65140a7471cd16f483036742f1d5b86d0485c52
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-24 18:22:34 +02:00
Tor Arne Vestbø
d668e19271 Scope cached Mac SDK tool values by mkspec
Otherwise doing stuff like -spec macx-g++ when the default spec is clang
will not have an effect on the tools used.

Change-Id: Ia2769abfdd8c19f79d427b9f09707430e736305a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-24 18:22:34 +02:00
Frederik Gladhorn
88211af86c Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-06-24 15:14:55 +02:00
Tor Arne Vestbø
d0d158f092 Mac: Ensure that C++11 is always used when linking against a static Qt build
If Qt was built with C++11, it links to libc++, and we need all projects
that use Qt to link against the same library.

Technically, we could do QMAKE_LFLAGS += -stdlib=libc++, but that hasn't
been tested enough without also enabling C++11, so we keep the
relationship between the two for now.

Change-Id: Ic628bcbade60cc82f93707f372c2119c24d9dc8a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
2013-06-24 14:51:50 +02:00
Stephen Kelly
6fa9394c81 Generate the directory for the mkspec include in a helper file.
The cmake variable for the mkspec dir must specify the source
location if used in the build dir, and must specify the install
location if used in the install dir.

Change-Id: I2fee8cd0c7198e9fc5cbb63972e20c75636672d1
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-06-21 18:58:54 +02:00
Stephen Kelly
91ca90d896 CMake: Fix test for value starting with -L
Change-Id: I02ba45beca09c2eb1b1fbdc2a8f6efbc783bd72d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-21 18:22:00 +02:00
Frederik Gladhorn
6213b81457 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
	src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp
	tools/configure/configureapp.cpp

Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
2013-06-20 16:45:12 +02:00
Frederik Gladhorn
533820320c Merge remote-tracking branch 'origin/release' into stable
Change-Id: I94bb158562ae6b80a87b40139d7302ea7b9b9aa8
2013-06-20 16:13:38 +02:00
Oswald Buddenhagen
172fa29dff fix LD_LIBRARY_PATH manipulation in uic calls not being make-escaped
the evaluator has the bug that function arguments are inherited.
work around that by passing an explicitly empty 3rd parameter to
qtAddTargetEnv().
proper fix upcoming in less critical branch.

Change-Id: Ic45cc890abaa6271985590d4ebe02c96bff6dec4
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-20 12:49:14 +02:00
Oswald Buddenhagen
1ebef55cf7 remove pointless return code checking
qtAddModule() always returns true anyway.
the real checking is done by qtAddModules() and qtAddLibrary() itself.

Change-Id: Ieed821acc36dc57ca52aec3e6b2dd6513be9b6c1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:43:41 +02:00
Oswald Buddenhagen
7d4980f3ee make use of QT_MODULES to simplify code
Change-Id: I1124088f807023faf678e030cfb1fc4a4c8b40d7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:43:34 +02:00
Oswald Buddenhagen
17c38b25f4 fix rcc & uic .depend_commands
unlike the .command, the .depend_command is not executed by make via its
chosen shell, but qmake itself via the system's native shell.
consequently, it needs different path separators and no make-escaping.

Task-number: QTBUG-31289
Change-Id: I480f815753632db6e8d4725f463f8a1fc59680a6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-15 21:39:34 +02:00
Oswald Buddenhagen
9d48f14a3c always $-escape make commands
nmake needs %-escaping in addition to $-escaping, not instead.
this has little practical impact, so it went unnoticed.

Change-Id: I144b6142eec0151d83a22e0ac5ead7b0415cdafa
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-15 21:39:22 +02:00
Oswald Buddenhagen
c932f2cc13 fix command over-escaping in vcproj files
the vs ide executes the commands verbatim, so they must not be
make-escaped.

Task-number: QTBUG-31289
Change-Id: Ie73fd5c4da5527c2d10bc94ccdf60f8a1ca21351
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-15 21:39:17 +02:00
Oswald Buddenhagen
13e01fda19 assemble the tool commands at use time, after all
the precise syntax depends on what exactly the command is used for, so
we need to resolve it at the last moment. see followup commits.

This logically reverts commits 6f4ff81380
and 731e6bece5.

Change-Id: If285c91d7521069be86d32593b5c2ae2027b3038
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-15 21:39:12 +02:00
Stephen Kelly
703cca8bb7 Adjust the cmake files to find the dlls in the bin dir.
Change-Id: I840f963c3648d123b31f79aa2c8902c0ad74e982
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-06-15 19:04:53 +02:00
Frederik Gladhorn
9b102e953f Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-06-13 10:05:49 +02:00
Frederik Gladhorn
e2776b44a0 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/plugins/platforms/cocoa/qcocoamenubar.mm

Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
2013-06-12 19:17:07 +02:00
Oswald Buddenhagen
23d8a7fb23 don't copy/symlink doc/global to build dir
instead, use the files directly from the source dir.

Change-Id: I03b728c66de6e03cade6dc153dcc78cea8e3f606
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:28 +02:00
Frederik Gladhorn
be4b80af82 Merge remote-tracking branch 'origin/release' into stable
Change-Id: If29ca1b27da4592d40a7678837c359f75dac1209
2013-06-12 14:43:55 +02:00
Tor Arne Vestbø
5c8aa27111 iOS: Remove need for separate qtiosmain library
We can combine the hybrid and non-hybrid use-cases into a single static
library if we are careful about which symbols are included in which
object files. By limiting the main() and qt_user_main() functions to
their own translation units, the linker will only pick them up if they
are missing at link time (the user's program do not provide them).

This technique is resilient to the -ObjC linker flag, which includes all
object files that implement an ObjectiveC class or category, but will
fail if the -all_load flag is passed to the linker, as we'll then have
duplicate symbols for either main() or qt_user_main(). The latter should
not happen unless the user provides the flag manually, and in the case
he or she does, there's ways to work around it by providing less global
flags such as -ObjC or -force_load.

Change-Id: Ie2f8e10a7265d007bf45cb1dd83f19cff0693551
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-12 12:35:02 +02:00
Tor Arne Vestbø
e99fc91c58 iOS: Remove need for -force_load of platform plugin
Instead of force-loading the whole static library of the platform plugin
we tell the linker to look for the missing symbol qt_registerPlatformPlugin.
This symbol is provided by the same object file as the plugin's static
initializer, so the object file is included in the final binary and
the static initializer is run, resulting in the plugin registering with
Qt.

We could have marked the actual static initializer wrapper provided by
Q_IMPORT_PLUGIN(QIOSIntegrationPlugin) as undefined, but due to the C++
mangling this would look less intuitive on the linker command line than
the custom dummy function that we provide, which has C linkage.

Change-Id: I6805537e1f49260a41d48c555376964cb1fe75d8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-12 12:34:44 +02:00
Oswald Buddenhagen
6bf5ef044f remove overquoting of extra compiler arguments
qmake automatically escapes the ${expandos}.

Change-Id: If74b6d2f2c68ff50785fdcbb66351122a273051f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 10:10:50 +02:00
Oswald Buddenhagen
7f6c864157 remove overquoting of extra compiler commands
the commands are already quoted appropriately for the shell.

Change-Id: I746bb5fba2cd6548c5dc7ef81087c69a200ecbb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 10:10:47 +02:00
Oswald Buddenhagen
aa3f1cc8c6 fix QMAKE_COMPILER fallback for clang specs
in the actual specs, we also set 'gcc' for clang.

Change-Id: Ifc6b27d56596f34c944205795d665f545d090f80
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2013-06-12 10:10:44 +02:00
Stephen Kelly
1937012b3e Don't test existence of private header directories for mac frameworks
These directories are not currently part of the Qt installation for mac
frameworks.

Task-number: QTBUG-31641

Change-Id: Ifef372cc2ebb692f9ae5a7b1f8dba5f683d1e7eb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-06-10 23:29:49 +02:00
Stephen Kelly
e1109df7a9 Remove the use of CMAKE_FIND_ROOT_PATH.
This is actually a list in CMake, not a value to be prepended
to paths. Specify the QT_SYSROOT instead to root the location
of include directories. CMake will soon get a CMAKE_SYSROOT
variable which will replace this.

Change-Id: I239f69f127f3676a3835aa4f29638f44ef209819
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-10 23:29:40 +02:00
Fawzi Mohamed
d7b79ff3ef mkspecs/qml_plugin: adding -nonrelocatable flag to qmldump call
nonrelocatable adds the full uri to the exported type information
which is the correct thing to do for the qt plugins (and 99% of
the cases).
This way import bla.x 1.0 works correctly in the code model.

Change-Id: Ia06873dd8b2ea4627e3297a98e8df87275ceaf73
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-10 23:29:36 +02:00
Oswald Buddenhagen
4fd568fa06 redo include path logic for pre-generated headers
make the include dir in the source tree the "main" include path, as
that's where the majority of the headers is. then selectively add the
shadowed dirs.

Change-Id: I03ad13cfcf77175c141b94d41b1221740d851faf
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-10 21:12:29 +02:00
Oswald Buddenhagen
f3331e14e6 reshuffle path setup
rename MODULE_PROFILE_DIR to MODULE_BASE_INDIR.
force MODULE_BASE_OUTDIR to be always the shadow of the above.
rename MODULE_BASE_DIR to MODULE_SYNCQT_DIR (the former is still
recognized for backwards compat with webkit).

the idea behind these changes is making the variable names and override
possibilities reflect their actual use.

Change-Id: Ica4062d7231a0ce13241670e0d0f43e6b1b97160
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-10 21:12:24 +02:00
Oswald Buddenhagen
81b942f0d1 use correct variable for library base path
Change-Id: I6d621db2c4d5365a9c9a7284026b464e663a4cc6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-10 21:12:20 +02:00
Oswald Buddenhagen
f533941179 update some comments relating to forwarding module pri files
Change-Id: I3486f949fee2ac977e3cde669188790e5f4b3167
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-10 21:12:17 +02:00
Oswald Buddenhagen
366d276f8c allow modules to extend their MODULE_{,PRIVATE_}INCLUDES
Change-Id: I5e401edbe891846579cf6d9ff84427d16783923b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-10 21:12:09 +02:00
Frederik Gladhorn
75067b56fa Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-06-10 19:54:53 +02:00
Thiago Macieira
bea3ae7669 Add QMAKE_NM to the mkspecs
We'll use nm to get the listing of symbols in the next commit.

The -P option is "portable", which sounds like a good idea. I don't
have access to any of the commercial Unix systems, but I do remember
them printing a different format than GNU binutils's nm.

Change-Id: If6f80624bedaf2b1dabf608e16aa097d9910d739
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-10 16:46:06 +02:00
Thiago Macieira
3ad3939f72 Add objcopy to MinGW's mkspec
Change-Id: I03442f65e281751c8353eca8b987026e9be2437f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-10 16:46:01 +02:00
Frederik Gladhorn
0eff16611f Merge remote-tracking branch 'origin/release' into stable
Change-Id: I89c251999ae2a82522b40471fd13f2e06b00ece8
2013-06-10 10:00:34 +02:00
Stephen Kelly
04830dbcb2 Strip the -L dirs when processing GL dirs for the CMake files.
The generated cmake files expect only the names of libraries, so the
existence of directories causes erroneous fatal errors when attempting
to use Qt5Gui, if pkg-config returns a -L entry from

 pkg-config --libs egl

Change-Id: Iec50b4be68ab643c3c02abce2435a98e69955138
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2013-06-06 09:08:41 +02:00
Frederik Gladhorn
248420904f Merge remote-tracking branch 'origin/release' into stable
Change-Id: Ic6e1ae60f891a6b2b568936204d2e84db4177fb4
2013-06-05 15:44:22 +02:00
Oswald Buddenhagen
07337def65 don't add absent private include paths to non-git builds
all private headers are created by syncqt (and are thus in the source
dir), so we can simply override the normal (build dir based) paths
instead of extending them.

Change-Id: I9c1f3344c401b481b3f3d2295515f1aabffaa9a0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-05 10:39:47 +02:00
Oswald Buddenhagen
53698f3e7c fix non-git non-shadow non-prefix non-qtbase builds
these builds usually assume all headers in the qtbase build (== source
== install) dir, so the path for adding our pre-generated per-module
include paths needs to be triggered explicitly.

Change-Id: I57ec441d58cdf8186907ee6c36dce08daa206c49
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-05 10:37:29 +02:00
Frederik Gladhorn
80604a0786 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/global/qglobal.h
	src/plugins/platforms/cocoa/qnsview.mm

Change-Id: I6fe345df5c417cb7a55a3f91285d9b47a22c04fa
2013-06-04 19:34:36 +02:00
Oswald Buddenhagen
0a1b89bff5 run syncqt only for builds from git
the logic in the configures was even trying to express that, only that
nowadays we always ship syncqt, so the tests were kinda pointless.

this frees us from the perl dependency for non-developer builds of
packaged modules (except for webkit, which needs almost every scripting
language on earth anyway).

obviously, this requires that the packaging scripts run syncqt in the
source dir before tarring up the sources. note that for repositories
other than qtbase, the -version argument needs to be passed to syncqt.

Task-number: QTBUG-29465
Change-Id: Ic929ab17a5de4b30fbf48b3aa9bfa3b4d2ef37d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:47 +02:00
Oswald Buddenhagen
96557bc389 move module master header generation back to syncqt
now that we split out the part that depends on the project file, we can
do it cleanly here.
this way we can generate these headers at pre-build time already.
and for git builds, perl is probably faster than qmake at this task.

Change-Id: I343255c6de22329471a3ae2c2aac9ebeb160a501
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:42 +02:00
Oswald Buddenhagen
0519129c59 split out dependencies from module master header
this will allow us the create the dependency list in a different way
than the rest of the master header.

Change-Id: Ib083fbbf6194cd9a161d669f860aaf32fd96d9d4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:39 +02:00
Oswald Buddenhagen
f4e5290709 remove pointless quoting of MODULE_*INCLUDES assignments
it would only cause trouble further down the line.

Change-Id: Ied9ba8a1ecf36b77e1091c73564bd7601ea6a6b4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:35 +02:00
Oswald Buddenhagen
5d8b8eed90 move module version header generation back to syncqt
there is no particular reason for it being done by qmake.
avoids that the logic is distributed over two source files,
and allows us to generate these headers at pre-build time already,
including not forwarding to a yet unexisting file (which would have a
yet unknown location).

Change-Id: I9c78ab425cf6f01d076c86fd1ee602626f231487
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:25 +02:00
Frederik Gladhorn
883951928f Merge remote-tracking branch 'origin/release' into stable
Change-Id: I0a8fe79a80b7720f76e3c0b03cc2c9a769d4009b
2013-05-31 13:47:45 +02:00
Eskil Abrahamsen Blomfeldt
681da4feb3 Android: Fix Windows build with recent SDK
Since the dx tool has moved in the SDK, we need to update our copy
of it to also search in the new location for dx.jar.

Task-number: QTBUG-31405
Change-Id: If093a9f51f33c5d8666919f516a3b336322a7169
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-05-31 11:43:37 +02:00
Thiago Macieira
3523c9e138 Support setting the library-search environment on a few more OSs
Most Unix systems will honor LD_LIBRARY_PATH (all ELF-based systems
definitely do), so let's not make it an error if the user isn't
compiling on Linux or FreeBSD. The only known exception are Darwin /
Mac OS X and AIX. For everything else, cause an error.

The list of unames came from: http://en.wikipedia.org/wiki/Uname.

AIX does not use ELF, so its variable is called LIBPATH:
 http://publib.boulder.ibm.com/infocenter/forms/v3r5m0/index.jsp?topic=/com.ibm.form.api.configuring.doc/api_configuring_unix_path.html

Change-Id: I67055e6a231aa1430d91431e7cab5f98f0e1bd95
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-31 08:05:33 +02:00
Eskil Abrahamsen Blomfeldt
680b6b2192 Android: Compile jar file on Windows
Due to the way the DEX_CMD is formatted on Windows this would break
every time. Since we actually bundle dx.bat in the repository, there's
no need to check for its existence, so the easy fix is just to move
the existence check into the code path where it's run from the SDK.

Task-number: QTBUG-31405
Change-Id: If1aeb744d3abbd2488153b13aac401436965074e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
2013-05-28 19:56:44 +02:00
Oswald Buddenhagen
8ea19caacf add -compile-examples configure option
this overrides the magic that makes examples only install their sources
in production builds.

packagers may want to force the build of the examples, so they can
package them up for demo purposes.
this is actually why we formerly had the split between demos and
examples ...

Task-number: QTBUG-30788
Change-Id: I5633f69404c5aa6846f5496e8f161a273a7a7da3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-26 10:09:58 +02:00
Frederik Gladhorn
d3a8bc803c Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/io/qdatastream.cpp
	src/corelib/io/qdatastream.h
	src/corelib/json/qjsonwriter.cpp
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/xcb/qxcbkeyboard.cpp

Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
2013-05-23 21:27:07 +02:00
Christian Strømme
77c0216369 Android: Added the attribute "extends".
Enables us to detect if a library should be added as a dependency or not.
E.g., libQt5MultimediaQuick_p should only be added as a dependency if an
application is using both QtMultimedia _and_ QtQuick.

Task-number: QTBUG-30861
Change-Id: Id62642c40e2ecca7149d249f65c7b0c950898374
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-05-22 23:31:46 +02:00
Eskil Abrahamsen Blomfeldt
2cde2fca6f Fix Qt for Android build with recent SDK bundle
In the recent revisions of the Android SDK bundle, the dx
tool has moved from platform-tools/ and into
build-tools/<revision-number> where revision-number is 17.0.0 at
the moment. To enable building on these SDKs, we add
detection for the dx tool and an environment variable which
can be set to override the revision number to provide a way
to build it against future revisions as well.

Task-number: QTBUG-31199
Change-Id: I0d6a22163dc2e50f7a81cd3fe8f3d53c6335aaee
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-05-21 15:24:13 +02:00
Stephen Kelly
c2f2c8a4e7 Check that files we expect to find actually exist when using a cmake package.
Change-Id: If7c724daa85df5e29e410b8deb4e69beb43ee8ea
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-20 15:20:26 +02:00
Ray Donnelly
f1d1b8219c MSYS: use cp -f for QMAKE_INSTALL_*
... in mingw-using specs because msysgit
doesn't provide install.exe and Windows
doesn't care about Unix permissions anyway.

Task-number: QTBUG-31147

Change-Id: Ic8032ca1a970ef41381852b6c5c372b805a124f1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-05-20 10:06:04 +02:00
Stephen Kelly
b911e058fa Only generate entries for private include dirs if they exist.
Change-Id: I1d745adfbae371f8f1f76e954be98f4c2fd962e0
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-14 18:12:20 +02:00
Oswald Buddenhagen
2b3055f7dc remove qtPrepareTool()'s ability to run batch files
it was only meant to automatically support syncqt.bat, which is gone
now.

fwiw, invoking batch files from within msys Makefiles was broken to
start with, as sh cannot directly run them.

Change-Id: I435568c578ce79e46f4e230e985ca9a04b34ffff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-05-13 21:54:55 +02:00
Oswald Buddenhagen
2c033e00d4 remove pointless extension check from qtPrepareTool()
we never call it with an explicit extension, so this only complicates
matters.

Change-Id: Ib15180130359bb9575bf5dda564f8b817431618f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-05-13 21:54:52 +02:00
Oswald Buddenhagen
8a78225a33 make qtPrepareTool recognize perl scripts by extension
this makes it possible to directly execute perl scripts on windows.

Change-Id: Ibbb90d46518ea8ac4f695d07141700630b33fab3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-05-13 21:54:46 +02:00
Oswald Buddenhagen
8739487b1c install host libraries into -hostprefix
... and introduce -hostlibdir configure option for symmetry.

the libraries built for the host have no business in the target prefix.

in principle this code would even support dynamically linked host
libraries, but that's currently unused.

Task-number: QTBUG-30591
Change-Id: I8e600fa4911a020fb0e87fbf7ef2f35647c7c4d5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Ivan Romanov <drizt@land.ru>
2013-05-13 21:54:40 +02:00
Tor Arne Vestbø
1308aa25fb Cache Xcode and SDK settings in .qmake.cache if it exists
The Xcode and SDK settings are expensive to resolve, as we're using
system() calls to resolve them. We now try to detect the presence of
a .qmake.cache file (and inform the user that creating one would be
a good idea), and use the file to cache the various settings after
resolving them.

The Xcode logic had to be moved form xcode.conf as part of the mkspec,
into default_pre/post.prf, so that we could cache() the resolved values.

Task-number: QTBUG-30586
Change-Id: Ib5368cfee6f7e4a4a33f6be70d0e20d96896fe56
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-08 14:07:41 +02:00
Stephen Kelly
3483336889 Only expect EGL libraries in the cmake files if Qt is configured to use it.
Change-Id: Ida382a80dba882bbeb920756adc0c16321efe37e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-07 22:43:14 +02:00
Joerg Bornemann
b378d8ca10 set QMAKE_PLATFORM in win32-msvc2012
Change-Id: I3f43ece757b6f483fde256dbcc00f72b4e71c33e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-07 15:03:03 +02:00
Joerg Bornemann
ca354843c8 qmake/vcxproj: add WIN64 macro for x86_46 builds
The compiler defines _WIN32 for x86 builds.
The compiler defines _WIN32 and _WIN64 for x86_64 builds.

For consistency, the same should happen to the user defined macros
without underscore. The WIN32 macro is added in the win32-* mkspecs.

Task-number: QTBUG-30223

Change-Id: I342afed731f4ba253a2708b98f575039a04613d7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-07 15:02:59 +02:00
Joerg Bornemann
267dc53ea7 fix _WIN32 compiler defines for MSVC
The compiler defines _WIN32, not WIN32.

Change-Id: I359a188b4ef145b7b78c35c5b72a804200b76507
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-07 15:02:55 +02:00
Sergio Ahumada
db44b891fb Merge branch 'stable' into dev
Change-Id: Ica003a10ede86914bbbb062a2dc277a2ce39a259
2013-05-07 12:02:41 +02:00
Eskil Abrahamsen Blomfeldt
522c7ba1ac Enable bundling Qt in Android package in build system
For bundling Qt, we need two things:

1. We need to build a regular .jar file out of the Java files,
so that they can be built into the app package. Dexing the
classes first (i.e. compiling the JVM bytecode to Dalvik
bytecode) is required for loading the .jar file at run-time,
but cannot be used for building it into the app, so we need
two different paths.

2. We need to specify which extra files have to be bundled for
each module (this is primarily for plugins and imports). This
is because there is no static dependency on these files, so
it cannot be detected during deployment.

Task-number: QTBUG-30751
Change-Id: I733603ee5d1c64bd7c5b9357eb5d993b9d0298f7
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-01 11:24:15 +02:00
Frederik Gladhorn
85e3c53e5c Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2a54058b64ac69c78b4120fdaf09b96e025a4c6c
2013-04-29 14:17:09 +02:00
Andy Shaw
3511b199dd Define QMAKE_CXXFLAGS_RTTI_{ON|OFF} for aix-xlc mkspec
Task-number: QTBUG-26393

Change-Id: I2d676ad6004c3fad2ef0a3ab990d6e120ed7f73c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-26 23:26:07 +02:00
Oswald Buddenhagen
940f7c8744 split qt_app.prf out of qt_tool.prf
this way we can use it for "regular" apps (gui tools) as well.

Change-Id: I3b00d0bde215dff1c2726b35626c4c0c256d92c2
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-04-26 19:15:25 +02:00
Oswald Buddenhagen
f1fd824ebb make src/ subdir optional
there is at least one examples-only repo (qtwebkit-examples).

we look for tools/ only when src/ is also present, based on the
assumption that if there was only tools/, it would be actually named
src/ (like in qttools). the split between the two is nowadays arbitrary
anyway.

Change-Id: I982b1d0e26dd7d0a5de751546099a58f86390124
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-04-26 19:15:21 +02:00
Oswald Buddenhagen
fda41c1857 groundwork for making "configure -nomake tools" sane
the idea is that "tools" actually means "graphical applications". that
means that all bootstrapped/build tools are consistently built,
regardless of their location in the source tree.
non-bootstrapped non-graphical tools are a bit of a grey area. it's
going to be decided on a case-by-case basis.

Change-Id: I28b959b7e659d8aa86cf6769ab6d2689c855ec6b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-04-26 19:15:17 +02:00
Stephen Kelly
3467320378 Don't list all QMAKE_LIBS in QMAKE_LIBS_OPENGL_ES2.
There is no need to, and it confuses the generation of cmake files.

Change-Id: I00c8751990e707cf32652babcb9af3e4b681561a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-23 23:22:43 +02:00
Stephen Kelly
839e275249 Use the CMake list separator for content in a CMake list.
Change-Id: I664c31d256d395d4afec81de66a84dc79ed10b9d
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-23 18:57:45 +02:00
Stephen Kelly
bc4fbcd215 Add IMPORTED targets for the GL libraries used by Qt.
There may be multiple libraries specified in the mkspec, such as
EGL and Mali, as used in devices/linux-sh4-stmicro-ST7108-g++, so
create an imported target for each one. Also populate the
Qt5Gui_EGL_LIBS variable with all created imported targets. Similar
variables are created for the used OPENGL implementation.

In the case of using the packaged ANGLE library, we already know the
exact locations of the binaries.

This makes it possible for third parties to use the same GL
implementation as used by the Qt build itself. As these are used only
privately by QtGui, they are also added to the DEPENDENT_LIBRARIES
of that target so that they are found for rpath-link usage.

On some platforms (eg Raspberry Pi), multiple include directories must
be set to include egl.h, as the headers it includes for vcos are a
bit scattered.

Task-number: QTBUG-29132

Change-Id: I1126da3d37cd51c88d3670347c8b6405b285efb5
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-22 18:35:52 +02:00
Frederik Gladhorn
4c231d5df3 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I059725e3b7d7ffd5a16a0931e6c17200917172b5
2013-04-22 16:35:43 +02:00
Oswald Buddenhagen
561e39a845 purge obsolete files
the warnings should have been acted upon before 5.0.

Change-Id: I20a4673d7ec80e0252aa39289c6718fe80799de7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-04-19 20:10:46 +02:00
Stephen Kelly
a680fe609f Add the GL headers to cmake variables.
If building angle ourselves, that's just the basic Qt include dir,
and if using an external gl, look for it in the places specified
in the mkspec.

As the qopengl.h header includes the gl header, this is a 'public
include dependency' of QtGui, so it is added to the relevant
variable and the INTERFACE_INCLUDE_DIRECTORIES of Qt5::Gui.

Change-Id: I8c2c1782e0a2600032771175444b087da28433fc
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-19 12:03:36 +02:00
Stephen Kelly
5aa349628e Handle usr-move without forcing absolute paths
In qtbase commit 7ac58d1ff0 (Make cmake
packages installed to /usr non-relocatable., 2013-02-11), we made
cmake config files non-relocatable if they were installed to
the /usr prefix. That was assumed to mean that this was a distro
or platform package, and was a workaround for the usr-move problem
on Fedora and ArchLinux.

However, cmake bug http://public.kitware.com/Bug/view.php?id=14041
showed that forcing absolute paths in this situation is not desirable
in cross compiling scenarios. CMake commit 6c613b433c45efb0bb013a6bd668cbb8ac740259
(Handle usr-move without forcing absolute paths (#14041), 2013-04-03)
addressed the problem in CMake, and this commit is an equivalent.

Change-Id: I065a6230bc618aa980fae6ca511ae10df4cd62c2
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-19 12:03:36 +02:00
Tor Arne Vestbø
8e27fcb3fe Harden check for SDK platform name on Mac OS
We now use an absolute path, to prevent picking up the wrong plutil binary.
In addition we pipe the possible stderr output of plutil and xpath to the
null device, so that the final QMAKE_MAC_PLATFORM_NAME will be empty in
case of any errors, and caught by the isEmpty() check below.

Change-Id: I8ad24bf63162a76410c2ae223dd2fc48e7886bbf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-18 22:02:18 +02:00
Ray Donnelly
e345b35ee4 Android: Fixes for building under MSYS.
Need to set MINGW_IN_SHELL to 1 and QMAKE_DIR_SEP to /

Change-Id: If470f1a4617555d6bc551e8cdf917779d0e64e62
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-17 20:10:27 +02:00
Frederik Gladhorn
94758589fe Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-04-17 10:28:21 +02:00
Stephen Kelly
0084272c5c Don't use the CMake MinGW if cross-compiling.
This way, the default generator is used when cross compiling
for mingw.

Change-Id: Ie536f1bca35ea38aec1232cdd95fc063c4f23e70
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
2013-04-16 19:45:11 +02:00
Tor Arne Vestbø
35d0e9b66f iOS: Don't mangle QT_ARCH when being more specific about what arch to build
On iOS the compiler expects archs like armv6, armv7, armv7s when passed the
-arch flag, or when the ARCHS Xcode variable is set. Instead of mangling
QT_ARCH, which is used other places and assumed to match the values
provided by the arch.test, we use our own variable.

Change-Id: I05e10be8d69dd4d7cbcef04640fef99f1efb253d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-16 09:01:32 +02:00
Bjoern Breitmeyer
59f1152ec7 added QMAKE_EXTENSION_STATICLIB to wince mkspec
Qmake requires the information which extension is
used for static libs on a platform. As the ci for
windows ce is pretty new, this was not noticed before.

Change-Id: I45b0c9c59980cd352371c00aa59502e5a394e337
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
2013-04-15 15:32:40 +02:00
Samuel Rødal
b64c9a89da Added qtwaylandscanner rules to wayland-scanner.prf
In preparation of change in qtwayland.

Change-Id: I337ea9f48bf692f31e406c47d9256ee0263d33f0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-04-15 13:17:26 +02:00
Tor Arne Vestbø
78f3c1fb8e Make QT_CPU_FEATURES a map of features based on architecture
For now there's only one architecture per host/target, but
this will change once we start detecting the CPU features
for both device and simulator on iOS.

For convenience we set QT_CPU_FEATURES to the resolved
value of the current architecture, so that simd.prf still
can use QT_CPU_FEATURES directly.

Change-Id: I28e8b339a5c30a630e276165254dba09a3da6940
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-13 18:36:46 +02:00
Tor Arne Vestbø
c002a27426 iOS: Don't quote -force_load, it broke when generating Makefiles
Instead we pass the -force-load as a single argument to the linker,
which is not mangled/touched by either the Xcode or Makefile generators.

Change-Id: I72e17638f0a4a8308a352d4b2033c1b5a9b65b84
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-12 14:16:36 +02:00
Frederik Gladhorn
aa3754d105 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Iee73c93067c5822d8dd51a8692e6da9df4ba49f5
2013-04-12 12:53:13 +02:00