Commit Graph

2769 Commits

Author SHA1 Message Date
Tor Arne Vestbø
a88645c6f4 macOS: Share deployment target and device arch config between makespecs
Change-Id: Ie06705590b4962d8b09b97e30625ef11af321763
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-08-23 13:09:46 +00:00
Liang Qi
7533156b68 Merge remote-tracking branch 'origin/5.11' into 5.12
Conflicts:
	src/gui/text/qtextengine.cpp
	tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
	tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h

Change-Id: Ib9f968edbb0f3387c89bc25e914321d0738bfadc
2018-08-22 10:35:12 +02:00
Alexander Shevchenko
2d3098f77c Fix qtbase build for Windows ICC with MSVC 2017 15.8
After 0ef66e98cc was merged, the same should be done to
Windows ICC toolchain.

Task-number: QTBUG-69997
Change-Id: I1d76d8b59f87151a9064d9f7dcc3136dc1215633
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-08-20 11:42:59 +00:00
Oswald Buddenhagen
89f2a731cf qmake: add default path and version detection for ghs toolchain
Change-Id: Ic35f3e25078909e212864218835663989f647aae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-08-17 15:07:00 +00:00
Oswald Buddenhagen
32b4cb1b54 qmake: remove pointless input redirections from compiler calls
Change-Id: I1b5d2b33ec62d24f1d6a9bd155bf3f28ab8bbf4e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-08-17 15:06:53 +00:00
Liang Qi
8559bf934d Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	src/corelib/global/qconfig-bootstrapped.h
	src/plugins/platforms/xcb/qxcbbackingstore.cpp

Done-with: Gatis Paeglis <gatis.paeglis@qt.io>
Change-Id: I4af138ffb2f5306373244523768209e8873b2798
2018-08-16 18:48:59 +02:00
Oswald Buddenhagen
9742ee681b configure: fix passing of -L and -F to configure tests
the global flags are deprecated in favor of per-library paths, but they
obviously should still work. but apparently no-one cares, because there
isn't even a bug report about it ...

amends 90eee08b3.

Change-Id: I85aee41ca11de1715d1c750ae8e663093e012fb7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-08-09 17:11:17 +00:00
Qt Forward Merge Bot
053e7cce79 Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	.qmake.conf
	src/corelib/doc/src/objectmodel/signalsandslots.qdoc
	src/plugins/platforms/cocoa/qcocoamenuloader.mm
	src/plugins/platforms/xcb/qxcbconnection.cpp
	src/plugins/platforms/xcb/qxcbconnection.h
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/plugins/platforms/xcb/qxcbwindow.cpp
	tests/auto/gui/image/qimage/tst_qimage.cpp

Done-with: Gatis Paeglis <gatis.paeglis@qt.io>
Change-Id: I9bd24ee9b00d4f26c8f344ce3970aa6e93935ff5
2018-08-07 17:44:51 +02:00
Oswald Buddenhagen
133fb029a6 make it possible to override the basename of module config files
using qt$$MODULE isn't enough if the module is composed of submodules
which need the final module's headers, because that would require two
modules having the same module .pri file.

the first thought to fix this was to just use $$lower($$TARGET), but
that breaks for testlib (QtTest). while the config file name isn't
public api, it's included by a public header, so changing it is risky.

so instead stay with the original pattern, but make it explicitly
overrideable.

the cherry-pick is needed to support QtWebEngine 5.12 with Qt 5.11,
a requirement that was raised too late.

Change-Id: I758c46ed403620620d577ae16866ce751271b63e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 95b0e4c956)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-08-03 14:15:41 +00:00
Kai Koehne
780dc2291b Fix builds with some MinGW distributions
Some distributions do not define MINGW_HAS_SECURE_API globally,
resulting in methods like wgetenv_s not being declared in the
headers.

This is probably to keep compatibility with Windows XP. Anyhow,
we don't support Windows XP anymore, so we can safely add the
define.

Note that this is not necessary for the mingw-builds distro,
which is the only one we test and support. Anyhow,  I don't
see any risk in adding these for other distributions.

Diff was provided by Philippe Dunski in the bug report.

Task-number: QTBUG-67443
Change-Id: I3a64b11541fe95e527ed44bbf8ad94469d457d3d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-08-02 07:10:00 +00:00
Edward Welbourne
23c9d4c98f Merge branch '5.11' into dev
Conflicts:
	qmake/library/qmakebuiltins.cpp
	src/plugins/platforms/windows/qwindowstabletsupport.h
	src/plugins/platforms/xcb/qxcbconnection.cpp
	src/plugins/platforms/xcb/qxcbconnection.h
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/plugins/platforms/xcb/qxcbwindow.cpp
	src/widgets/styles/qstylesheetstyle.cpp
	tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp

Done-With: Gatis Paeglis <gatis.paeglis@qt.io>
Change-Id: I000b0eb3cea2a5c7a99b95732bfdd41507cf916e
2018-07-31 13:33:14 +02:00
Thomas Miller
0ef66e98cc Fix qtbase build for MSVC 2017 15.8
Fixed breaks caused by MSVC 2017 15.8 fixing std::aligned_storage.

Change-Id: I5adea18c184e34bbdc3bd294d034b97383ef08a3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-07-30 18:29:10 +00:00
Kai Koehne
01d2f35b69 qmake: Add support for running lrelease
CONFIG+=lrelease enables that all .ts files in
TRANSLATIONS or EXTRA_TRANSLATIONS are compiled by
lrelease.

EXTRA_TRANSLATIONS is a new variable that is only
processed by lrelease, but not lupdate - this
is useful for translation files that are supposed to
be empty, because they match the language of the
original translation sources.

If embed_translations is also set, the generated .qm
files will be made available through the Qt resource
system under :/i18n/. Alternatively, the user can
specify an installation target by setting
QM_FILES_INSTALL_PATH.

Note that relative paths in TRANSLATIONS are not taken
into account. That is,

  TRANSLATIONS = component1/de.ts component2/de.ts

will cause a conflict.

[ChangeLog][qmake] New CONFIG options lrelease and
embed_translations were added. CONFIG+=lrelease does
run lrelease on translation files listed in TRANSLATIONS
and EXTRA_TRANSLATIONS. CONFIG+=embed_translations does
include the generated .qm files as resources under
:/i18n/.

Change-Id: I94db5b8431d07b24f59b2c332ede91450f9c0c58
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-07-28 14:43:28 +00:00
Oliver Wolff
92c5f3fb7b Add qt_test_helper feature
To avoid (even more) duplicated code, "qt_test_helper" ensures the
policy of putting a test's helper application next to the test's
own executable.
The helper executable is suffixed with "_helper" to avoid name
clashes with its folder.

Change-Id: Ic50cb1daa257e7ffc75440c10a3b90fd39424683
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-07-25 05:17:47 +00:00
Oliver Wolff
64d63d036c Change tests' default installation folder from TARGET to folder name
Instead of having tests installed into a folder named like their
target, we now use their source folder name for the installation.

An upcoming patch will rely on this behavior and simplify creation
of tests that need helper applications.

Change-Id: I17d9ff15edf502d82ab698627189532b83e72546
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-07-25 05:17:41 +00:00
Oswald Buddenhagen
9b48b3514f qmake: add line-based mode for .depend_commands
Task-number: QTBUG-48919
Change-Id: I6988fb2f26fd62ab40eb7392ccb0e033ad291fe6
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2018-07-23 17:39:21 +00:00
Oswald Buddenhagen
6bc6e6d388 qmake: skip license check while building qt
configure already does it for qt itself, so it's pointless to ever invoke
in default_pre.prf.

to make the exclusion work during the makespec reload during early setup,
we pull ahead the restoration of CONFIG, hoping it won't cause too many
side effects.
another change in qt5 will ensure that top-level builds are also covered.
finally, configure tests also need an explicit exclusion.

that way, attempts to re-configure build trees of commercial builds
after the day of the first configuration do not fail anymore.

Task-number: QTBUG-63452
Change-Id: I42264f64d7621784d4d67bde885a8e501f5ca413
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2018-07-20 18:07:48 +00:00
Tor Arne Vestbø
87d5d14d10 qmake: Write correct Xcode project directory name to xcscheme file
The Xcode project name may be affected by e.g. the -o argument to qmake,
so we can't assume it's based on the target.

Change-Id: Ibb9f4265017ffcfe26bd8734758dcb30237c704f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-07-20 06:40:12 +00:00
Tor Arne Vestbø
8316131dab macOS: Don't try to install lldb debug script unless the module provides one
Change-Id: Ib22d2fdca6a4819c1b4056e3207940ceebfbe365
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-07-20 06:40:05 +00:00
Jarek Kobus
ff18b02f21 uic: Revert the microoptimization patch introducing QStringLiteral
This reverts the following commits:
d12d2949d1
26c3bec09b
49b08f96e8

We can't easily predict all code paths for QDesigner
with such a microoptimization. We also don't want
to generate three different string constructions
depending on some sophisticated heuristics.

[ChangeLog][uic] The -no-stringliteral option is now deprecated and
UIC will not generate QStringLiteral anymore.

Task-number: QTBUG-65251
Task-number: QTBUG-51602
Change-Id: I34a5a1934a8df19c5c84ac2ba8e5168ce5665037
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-07-19 12:38:45 +00:00
Andy Shaw
3c2ffd7457 macOS: Use QMAKE_BUNDLE for the app part of the bundle identifier value
If QMAKE_BUNDLE is set then this should be used for the bundle
identifier value instead of the product name. This ensures that when an
application provisioning profile is used that it will correctly match
against it. This also brings it in line with the documented behavior.

Change-Id: I627d212f59d862e7a881941748db5ef98ab4f463
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-07-18 16:58:47 +00:00
Qt Forward Merge Bot
1783fca897 Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/xcb/qxcbintegration.cpp

 Conflicts git missed:
	src/plugins/platforms/qnx/qqnxglcontext.cpp

Change-Id: I0582cdc9e66e43efe79038b9c43d4f9572ac88fc
2018-07-17 10:19:22 +02:00
Oswald Buddenhagen
3303715099 configure: pull ahead gcc-sysroot processing
the sysroot flags need to be established even before setting up the
spec, because as soon as that happens, toolchain.prf will try to
determine the default paths and cache them.

this also fixes sysroot use in toolchain flag support tests, which run
(somewhat) independently from the toolchain setup.

Task-number: QTBUG-63483
Change-Id: I7be1540e766dac58fb16f63176aa8d2879b51ae0
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-07-13 11:09:07 +00:00
Oswald Buddenhagen
6d0878db1b configure: move qtConfTest_verifySpec() out of qt_configure.prf
the callback is specific to qtbase/configure.json, so it belongs into
qtbase/configure.pri.

amends d90db0f136.

Change-Id: I905f985e2d3d2e42c4587cbacdea8dc3eb09a5be
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-07-10 15:19:44 +00:00
Thiago Macieira
c3a4ec5d0b SIMD: Add a haswell sub-architecture selection to our support
As the comment says, Haswell is a nice divider and is a good
optimization target.

I'm using -march=core-avx2 instead of -march=haswell because the latter
form was only added to GCC 4.9 but we still support 4.7 and that has
support for AVX2.

This commit changes the AVX2-optimized code in QtGui to Haswell-
optimized instead. That means, for example, that qdrawhelper_avx2.cpp
can now use the FMA instructions.

Change-Id: If025d476890745368955fffd153129c1716ba006
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-07-09 00:18:24 +00:00
Liang Qi
e3ed2281c0 Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	src/plugins/platforms/cocoa/qnsview.mm
	src/plugins/platforms/cocoa/qnsview_dragging.mm
	src/plugins/platforms/ios/qiosinputcontext.mm
	src/plugins/platforms/xcb/qxcbconnection.cpp
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/plugins/platforms/xcb/qxcbwindow.cpp
	src/tools/androiddeployqt/main.cpp
		Was moved from qttools into qtbase in 5.11.
		So re-apply 32398e4d here.
	tests/auto/corelib/global/qlogging/test/test.pro
	tests/auto/corelib/global/qlogging/tst_qlogging.cpp
	tests/auto/corelib/io/qfile/tst_qfile.cpp
	tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
	tests/auto/corelib/thread/qthreadstorage/test/test.pro
	tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
	tests/auto/widgets/kernel/qapplication/test/test.pro

Done-with: Gatis Paeglis <gatis.paeglis@qt.io>
Done-with: Mårten Nordheim <marten.nordheim@qt.io>
Done-with: Oliver Wolff <oliver.wolff@qt.io>
Change-Id: Id970486c5315a1718c540f00deb2633533e8fc7b
2018-07-02 11:23:45 +02:00
Paul Olav Tvete
9f1568d18c Fix QtWayland non-toplevel in-source builds
Tell qtwaylandscanner to export the symbols when we're building a
module. This is done by specifying the include directory on the
qtwaylandscanner command line.

Task-number: QTBUG-68773
Change-Id: Ib575222261831ab01eb43e6c7caefb07e314492b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-06-27 18:58:41 +00:00
Oswald Buddenhagen
9fde782695 configure: permit digits in variable assignments on the cmdline
Change-Id: I21e4f93b119d28fe30cb2436c76a03b67c78fe7a
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2018-06-27 17:22:02 +00:00
Johan Klokkhammer Helsing
a7730793be wayland-scanner.prf: Remove special-casing for generated headers
Generated headers can now be installed using inject_headers and private_headers
instead.

Change-Id: I51d98e2e05d12aa9f6ab09f8ccb12b81a0c0cd6f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-06-26 12:30:43 +00:00
Thiago Macieira
2cf5c5a602 SIMD: Remove unused (and unlikely to be ever used) AVX-512 profiles
"AVX512MIC" (Many Integrated Cores) is the set of AVX-512 features found
on the Intel Xeon Phi coprocessors (codename "Knights Landing"), which
is an unlikely architecture for Qt to run on.

The two profiles with VL came from study of early GCC code and are no
longer applicable. GCC source code now shows both VBMI and IFMA as part
of the -march=cannonlake feature set.

Change-Id: Iff4151c519c144d580c4fffd153a0f268919fe2c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-06-25 18:49:33 +00:00
Alexander Afanasyev
18d0a30727 Restore creation of '.pc' files
This is a partial revert of commit:6c5d227da1709eb81968823f38a133747c0e95b0

All credits to Martin Afanasjew <martin@afanasjew.de> for the original patch.

Change-Id: Ib66303505888c821fc43eca213b956ce76acbbfa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-06-25 10:24:40 +00:00
Morten Johan Sørvig
0e844eff19 Fix framework include paths in .pc files
The macOS framework build of Qt copies headers to each
framework instead of a centralized include location.
Update the .pc file generator to match this behavior.

Add two include paths to the .pc files:

  -Ipath/to/lib/foo.framework/Headers
  This makes #include <FooHeader> work.

  -Fpath/to/lib
  This makes #include <Foo/FooHeader> work.

Task-number: QTBUG-35256
Change-Id: I013ce161c904fe6b7bbb03e33c163d32fdda0647
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-06-25 10:24:37 +00:00
Kai Koehne
4c68e2558c Fix moc warnings with no_include_pwd and shadow builds
If CONFIG option no_include_pwd is set, moc does not add the build
directory to its include path. The path to the generated
moc_predefs.h file is by default relative though, resulting in
moc warnings:

  Warning: Failed to resolve include "debug/moc_predefs.h" for moc file xxx myheader.h

Fix this by always making the path to moc_predefs.h absolute.

Task-number: QTBUG-69087
Change-Id: I8ef79c8340f9ebd6b0bba15e026d65ef3c088535
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-06-25 07:20:46 +00:00
Thiago Macieira
b03a11301b Update the ICC x86 sub-architecture compiler options
By using -march= instead of -x, we turn on some other processor features
too. This was already the case for AVX2, which enabled all Haswell
features (notably FMA, BMI and BMI2).

Change-Id: If025d476890745368955fffd153126fc9eafc5d6
Reviewed-by: Alexander Shevchenko <sav_ix@ukr.net>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-06-23 20:16:35 +00:00
Alexander Shevchenko
305f57411d centralize ICC flags for *nix-systems toolchains
linux-icc and macx-icc toolchains contain a significant amount of code
which can be merged to a common configuration file.

as a side effect, such merge resulted in reduction a parts of
linux-icc and macx-icc toolchains to the common view.

Change-Id: I37d110734eeeb9bd61ca0aa942de380ac8e75f1c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-06-22 17:04:06 +00:00
Martin Storsjö
22e9ff9c16 mkspecs: Allow specifying a CROSS_COMPILE for mac/clang targets
This allows distinguishing between these tools and tools for the host,
when cross compiling.

While mac tools normally only are available on macOS, there are third
party efforts to port them to other platforms. In these cases, it
might be useful to use a prefix (either some sort of triplet prefix,
or an absolute path) to distinguish between the host build platform
compilers/tools and the ones for the cross target.

The use of this variable matches the one used in a lot of other
mkspecs, and shouldn't cause any issues for those who aren't setting
it.

Change-Id: Iaeba571d955ea79ed1249989fcc525eb1eaf1f5c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-06-21 11:55:20 +00:00
Liang Qi
ba75a16b41 Merge "Merge remote-tracking branch 'origin/5.11.1' into 5.11" into refs/staging/5.11 2018-06-21 11:41:09 +00:00
Kai Koehne
60e56f1679 Replace commercial preview license with Qt License Agreement 4.0
Do allow people to build from git using the Qt License Agreement 4.0.
The license agreement text is the same as in the installers, except
that some Unicode characters got normalized to their ASCII variants,
and things have been properly wrapped.

[ChangeLog][Licensing] The commercial preview license in the git
checkout has been replaced by the Qt License Agreement 4.0 text.
This makes it explicit that commercial customers of The Qt Company
can use the git version under commercial terms. However, support
is (still) only provided for builds from released branches of Qt.

Task-number: QTBUG-52222
Change-Id: I9e99b68e236a09610b798ba7a841e5a9d1ce6898
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-06-21 11:39:15 +00:00
Qt Forward Merge Bot
8eabb44f8a Merge remote-tracking branch 'origin/5.11.1' into 5.11
Change-Id: I9a4571ccf826a86e055dfbba23b5e5cbd8ea55e8
2018-06-19 13:12:48 +02:00
Thiago Macieira
6a89f89946 GCC: Disable the -Wmissing-field-initializers in GCC 4
Perfectly valid C++11 code trying to default-initialize an object with
{} is being warned. GCC 5 and up only warn if you initialize some fields
and not others.

qcborvalue.h:68:25: error: missing initializer for member 'QCborError::c' [-Werror=missing-field-initializers]
     QCborError error = {};
                         ^

Task-number: QTBUG-68889
Change-Id: I6efb28c3145047559ec0fffd1538577de250e283
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-06-18 01:51:37 +00:00
Oswald Buddenhagen
a85fe46753 configure: make splitting of CFLAGS specific to the pkgConfig source
as evidenced by things actually still working despite qmake_use.prf
not processing *_CFLAGS, this is not relevant for any makeSpec sources
any more, and was never relevant for other non-pkgConfig sources to
start with. localizing the code cleans things up.

as a side effect, configure won't emit a notice for dropped flags any
more, but will only log them to config.log. i think that makes sense,
as for the average user that would be only noise anyway.

Change-Id: Iaffde6474b786f5cbcbeac881850792563b74495
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-06-15 17:55:49 +00:00
Oswald Buddenhagen
eaa3417901 configure: dequote library sources asap
the json format uses single strings for library sources, as that leads
to less noisy source text. however, this implies the need for de-quoting
and subsequent re-quoting whenever the values are processed. so change
the internal representation to regular qmake string lists as the first
thing when processing the lib source, and re-quote only when outputting
the values.

CFLAGS are excluded, because we'll deal with them differently.

Change-Id: I4ab43d98085ea9f6601fd21ac2afb5bce4f7e2a9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-06-12 10:03:32 +00:00
Robert Griebl
8cc27590bd Make sure MODULE is set even when we are not creating a pri file
wayland-scanner.prf uses it as a trigger, so this is needed to make dynamic
non-prefix builds work.

amends 427e5d61b7.

Task-number: QTBUG-68773
Change-Id: Ia7d3bc39cb2b0f225e827f64eb17d061d594b265
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-06-11 14:52:12 +00:00
Thiago Macieira
3e201d645e MSVC: Enable the detection of C++14 and 17 in MSVC 2017 15.7
We need -Zc:__cplusplus in order to enable the __cplusplus macro having
the correct value. This causes configure to now print:

 Checking for C++14 support... yes
 Checking for C++1z support... yes

and

  Using C++ standard ..................... C++1z

Change-Id: I5d0ee9389a794d80983efffd152c95a4d9d8adbc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-06-11 07:43:57 +00:00
Robert Griebl
427e5d61b7 Add support for building QtWayland on macOS
Change-Id: Ibed63a01abf32e10a31c610996ae93d3bd9ce153
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2018-06-09 12:45:24 +00:00
Liang Qi
096e37910d Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	.qmake.conf
	src/corelib/kernel/qeventdispatcher_cf.mm
	src/gui/kernel/qguiapplication_p.h
	src/gui/kernel/qwindowsysteminterface.cpp
	src/gui/kernel/qwindowsysteminterface.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/cocoa/qnswindowdelegate.mm
	src/plugins/platforms/ios/qioseventdispatcher.mm
	src/plugins/platforms/windows/qwindowsdrag.h
	src/plugins/platforms/windows/qwindowsinternalmimedata.h
	src/plugins/platforms/windows/qwindowsmime.cpp
	src/plugins/platforms/winrt/qwinrtscreen.cpp

Change-Id: Ic817f265c2386e83839d2bb9ef7419cb29705246
2018-06-07 19:10:53 +02:00
Oswald Buddenhagen
fc5da399c3 Merge 5.11 into 5.11.1
Change-Id: I28f48e980a9e23ddde5251608dd9d1d83df65392
2018-06-07 17:10:57 +02:00
Tor Arne Vestbø
21e9c7c24f Opt out of new Xcode build system until we can handle its requirements
The new build system in Xcode 10 requires outputs from shell script
to be explicitly declared if they are used by subsequent build phases,
otherwise the build system may attempt to search for the file before
it has been generated, causing the build to fail.

The build phase we use for Qt preprocessing (moc, rcc, etc), does not
list these output files, so we need to disable the new build system
for now.

Change-Id: I7404c19021f57489e985bd1203ad09ce9b83b090
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-06-05 20:16:34 +00:00
Oswald Buddenhagen
a15de936d0 configure: permit multiple repos to use the same directory names
otherwise, names like "core" are too likely to clash.

note that the directories (which contain configure files) still need to
have unique names within one repository. that's unlikely to be a
problem.

Task-number: QTBUG-68385
Change-Id: I01c60479a6a45494ba60e798ceada231d8870556
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2018-06-01 10:36:59 +00:00
Oswald Buddenhagen
fc9378952b nuke {tests,examples}_need_tools flags
making the dependencies on tools/ optional was meant to maximize build
parallelization, but it's just too fragile, as nobody ever remembers (or
even knows) about having to add the flags when necessary.

Task-number: QTBUG-68478
Change-Id: I85c0b65d5a63109aedc24bc17eaaaf46b777b634
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-05-30 10:57:45 +00:00
Oswald Buddenhagen
00c3418b1e remove support for demos/ directories
no module had one for ages.

Change-Id: Ifb829140e6c97d43e1c8431cb377af8a12231f95
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-05-30 10:57:41 +00:00
Liang Qi
f82e508516 Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	mkspecs/features/qt_common.prf
	src/corelib/tools/qstring.cpp
	src/plugins/platforms/windows/qwindowsmousehandler.cpp
	src/widgets/widgets/qmainwindowlayout_p.h

Change-Id: I5df613008f6336f69b257d08e49a133d033a9d65
2018-05-24 16:29:14 +02:00
Thiago Macieira
fb0447bc05 Mark Clang 6 as warning-free
Change-Id: I7f8a97595d874145b160fffd152973700c61a0cb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-05-22 14:06:53 +00:00
Liang Qi
7e1b504f31 Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	mkspecs/features/qt_module_headers.prf
	tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
	tests/auto/widgets/kernel/qwidget/BLACKLIST

Change-Id: I2a08952d28d1d0e3d73f521a3d44700ce79ff16c
2018-05-14 14:51:46 +02:00
Christoph Keller
8c029e98bf Fix build of applications on iOS
When QMAKE_TARGET_BUNDLE_PREFIX is set in the .pro file then
this value should be used instead of the default value for
PRODUCT_BUNDLE_IDENTIFIER. Therefore, PRODUCT_BUNDLE_IDENTIFIER
should be set inside default_post.prf so that it can take the
value of QMAKE_TARGET_BUNDLE_PREFIX after it may have been set.

Task-number: QTBUG-66462
Change-Id: Iec1e2a43632efe6021b9d6bfdb78bd941326c456
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-05-13 08:48:53 +00:00
Qt Forward Merge Bot
552c45bea9 Merge remote-tracking branch 'origin/5.11.0' into 5.11
Change-Id: Id6e2acd5e31c1ac858ddf1d8873a6f10694141de
2018-05-09 13:48:42 +02:00
Oswald Buddenhagen
b9a578ebc6 configure: change convention of passing libraries to config tests
instead of pre-resolving them and passing the final LIBS to qmake, pass
raw QMAKE_*_LIBS* assignments and a QMAKE_USE stanza. the immediate
benefit of that is that it centralizes the debug/release lib handling,
which makes build variant overrides available to all libraries, not just
a few selected ones.

note that this removes the CONFIG+=build_all from the test projects.
turns out that this was ineffective to start with, as config tests are
built with an explicit CONFIG-=debug_and_release. we might re-instate it
in a non-broken way later on.

Change-Id: I2117c5b36937e8230bd571dcee83231515cbe30b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-05-08 18:17:29 +00:00
Oswald Buddenhagen
290f953253 configure: centralize shell-quoting of tests' .literal_args field
this de-noises the code somewhat, and makes it possible to eval() the
code generated by $$qtConfLibraryArgs(), which we want to do later.

Change-Id: Ib6101c6745101801e34f8fab1ad6651e624130c7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-05-08 12:50:04 +00:00
Morten Johan Sørvig
60457e6cd0 macOS: Experimental Vulkan support via MoltenVK
Add support for QSurface::VulkanSurface and QVulkanWindow.

Usage:
  1) Build MoltenVK according to instructions
  2) Configure Qt: ./configure -I /path/to/MoltenVK/Package/Release/MoltenVK/include
  3) export QT_VULKAN_LIB=/path/to/MoltenVK/Package/Release/MoltenVK/macOS/libMoltenVK.

Implement support for QSurface::VulkanSurface by enabling
layer mode for QNSView and then creating a CAMetalLayer,
which the MoltenVK translation layer can run on.

MoltenVK provides an implementation of the Vulcan API,
which means that the platform integration is similar
to other platforms: implement a QCocoaVulkanInstance
where we pass the QNSView instance to the vkCreateMacOSSurfaceMVK
Vulkan surface constructor function.

Using Vulkan directly without QVulkanWindow is possible, but not
tested.

We currently load libMoltenVK at run-time and use the
existing QT_VULKAN_LIB environment variable to set its
path. For deployment purposes it would be better to
link against MoltenVK.frameworkm, but this

Task-number: QTBUG-66966
Change-Id: I04ec6289c40b199dca9fed32902b5d2ad4e9c030
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-05-08 11:27:26 +00:00
Oswald Buddenhagen
d5e655f388 fix handling of GENERATED_TESTDATA with CONFIG+=builtin_testdata
relative paths must be resolved against $$OUT_PWD, not $$_PRO_FILE_PWD_.

Task-number: QTBUG-58991
Change-Id: I9ce8e9c78e0fad026a7cc355852d23f9d6e96ee6
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-05-07 11:50:33 +00:00
Darrell Walisser
bd52d9d73b android: Add support for precompiled headers
Copied lines from common/g++-base.conf to enable support.

Task-number: QTBUG-51700
Change-Id: Ia2691cb137cac8b1378c5749892c36f0143570c9
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-04 10:25:05 +00:00
Oswald Buddenhagen
95b0e4c956 make it possible to override the basename of module config files
using qt$$MODULE isn't enough if the module is composed of submodules
which need the final module's headers, because that would require two
modules having the same module .pri file.

the first thought to fix this was to just use $$lower($$TARGET), but
that breaks for testlib (QtTest). while the config file name isn't
public api, it's included by a public header, so changing it is risky.

so instead stay with the original pattern, but make it explicitly
overrideable.

Change-Id: I758c46ed403620620d577ae16866ce751271b63e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-05-03 12:59:04 +00:00
Qt Forward Merge Bot
7de400052f Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: Ia082e20e2eb4b76afd4c1a1584ff4e5514655d7a
2018-05-02 13:15:15 +02:00
Mikhail Svetkin
194a404490 Make the use of -fdata-sections and --gc-sections more generic in Qt
Add qmake feature and configure option, which optimze the size of static
exectuable. Use for static build.
Enabled via configure --gc-binaries, or CONFIG += gc-binaries in 3rd party
projects.

Change-Id: I3c25b02caaef6a4afc6019afc9c67122dd11696d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-27 06:47:35 +00:00
Ulf Hermann
67aa365d41 Do emit CMake declarations for existing private headers
We need to make sure we don't emit CMake declarations for private
headers if those headers are absent. However, most of the time we have
private headers and should add them.

Task-number: QTBUG-37417
Change-Id: I639eb93d008de27928dedac540894af70c1883b9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-27 06:43:11 +00:00
Simon Hausmann
388c4ef9f7 Fix build of static plugins with resources with debug-and-release
Writing out the $TARGET_plugin_resources.cpp file in !build_pass breaks
when TARGET is adjusted by $qtPlatformTargetSuffix values. We end up
writing out $TARGET_plugin_resources.cpp but the debug Makefile looks
for $TARGET_debug_plugin_resources.cpp.

Try using the pro file name as name source instead, as suggested by
Ossi.

Task-number: QTBUG-67931
Change-Id: I221cf9b2ec1db699568d0c73513aa66ecf0ada97
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-25 13:39:32 +00:00
Oswald Buddenhagen
e46f9d68d8 syncqt: fix CamelCase aliases for injected headers
don't put them into GENERATED_HEADER_FILES, as they obviously cannot be
found in a pre-synced source dir. instead, let the injection code itself
add them to INJECTED_HEADER_FILES.

Task-number: QTBUG-67813
Change-Id: Id2a7c565b14fcba8aba9d1dd8b1dd39c586d0d91
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2018-04-25 10:28:31 +00:00
Oswald Buddenhagen
967bb3f0d8 syncqt: don't write INJECTED_*HEADERS
these are actually redundant with INJECTIONS.

Change-Id: I0a71930401e00d30c9898b4d958de5e89c496d18
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2018-04-25 10:28:22 +00:00
Simon Hausmann
be9a56e5e3 Make it easier to use resources in plugins when using static linking
RCC generates code that registers resources automatically on program
startup via global constructors. When linking statically and nothing
references the symbols in the .o file compiled from the RCC generated
code, then the linker will discard the embedded resources and they will
not get initialized. That is why for static linking it is necessary to
explicitly initialize resources using the Q_INIT_RESOURCE macro.

We can avoid the need for the explicit initialization in the context of
plugins that are statically linked into the application. resources.prf
can generate a .cpp file with a helper function that contains all the
Q_INIT_RESOURCE calls for all resources in the plugin. That helper
function in turn is injected into the plugin entry point, which in turn
is guaranteed to be included in the final binary.

Change-Id: If1abf9c85ef92935020af073b989c58c1ae6ca63
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-04-23 13:56:07 +00:00
Allan Sandfeld Jensen
591edbb11c Detect C standard and try using the most recent one (take 2)
Fixes the default C version used with gcc < 5

Change-Id: I948dece961caed8e6b181e1c6e6b9dc43c46583e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-21 09:05:14 +00:00
Qt Forward Merge Bot
6f45fda50b Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I0bea38585382b5d9c8d7a013bf6bcb3a6008d159
2018-04-20 21:22:53 +02:00
Tim Uy
30874fb2df qmake: fix sdk resolution on macos
the 'info' variable was re-used too early. make a new one 'infoargs'
instead.

Task-number: QTBUG-67286
Change-Id: I77881ecbfce338d653358c5e5edac84e1c0c7de3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-18 19:10:19 +00:00
Andy Shaw
8caf9e6b18 iOS: Allow building QML based test cases
In order to be able to build and test a testcase on an iOS device it
needs to be a bundle. So the app_bundle config should only be removed if
the testcase_no_bundle is set. This is already done by testcase.prf.

Task-number: QTBUG-45211
Change-Id: I4f16ea832ccff2a5db5fed0050fa0344b4ac9ad6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-18 12:19:31 +00:00
Qt Forward Merge Bot
c8625a3e67 Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I86f04fc3b2e4291f161a4985adddd6fd6c789d33
2018-04-18 01:00:28 +02:00
Allan Sandfeld Jensen
9f54745362 Use optimize_size instead of duplicating similar logic
The android mkspecs had their own way of doing the same as optimize_size

Change-Id: Id05822df6bdeb8b3aafada2901bd61530c490fe9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-04-14 17:23:25 +00:00
Lars Knoll
4f158ccee5 Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I9f802cb9b4d9ccba77ca39428a5cb1afd2d01642
2018-04-12 22:00:35 +02:00
Oswald Buddenhagen
9c4c136bc9 rework syncqt interaction regarding cross-tree paths
instead of relying on more or less accidental qmake behaviors regarding
the base dir for relative paths (esp. if a file does not exist yet),
make everything explicit. to that effect, clearly define the base tree
(source or build) for every syncqt-generated variable, and write only
in-tree relative paths to the variables. on the receiving end, resolve
the paths as soon as headers.pri was read.

Task-number: QTBUG-67111
Change-Id: I32ae5760fb62ebc650fdb69e46aac786a8141564
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2018-04-12 15:42:59 +00:00
Liang Qi
093290a662 Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	src/plugins/platforms/ios/quiview.mm

Change-Id: I0fd0adeca1590fffddd577873172f6d987a60412
2018-04-11 09:34:23 +02:00
Oswald Buddenhagen
2c6801cb37 configure: cache test output as well
that way we can create a config.log which is consistent with the end
state even if (some) tests are not executed this time around.

Change-Id: Ia953ede62d6640aab912559f435ceb1f9ec6d9dc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-04-10 18:51:13 +00:00
Oswald Buddenhagen
0e204c7dc4 don't call qmake's exists() with an empty argument
Change-Id: I73330bd1c2de1734c5ac5c668ff9af7e85fc902a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-04-10 18:51:07 +00:00
Qt Forward Merge Bot
e027c7241f Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I0120f804522c0c652e9537b6e9fe08189f071ed2
2018-04-10 01:00:26 +02:00
Gabriel de Dietrich
3b85d53913 macx-clang: Update informal documentation for xcb build
Remove references to XKB and explain what to do if
pkg-config is missing or unwanted.

Change-Id: I099bf01ff49e1b8f6e822a50f0fe4904965a7a9f
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-09 17:55:10 +00:00
Mikhail Svetkin
061fbceb77 qmake: add support for mkspecs which don't support strict_c++
Some mkspecs do not support c++ strict mode.
We should allow them to build Qt with GNU extenstions.

Change-Id: I0d76cf95355b38953e3475773ec5474c856e1370
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-05 18:55:46 +00:00
J-P Nurmi
9c4295978e qml_module.prf: add 'install_qml_files' config
Allow QML modules to request installing QML files on the file system
regardless of whether the QML files are embedded to resources.

Qt Quick Controls need both; external QML files, that are prioritized
over compiled resources, can be left out from the final deployment
package.

The desired setup can be configured as follows:

    CONFIG += install_qml_files builtin_resources qtquickcompiler

With this, there is no need to write custom install/copy/qrc rules
for QML files.

Change-Id: I2ff2974b64efaea341b6ebb4c9fc2612497d7a33
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-05 08:38:16 +00:00
J-P Nurmi
defe266fd0 qml_module.prf: embed qmldir to resources in static builds only
For "import MyModule", the QML engine looks for a qmldir file in
$eachImportPath/MyModule.

One of the built-in import paths is ":/qt-project.org/imports". This is
meant for static "plugins", where the resources and the plugin are already
inside the binary image.

For dynamic plugins, the qmldir file is what enables the QML engine to
find the plugin in the first place, so it makes no sense to embed it
inside the plugin's resources.

Change-Id: I29f006efb58d91f7e5212c347087535b06e8c637
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-05 08:38:08 +00:00
Qt Forward Merge Bot
ffb2c2ac6c Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I33b47095efdfe0ba698c6a88ca41ec911f432208
2018-03-31 01:00:13 +02:00
Simon Hausmann
84c71207ae Fix debug_and_release builds with CONFIG += qtquickcompiler
For correct debug/ and release/ suffix substitution and thus avoid
concurrent access to generated files, we have to declare the output
directory variable used by qtquickcompiler.prf in qtdeclarative here and
enable it for substitution.

Change-Id: Id8483daffdf1b9990396c55f7bc0d08a2f65cafd
Task-number: QTBUG-66675
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-03-29 23:24:24 +00:00
Liang Qi
794781e7cf Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	src/plugins/platforms/cocoa/qnsview.mm
	src/plugins/platforms/cocoa/qnsview_mouse.mm
	src/testlib/testlib.pro

Change-Id: Ia0ce4243418fe6a485b0f290c67bd433b3b04ff2
2018-03-28 08:12:21 +02:00
Friedemann Kleint
dbc983a513 Revert "Detect C standard and try using the most recent"
The change causes a crash when compiling the xkbcommon 3rdparty
library and compile failures (qtimageformats on Android).

This reverts commit a47cb14680.

Task-number: QTBUG-67326
Task-number: QTBUG-67327
Change-Id: I5ddc4eccad699e3eaec535fd6a63d11b0026b42e
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2018-03-26 15:10:33 +00:00
Kevin Funk
02ed1b36da Remove CMake code for CMake < 3.1
This removes the following functions from Qt5CoreMacros:
- qt5_use_modules(...)

Task-number: QTBUG-63519
Change-Id: I59769060a3a93686bf319b558c0ede55755fdb70
Reviewed-by: David Faure <david.faure@kdab.com>
2018-03-24 22:31:18 +00:00
Allan Sandfeld Jensen
a47cb14680 Detect C standard and try using the most recent
Fixes the default C version used with gcc < 5

Change-Id: I948dece961caed8e6b181e1c6e6b9dc43c46583f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-03-21 13:52:10 +00:00
Qt Forward Merge Bot
cc920b4cdd Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I35a6555e3885e489f88aa9b4b0142e1017f7a959
2018-03-21 08:59:26 +01:00
Simon Hausmann
0ffb7c419a Fix CONFIG+=qtquickcompiler and immediate resources with shadow builds
Generated files should be added to RESOURCES with an absolute path.

Task-number: QTBUG-67011
Change-Id: Ief82b576824df9abd0901970f076e30dfe57b7d0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-03-20 07:34:50 +00:00
Tor Arne Vestbø
27239f4fcf macOS: Explicitly link to debug version of framework when needed
When Qt is configured for both debug and release, and frameworks are
enabled, we produce two dynamic libraries inside each framework, eg:

 QtCore.framework/QtCore
 QtCore.framework/QtCore_debug

When building an executable against these frameworks, we pass -framework
QtCore, and the resulting executable will have its LC_LOAD_DYLIB load
commands pointing to e.g.:

  @rpath/QtCore.framework/Versions/5/QtCore

When running the executable, the dynamic loader will load the dynamic
library dependencies based on these load commands.

By setting the DYLD_IMAGE_SUFFIX environment variable at runtime to
'_debug', the dynamic loader will prefer the debug versions of each
library inside the frameworks.

Unfortunately the use of an environment variable to choose debug or
release versions leaves room for mismatches between the executable
and the libraries that are loaded. An executable built in debug
mode will at runtime pick up the release versions of the Qt libraries
unless the DYLD_IMAGE_SUFFIX has also been set to match the build
configuration of the executable.

This results in confusing situations such as building your application
in debug mode, and then stepping into Qt code but not getting any
symbols. Qt Creator has an option to run the application with
DYLD_IMAGE_SUFFIX set, but this is not enabled by default due
to the startup cost of loading the Qt debug libraries.

More critically, it results in tests failing when the tests are using
QTest::ignoreMessage to ignore warnings produced by Qt, and these
calls are ifdefed (correctly) inside QT_NO_DEBUG, as the test
(built in debug mode) will then expect warnings from Qt, but those
warnings are not emittet, as the test is run against the release
version of the Qt libraries.

To mitigate this mismatch, we now link the Qt frameworks using
an explicit suffix, just like we would for no-framework builds
on macOS, for debug and release builds on Windows, and for
normal builds on other Unixes, leaving the dependency chain
for the application predictable:

 @rpath/QtCore.framework/Versions/5/QtCore_debug

This also conceptually matches how Xcode builds applications and
frameworks, where it never relies on DYLD_IMAGE_SUFFIX, and instead
uses two separate build directories, one for each configuration.

The change means that Qt Creator will always load the Qt debug
libraries if the application is built in debug mode. For Qt
development this is a good thing, as you expect to be able to
step into Qt code. For our users, the added startup cost can
be mitigated by shipping our binary packages as release-only,
but with separate debug info enabled.

Change-Id: Ib9f1f2dab90ed00b9fb011200e3a69c71955e399
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-03-16 10:30:15 +00:00
Tor Arne Vestbø
9e26ca82fe macOS: Allow tests to mark themselves as not supporting high-DPI
Some tests are not written to handle running on a retina screen,
resulting in additional test failures when trying to fix a CI test
failure on a local retina-enabled machine.

Change-Id: I0fed33c38792b686ac83abba2bfbc45623382200
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-03-14 17:37:34 +00:00
Qt Forward Merge Bot
332ce6734d Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: Idf471ca5c6cf211813466b539ce45bdc1ae9b97c
2018-03-08 09:27:38 +01:00
Marcus Calhoun-Lopez
70cfe551b2 Apple: resolve SDK version of QMAKE_LINK_C and QMAKE_LINK_C_SHLIB
On Apple OSes, both compilers and linkers are given an absolute path.
For consistency, the same should be done with the C linkers.
The change is also a convenience to the MacPorts project,
which actively discourages ambiguous compiler names.
(https://trac.macports.org/wiki/UsingTheRightCompiler).

Change-Id: Ic1885aed825340696e9fde766788eebf51de3ff6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-03-07 18:12:11 +00:00
Qt Forward Merge Bot
cf00c01f68 Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I110feec4750bd304975bab4f3f33d3a61a4e08bd
2018-03-07 01:00:10 +01:00
Vyacheslav Koscheev
a4e67a303b Android: add option -mstackrealign to clang-x86 mkspec
Task-number: QTBUG-66770
Change-Id: I5e8ced0fa60c67d7908f21e5c486fea0d7a50004
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-03-06 03:17:24 +00:00
Jake Petroules
5155a357cb Turn on more warnings for Objective-C code on Apple platforms
Change-Id: I7d5f211e2441415134c5905b159b41dc3b2b231b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-03-05 19:31:31 +00:00
Kimmo Ollila
0e85b554ad Add WFD_DEVICE_CLIENT_TYPE attribute for INTEGRITY S820Am ADP
This is needed to be compatible with latest Qualcomm BSP releases.
This patch also makes it possible to select HW layer via
QT_OPENWFD_CLIENT_ID and QT_OPENWFD_PIPELINE_ID environment variables.

Change-Id: Ie795b21afc61a1de7c1d0b52cdb30a754e3f8266
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit 00f693d3e5046999270c92731e34a3e7fcd01c6b)
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-03-05 11:37:38 +00:00
Oswald Buddenhagen
5cfd5fd9d7 configure: introduce 'subarch' term to expression evaluator
... and make use of it.

it's a logical continuation of the 'arch' term, and will be used also in
qt3d's configure.

Started-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I940917d6763842499b18fffd1514c96889a0cc63
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-22 21:39:36 +00:00
Alexander Shevchenko
7ff3032b22 unify windows mkspecs: define c++ flags explicitly
with 40e87491 merged, 'QMAKE_CXXFLAGS' variable in
'win32-g++' toolchain became defined via 'QMAKE_CFLAGS'.
the similar can be found in 'win32-clang-msvc' and
'win32-icc' toolchains too.

this works for now, because such definitions just duplicates code
from includes, like 'gcc-base.conf', 'msvc-desktop.conf', etc.
but it would became broken, if changes would be applied to
'QMAKE_CXXFLAGS' definitions in that includes, prior
to the redefinitions in 'win32-*/qmake.conf' toolchains.

thus 'QMAKE_CXXFLAGS' definitions in 'win32-*/qmake.conf' toolchains
should not depend on 'QMAKE_CFLAGS' and be done explicitly.

in order to apply this change correctly to 'win32-icc' toolchain,
its 'QMAKE_CFLAGS' variable should become dependent on definitions
in the includes, similar to 'win32-clang-msvc' and
'win32-msvc' toolchains.

Change-Id: I5e820e44a769a590ba63f70dcb3a115311093311
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-02-22 18:45:15 +00:00
Martin Storsjö
e83ce91c6a mkspecs: Factorize common parts of win32-g++ and win32-clang-g++
Change-Id: I49dc036aedb4290889bce8ef616b4f7291e79d4f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-02-21 18:08:01 +00:00
Alexander Volkov
22d3eeebb0 fix installation of resources for example sources
contains() interprets the regexp as being implicitly
anchored, so the leading part of the path needs to be
explicitly matched.

Change-Id: I1efa07dc99bb2db1717d2a66621899e23c144164
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-02-21 16:32:49 +00:00
Oswald Buddenhagen
76617fdb56 qmake: fix immediate RESOURCES with absolute RCC_DIR
$$RCC_DIR can be absolute, so simple concatenation with $$OUT_PWD is
bound to fail.

Change-Id: Ibd80c49656c0e03b8a86ebca851af106cced08fb
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-02-20 13:53:40 +00:00
Martin Storsjö
96e3985963 mkspecs: Add a win32-clang-g++ mkspec, for clang targeting mingw, like g++
Change-Id: I427e46e6c34c2beeb2a815f1af512e4e8bd213c2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-02-16 06:11:26 +00:00
Liang Qi
1ef03f69e8 Merge "Merge remote-tracking branch 'origin/5.10' into 5.11" into refs/staging/5.11 2018-02-15 21:19:50 +00:00
Oswald Buddenhagen
ede6c44756 syncqt: fix injected headers outside qtbase in non-prefix builds
in non-prefix configs, one has to differentiate between the module's own
build dir and qtbase's build dir, because the forwarding headers are
placed in -outdir under include/, while the actual headers end up in the
real build dir under src/.

Change-Id: I1d8ac904556b354bd113995316ba11dd6560a70d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-15 17:02:34 +00:00
Liang Qi
bb0fec8057 Merge remote-tracking branch 'origin/5.10' into 5.11
Conflicts:
	src/corelib/corelib.pro
	src/corelib/global/qrandom.cpp
	src/network/access/qhttpnetworkrequest_p.h
	src/plugins/platforms/cocoa/qcocoamenu.mm
	src/plugins/platforms/cocoa/qcocoansmenu.mm
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/cocoa/qnsview.mm
	src/plugins/platforms/offscreen/qoffscreenintegration.h
	src/widgets/kernel/qaction.cpp
	src/widgets/widgets.pro

Done-with: Andy Shaw <andy.shaw@qt.io>
Change-Id: Ib01547cf4184023f19858ccf0ce7fb824fed2a8d
2018-02-15 10:14:11 +01:00
Liang Qi
305dd1b61f Merge remote-tracking branch 'origin/5.9' into 5.11
Conflicts:
	.qmake.conf
	src/corelib/animation/qvariantanimation.cpp
	src/corelib/global/qglobal.cpp
	src/corelib/global/qlogging.cpp
	src/corelib/io/qprocess_win.cpp
	src/corelib/json/qjsonarray.cpp
	src/corelib/tools/qsimd_p.h
	src/corelib/tools/qtimezoneprivate_p.h
	src/corelib/xml/qxmlstream_p.h
	src/gui/kernel/qsimpledrag.cpp
	src/gui/kernel/qsimpledrag_p.h
	src/plugins/generic/generic.pro
	src/plugins/platforms/cocoa/qcocoamenu.mm
	src/widgets/styles/qmacstyle_mac.mm
	tests/auto/concurrent/qtconcurrentmap/BLACKLIST
	tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/gui/kernel/qwindow/BLACKLIST
	tests/auto/widgets/dialogs/qmessagebox/BLACKLIST

Change-Id: I508d686cf20f7f8cc6a7119b9bc7c3bbb505c58e
2018-02-14 12:51:24 +01:00
Allan Sandfeld Jensen
0b300c9409 simd.prf: Add support for compiling .c sources with the C compiler
Right now we are using the C++ compiler here, which relies on
the compilers automatically switching mode. This behavior is also
deprecated in newer clang versions and block clang developer
builds.

Task-number: QTBUG-64822
Done-with: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I4d3c00ac528a45934c85777f42d243d0fe367c92
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-02-12 23:46:48 +00:00
Morten Johan Sørvig
be73b00bc2 macOS: Bump deployment target to 10.11
Qt 5.11 requires macOS 10.11.

Change-Id: Iebbde845805a5ca382c34d0fe9176e8a9f7a2783
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2018-02-11 17:02:31 +00:00
Rafael Roquetto
48bce2e8f0 Support for LTTNG and ETW tracing
This commit introduces minimal support for instrumentation within Qt.
Currently, only LTTNG/Linux and ETW/Windows are supported.

Change-Id: I59b48cf83acf5532a998bb493e6379e9177e14c8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-01-28 19:17:02 +00:00
Alexander Shevchenko
940fd1734b unify windows mkspecs: move angle/vulkan includes
'win32-icc' toolchain:
- remove duplicated angle/vulkan includes.

'win32-g++' toolchain:
- place angle/vulkan includes before the unrelated compiler-related
  variable re-definitions, similarly to the 'win32-clang-msvc',
  'win32-icc', and 'win32-msvc' mkspecs.

Change-Id: Ie04bc9fb1d51ec0366b42713439f680e51214bbc
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-01-27 03:55:53 +00:00
Jake Petroules
7b94f1f53b Fix build of applications on iOS
The PRODUCT_BUNDLE_IDENTIFIER property was not defined in the Xcode
project file and therefore the build would fail.

This fixes a regression introduced by 0749ba2c5e.

Task-number: QTBUG-65673
Change-Id: I8089b36d86588223ec34859af7388c99a3574d8b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-01-25 16:12:47 +00:00
Liang Qi
c7170915c7 Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into refs/staging/5.10 2018-01-24 18:36:41 +00:00
Alexis Jeandet
b40e0e7233 Add -DQT_{module}_LIB in pkg-config cflags for each Qt module
Build systems such as Meson heavily rely on pkg-config to get build
flags.
-DQT_{module}_LIB isn't exported in .pc files which makes Meson unable
to build some codes out of the box.

Change-Id: I806998f19f815e05a47b60129977e52587b38d47
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-01-24 16:08:22 +00:00
Liang Qi
c97eb3e18e Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/corelib/global/qglobal.cpp
	src/corelib/global/qrandom.cpp
	tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp

Change-Id: Icc10543a1f2db5d640d01796bfec70a63517a6b2
2018-01-24 13:38:25 +01:00
Alexander Shevchenko
41cdfbe3a4 unify windows mkspecs: delete redundants in 5.10
mingw-w64 toolchain:
- remove 'QMAKE_CFLAGS_AESNI' and 'QMAKE_CFLAGS_SHANI' definitions,
  which are already set in 'gcc-base.conf' toolchain; this is
  a continuation of 77347a36 relating variables, introduced in 5.10,
- remove 'gcc-base.conf' duplicate inclusion, left after eef2d1af
  was merged into 5.10.

Change-Id: I328def916ccfb93c3f6b8336eb8801defbac37ae
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-01-22 17:41:01 +00:00
Liang Qi
65a97fccc6 Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp

Change-Id: If089d5010d15c33b3c1f13912d4386207456c1a9
2018-01-20 22:36:19 +01:00
Otto Ryynänen
6d50f746fe Support for Q_OS_ANDROID_EMBEDDED and android-embedded build flags
The Embedded Android build (Boot to Qt Android injection) is defined by
having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined,
as well as having Qt config android-embedded.
This commit enables the possibility to build embedded Android builds.
(i.e. Qt build for Android baselayer only, without JNI)

Change-Id: I8406e959fdf1c8d9efebbbe53f1a391fa25f336a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2018-01-20 18:16:59 +00:00
Liang Qi
739585b2f5 Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/corelib/io/qprocess_win.cpp

Change-Id: Ib61b74a69922ec1e9eecbba5f75352b4ec167fa9
2018-01-19 09:48:10 +01:00
Oswald Buddenhagen
b772d9cbd7 fix example source installation of qrc/rc files in subdirs
such a project structure violates the assumption that the referenced
resources are specified relative to the sub-project root, so we must
resolve them to absolute paths manually.

Task-number: QTBUG-65753
Change-Id: I8bcd5c6e7d7c6a713e5fcd3668be7d2f23169501
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-01-18 13:48:23 +00:00
Oswald Buddenhagen
3149d0fb13 use correct path separators when invoking testcases on windows
Change-Id: Iad541f0d62ffdb2751da6225b9d40229d7d9a03f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-01-18 13:46:44 +00:00
d3fault
1a4cc8d57b Add QIODevice::NewOnly and QIODevice::ExistingOnly OpenMode flags
When QFile::open is called with the NewOnly flag, the call will
fail if the file already exists. As usual, if the file does not exist,
it will be created. Like QTemporaryFile, there is a guarantee from
the operating system that you are not accidentally creating a new file
on top of an older file. When QFile::open is called with the
ExistingOnly flag, the call will fail if the file does not exist. The
ExistingOnly flag only provides new functionality when used with the
WriteOnly flag. For ReadOnly it provides no change in functionality,
as ReadOnly by itself already never creates.

Task-number: QTBUG-52244
Change-Id: I8e3206728f245f95172c225bf297023fb078fc6d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-01-17 04:32:47 +00:00
Alexander Shevchenko
40e8749188 unify windows mkspecs: update definitions
mingw-w64 toolchain:
- add missing compiler definitions, similar to
  'msvc-desktop.conf' toolchain,
- describe the reasons of missing compiler definitions, available in
  'msvc-desktop.conf' toolchain,
- add missing 'QMAKE_CXXFLAGS' and 'QMAKE_CXXFLAGS_WARN_ON' variables,
  similar to 'msvc-desktop.conf' toolchain.

ICC on Windows toolchain:
- add 'QMAKE_CFLAGS_OPTIMIZE_FULL' variable, similar to 'gcc-base.conf'
  toolchain, though left it unused for now,
- add missing flags to 'QMAKE_CFLAGS' variable, similar to
  'msvc-desktop.conf' toolchain,
- update deprecated 'Qwd' flag with 'Qdiag-disable',
- use 'QMAKE_CFLAGS_OPTIMIZE_DEBUG' variable instead of '-Od' flag,
  similar to 'gcc-base.conf' toolchain (ICC implies '-O2' optimization
  level by default, while MSVC implies '-Od'),
- add 'QMAKE_CFLAGS_UTF8_SOURCE' variable, similar to
  'msvc-version.conf' toolchain; use a workaround to initialize it,
  until '-utf-8' flag would be supported by ICC on Windows,
- update deprecated '-Qstd=c++1z' flag with '-Qstd=c++17',

MSVC toolchain:
- remove 'incremental' from MSVC 'CONFIG' variable, since it has
  relevance only for the Unix generator,
- add 'QMAKE_CFLAGS_OPTIMIZE_DEBUG' variable, used in ICC for Windows
  toolchain,
- add empty 'QMAKE_LIBS' variable, similar to 'win32-g++' toolchain,
- add 'uuid.lib' library to 'QMAKE_LIBS_GUI' variable, similar to
  'win32-g++' toolchain,
- add C++14 and C++17 language support flags, though left them disabled
  for now, similar to 'win32-icc' toolchain.

Change-Id: Ideef62d0422674184836faa655bfc5d09a5f612f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-01-17 03:30:36 +00:00
Tor Arne Vestbø
e2a546a18b Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I896b0cf54f317c4336cc3d3db319a0b89e421728
2018-01-16 11:48:55 +01:00
Oswald Buddenhagen
ab4cc83d52 qmake: ignore QT if we have failed requires()
otherwise the project would need to clear QT despite using
qtHaveModule() in requires() (or REQUIRES=).

Task-number: QTBUG-65106
Change-Id: I568202214c8eafcdbe2d0e253b18f0e171293aff
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-01-12 14:02:07 +00:00
Liang Qi
f4d8cafc1b Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	src/3rdparty/harfbuzz-ng/src/hb-private.hh
	src/sql/doc/snippets/code/doc_src_sql-driver.cpp
	src/sql/doc/src/sql-driver.qdoc

Change-Id: I38f0e82fcd37926cbf3c1915e009a731040d4598
2018-01-11 18:10:41 +01:00
Liang Qi
9bee6712fc Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I840849c072075a69819eb185b20bc42c3de0f825
2018-01-09 21:27:30 +01:00
Jani Heikkinen
907a99f65b Fix license headers
Old header.LGPL21 header was used at some files. Replase those with
new header.LGPL one

Remove old header.LGPL21

Task-number: QTBUG-57147
Change-Id: I650e39024ed4876bba27e954c7d61fdb025b46ef
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-01-09 07:47:20 +00:00
Liang Qi
24fba6744c Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp

Change-Id: Ib6dd965a7eb6f59103e276b3407739147ecd37b2
2018-01-07 14:47:19 +01:00
Johan Klokkhammer Helsing
a8ac5aaa56 mkspec for Renesas R-Car M3
Change-Id: I2264d7346f15f8488d0f9ef3f7e190c6026d84e9
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-01-07 09:44:20 +00:00
Jake Petroules
0749ba2c5e Rewrite the Info.plist variable replacement handling
This ensures that the same set of variables can be successfully replaced
in both the Makefile and Xcode generators. It also switches the default
templates to use the Xcode-style ${var} syntax instead of the @var@
syntax for better Info.plist compatibility across generators.

Change-Id: Iff330bafd152773aafac9143c4a34e34f92f0ce6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-01-06 19:46:00 +00:00
Jake Petroules
1c8224511d qmake: set COPY_PHASE_STRIP to NO in Xcode generator
Since Xcode 6.3, this must be set to NO because stripping on copy is no
longer fully supported due to the potential of input binaries being code
signed. In this case Xcode will simply ignore the strip step and issue
a warning since stripping would invalidate the code signature. This
change silences that annoying warning for release builds. Also, the
setting assignment is moved from being hardcoded in the generator, to
a QMAKE_MAC_XCODE_SETTINGS value.

Change-Id: If25511edddc12b7b0407e2992d80884b7d6437dc
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2018-01-05 23:26:50 +00:00
Lars Knoll
0f315adf91 Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	.qmake.conf
	sc/corelib/io/qfsfileengine_p.h
	src/corelib/io/qstorageinfo_unix.cpp
	src/platformsupport/eglconvenience/qeglpbuffer_p.h
	src/platformsupport/input/libinput/qlibinputkeyboard.cpp
	src/platformsupport/input/libinput/qlibinputpointer.cpp
	src/plugins/platforms/cocoa/qcocoamenu.mm
	src/plugins/platforms/ios/qiosscreen.h
	src/plugins/platforms/ios/qioswindow.h
	src/plugins/platforms/ios/quiview.mm
	src/printsupport/dialogs/qpagesetupdialog_unix_p.h
	src/printsupport/dialogs/qprintpreviewdialog.cpp
	src/printsupport/widgets/qcupsjobwidget_p.h
	src/widgets/widgets/qmenu.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp

Change-Id: Iecb4883122efe97ef0ed850271e6c51bab568e9c
2018-01-02 09:58:44 +01:00
Lars Knoll
db92f2f3aa Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	.qmake.conf
	mkspecs/win32-g++/qmake.conf
	src/corelib/global/qglobal_p.h
	src/corelib/global/qoperatingsystemversion_p.h
	src/corelib/io/qfilesystemengine_win.cpp
	src/network/bearer/qbearerengine.cpp
	src/platformsupport/input/libinput/qlibinputpointer.cpp
	src/sql/doc/snippets/code/doc_src_sql-driver.cpp
	src/widgets/kernel/qwidget_p.h
	src/widgets/kernel/qwidgetwindow.cpp
	src/widgets/styles/qfusionstyle.cpp
	tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp

Change-Id: I80e2722f481b12fff5d967c28f89208c0e9a1dd8
2017-12-30 12:09:53 +01:00
Alexander Shevchenko
eef2d1af33 unify windows mkspecs: reorder variables and flags
Common changes to mingw-w64, ICC on Windows, and MSVC toolchains:
- set similar order of variables and its splitting into sections,
- set similar order of flags in variables and the way they are set.

mingw-w64 toolchain:
- move 'gcc-base.conf' include before setting Windows specific
  flags, similar to include 'msvc-desktop.conf' in ICC on Windows
  toolchain; this leads to consistency with other toolchains
  and allows to safely override common GCC variables with Windows
  specific ones, when needed,
- move 'QMAKE_EXT_OBJ' and 'QMAKE_EXT_RES' variables to the linker
  flags section, according to its purpose.

MSVC toolchain:
- set flags order in 'CONFIG' variable, similar to mingw-w64 toolchain.

Change-Id: I417cc8f7959c669dd504f2c5c11eb879a7989bd4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-12-20 16:44:12 +00:00
Alexander Shevchenko
77347a3699 unify windows mkspecs: delete redundants
mingw-w64 toolchain:
- remove 'QMAKE_CXXFLAGS_THREAD' variable definition, since
  'QMAKE_CFLAGS_THREAD' variable not set for mingw-w64 toolchain.

ICC on Windows toolchain:
- remove 'QMAKE_LFLAGS', 'QMAKE_LFLAGS_RELEASE',
  'QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO' and 'QMAKE_LFLAGS_DEBUG'
  definitions, since they're properly set in 'msvc-desktop.conf',
- remove 'DSP_EXTENSION' variable, which doesn't occur anywhere else
  within QtBase; its most recent search results relate to
  Visual Studio 6.0 and Intel Fortran.

Change-Id: I2ce5c2c9e9ca2c09c1acfcf8c60381d318e8e380
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-12-19 20:32:48 +00:00
Allan Sandfeld Jensen
7951d1cdfa Generate gdb indexing for faster debugging on Linux
If the linker supports it, add the gdb index to the debug symbols, which
makes loading gdb on Qt libraries much faster.

Change-Id: I2ed201c22913b97ac2efaefb5e31636e795ae102
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-12-19 11:50:12 +00:00
Timo Aarnipuro
039ac7d20c Add mkspec for INTEGRITY Multivisor on the Renesas Salvator-X
Change-Id: Ie8d2f5c022a6a2396534cebf1f17cbb8df92cb27
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-12-15 07:01:54 +00:00
Jake Petroules
dc0bb57f86 Fix an issue causing asset catalogs to be miscompiled with iOS simulator
This works around the inability to build iOS apps for a "generic"
simulator by explicitly setting the Xcode build setting
ENABLE_ONLY_ACTIVE_RESOURCES to NO in order to ensure that all variants
of assets in an asset catalog are built when targeting iOS simulator
devices. Otherwise, we will simply build for whatever the first
simulator in the list happens to be. If the application is then deployed
to a different simulator, some of the assets needed for that device
variant may be missing.

This "helps" QTCREATORBUG-19447 but is not a workaround since this fix
is necessary for command line builds anyways, even though it's unlikely
to crop up in practice there, since one would have to manually deploy
the built application bundle to the simulator using simctl rather than
going through Xcode (which would rebuild for the appropriate device).

Change-Id: Ia41c48dcc715fe79a2c50db66a0ca7a1fea159c2
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-12-14 19:00:43 +00:00
Oswald Buddenhagen
7830cdd833 configure: during early setup, skip all of default_pre.prf
... instead of only toolchain.prf.
the license check could go haywire, and everything else that file does
is meaningless in configure context anyway.

Task-number: QTBUG-63452
Change-Id: I5e31c87fe717fda40978c0317556070637e537e2
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-12-14 18:06:07 +00:00
Oswald Buddenhagen
fb326ae126 qmake: print compiler output if detection phase fails
helps enormously with debugging.

Change-Id: Ic8876e74a4dbb14006d8b48658eb141a3f0e0fbf
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-12-14 18:05:53 +00:00
Oswald Buddenhagen
e291f67743 unbreak plugin dependency tracking
use the correct operator.
amends 623b191c10.

Change-Id: Ice8b2a82b1c7828587cccc7d464f9313e176d536
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-12-14 18:05:28 +00:00
Oswald Buddenhagen
ff1c8baf4a configure: make cached results immediately available
otherwise test de-duplication between modules doesn't work.

Change-Id: I2c6222d853108df223758aa8907dc8d004efd87f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-12-14 18:02:36 +00:00
Oswald Buddenhagen
fd3423bfb8 configure: support discarding selected test results with -recheck
especially during debugging, it is often necessary to re-run only one
(or a few) tests, where -recheck-all would be wasteful.

Task-number: QTBUG-64059
Change-Id: I9410894dec4289ff832d7f75e04f9b60fe76c57c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-12-14 18:02:30 +00:00
Olivier Goffart
e5312f9ca5 Pass the include paths to qdoc
Change-Id: Id97df15863e8499d879079b0df705c78c04ca521
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-12-08 17:50:11 +00:00
Liang Qi
812bb236dd Merge remote-tracking branch 'origin/5.10.0' into 5.10
Change-Id: I6dcf85067ec226136c207ea69ca9d66736c84db5
2017-12-08 13:56:17 +01:00
Liang Qi
53b141dceb Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/plugins/platforms/ios/quiview.mm

Change-Id: I88384c70047391c75d9ff166c8d9881ff6751dbf
2017-12-05 13:37:21 +01:00
Kimmo Ollila
7b73d455ee Add mkspec for INTEGRITY Qualcomm s820 MSM8996AU
Change-Id: Ia3983594d9295ae858efe2289c296cfcc2fe1b78
Reviewed-by: Rolland Dudemaine <rolland@ghs.com>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-12-01 10:07:12 +00:00
Gabriel de Dietrich
32326a4b3b macx-clang: Opt-in xcb QPA support with XQuartz
Enable xcb QPA plugin when XQuartz is available. This is done
in a single build, alongside the Cocoa version.

We delegate part of the configuration stage to pkg-config, so
this becomes a requirement. Ensure that

    PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:/opt/X11/share/pkgconfig

is in your environment, or pkg-config is properly set up.

Tested with the following configure options:

configure \
   -pkg-config \
   -fontconfig -system-freetype \
   -system-xcb -xkb -no-opengl \
   -qt-xkbcommon -qt-xkbcommon-x11

Change-Id: I2eb5a0491172368afc4c629c540cbef08580348d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-12-01 01:19:46 +00:00
Oswald Buddenhagen
8dfcc3b023 configure: reset *_LIBS when *_LIBS_{DEBUG|RELEASE} are specified
it could be somewhat surprising that specifying variant-specific libs
would not clear the common libs, so do that. of course, the default
for the common libs could theoretically contain common deps of the
variant-specific libs, in which case clearing them would be surprising
in turn - luckily, we have no such case.

Change-Id: Ifca08b9e1949c6a0cefed6931ade4021927d7c90
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-11-30 20:25:14 +00:00
Oswald Buddenhagen
26e9a6a514 configure: make *_LIBS_{DEBUG|RELEASE} always work
... and not only when the source explicitly specifies build variants.

Change-Id: Iac6c8fda8f431d5fb50fada8338d1b660ab040d7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-11-30 20:25:08 +00:00
Oswald Buddenhagen
79a068c396 configure: fix over-quoting in library exporting
unlike for the other fields, we forgot to eval() the values of the
build-specific library values, leading to over-quoting of values which
require any quoting at all.

amends c0cc50520.

Task-number: QTBUG-62521
Change-Id: I4dfce31040dd09248d3f9dd4294f7fb147c13bdd
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-11-30 20:25:04 +00:00
Oswald Buddenhagen
0fbf78250e configure: fix processing of *_LIBS_{DEBUG|RELEASE}= args
qtConfLibrary_inline() used to set $${1}.builds.$${b}.libs, while
everything else assumed no such .libs suffix. fix the former.

amends 9172143f52.

Task-number: QTBUG-61431
Started-by: Konstantin Ritt <ritt.ks@gmail.com>
Change-Id: I0bd81591c46266d81baa9c12315411183bbc7a63
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-11-30 20:25:00 +00:00
Thiago Macieira
ff1ffa7577 Add support for AVX-512 intrinsics found in MSVC 2017 15.3
It seems the compiler supports /arch:AVX512 and /arch:AVX512F but none
of the other switches (and neither are documented). And when you pass
those, you also get Conflict Detection (CD), Double & Quad (DQ), Byte &
Word (BW) and Vector Length (VL), which matches the ICC switch
"-xCORE-AVX512". Unlike ICC, there doesn't seem to be an option to
enable only the common part of AVX-512.

Support for Intel Xeon Phi's current features (Exponential &
Reciprocation and Prefetch) and future ones (IFMA, VBMI, 4FMAPS, 4VNNI
and VPOPCNTDQ) seems to be missing altogether.

See https://blogs.msdn.microsoft.com/vcblog/2017/07/11/microsoft-visual-studio-2017-supports-intel-avx-512/

Change-Id: I98105cd9616b8097957db680d73eb1f86e487e6d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-11-30 08:30:37 +00:00
Alexander Shevchenko
813fa3f50f unify windows mkspecs: update description
Common changes to mingw-w64, ICC on Windows and MSVC toolchains:
- update toolchains description similar to 'gcc-base.conf'.

Change-Id: Ie456c6cec86c0d1c0107ca84a0fa7855666df91e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-11-29 23:03:56 +00:00
Liang Qi
153e8b49ad Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	src/network/access/qhttp2protocolhandler_p.h
	src/network/kernel/kernel.pri
	src/network/ssl/qsslkey_qt.cpp
	src/plugins/platforms/cocoa/qcocoascreen.mm
	src/plugins/platforms/windows/accessible/iaccessible2.cpp
	src/plugins/platforms/windows/accessible/iaccessible2.h
	src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
	src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
	src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h
	src/widgets/widgets/qmenu_p.h
	tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
	tests/auto/other/qaccessibility/tst_qaccessibility.cpp
	tests/auto/testlib/selftests/expected_cmptest.lightxml
	tests/auto/testlib/selftests/expected_cmptest.teamcity
	tests/auto/testlib/selftests/expected_cmptest.txt
	tests/auto/testlib/selftests/expected_cmptest.xml

Done-with: Edward Welbourne <edward.welbourne@qt.io>
Change-Id: I4217cc7d840cbae3e3dd28574741544469c4c6b9
2017-11-23 09:36:03 +01:00
Alexandru Croitor
0dc025bf9f Fix macOS shadow prefix builds using pre-synced source packages
For source packages that don't have a .git subdirectory, syncqt is
executed before configure, with outdir set to srcdir, and this
caused path misalignments for injected headers in qt_module.prf
when generating makefile rules.

The fix is to change syncqt to always output injected header
paths relative to the source dir.

Task-number: QTBUG-64539
Change-Id: Ia2296e44494093dbf124729062f430ad6fca7262
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-11-22 07:39:45 +00:00
Jake Petroules
2614108696 qmake: properly filter simulator devices by minimum deployment target
This fixes an issue where a build error may be introduced by a simulator
being selected whose OS version is lower than the application's
minimum deployment target.

Task-number: QTBUG-64456
Change-Id: Ic7c834a1473c183ebb910bc01a416fe1e23a5a14
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-11-15 02:08:54 +00:00
Liang Qi
88cf044580 Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/gui/kernel/qwindow.cpp
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/windows/qwindowssystemtrayicon.cpp
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp
	tests/auto/widgets/kernel/qaction/tst_qaction.cpp

Change-Id: Ifa515dc0ece7eb1471b00c1214149629a7e6a233
2017-11-09 11:47:57 +01:00
Tor Arne Vestbø
7646f18295 Enable deprecation warnings for Qt plugins, just like for modules
We want to know when a plugin uses deprecated Qt APIs, especially
deprecations in the QPA APIs, which today is not the case, so
platform plugins have no idea that they should transition.

Change-Id: If9d3d95dc6f1f4178b103f177c9eb8326767ffab
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2017-11-08 00:55:20 +00:00
Tor Arne Vestbø
31cc29e9be Disable Xcode main thread checker by default
Xcode 9 introduced the main thread checker, which detects invalid
use of AppKit, UIKit, and other APIs from background threads.

https://developer.apple.com/documentation/code_diagnostics/main_thread_checker

In our case these are accesses to e.g. [UIView layer] and
[UIScreen scaleFactor] from the render thread of QtQuick,
things we should look at, but that might not be easily solvable.

In any case, these are not warnings the user can do anything about,
so in lack of a per-library disable of the checker, we have to
globally disable it for the whole Xcode project.

Task-number: QTBUG-63822
Change-Id: Ibfcdf23891cf6bfbbc9b9b3349e4c256c273c7de
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-11-07 14:53:59 +00:00
Liang Qi
a7e4b645dc Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	src/corelib/global/minimum-linux.S
	src/network/access/qhttpthreaddelegate.cpp
	src/widgets/kernel/qwidgetwindow.cpp

Change-Id: Id2e817e85f85c68f5482c9a12912d35590f9d5f8
2017-11-05 18:02:18 +01:00
Alexandru Croitor
196f295b92 Fix shadow prefix framework builds
Bundle data source files which don't exist at qmake time need to be
handled specially. This also required splitting the generated list of
public headers, as was already done for private ones.

Task-number: QTBUG-60413
Change-Id: I97acfa88622da6b73839b8f976f73ace3cb10223
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-11-02 15:23:18 +00:00
Thiago Macieira
fb59760381 Fix GCC -Wfloat-conversion warnings (available since GCC 4.9)
This warning used to be part of -Wconversion, but that generates too
more noise than we're willing to fix now (like conversion from qint64 to
int). The float conversion does trigger for conversion from double to
float, as shown in all the QVectorND uses of float, but more
importantly, it triggers on passing floats to ints.

Change-Id: I69f37f9304f24709a823fffd14e69cfd33f75988
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-10-29 10:13:23 +00:00
Allan Sandfeld Jensen
fa9d12f4a2 Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	src/plugins/platforms/windows/qwindowsmousehandler.cpp
	src/plugins/platforms/xcb/qxcbimage.cpp
	tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
	tests/manual/qtabletevent/regular_widgets/main.cpp

Done-with: Friedemann Kleint<Friedemann.Kleint@qt.io>
Done-with: Mårten Nordheim<marten.nordheim@qt.io>
Change-Id: I5b2499513a92c590ed0756f7d2e93c35a64b7f30
2017-10-24 13:40:55 +02:00
Alexandru Croitor
87eff0ea31 Fix resolution of QMAKE_INFO_PLIST for non-bundle artifacts
Change-Id: Id56cea1f09d7675fe60cdbd598e6f585a6b230d1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-10-23 13:50:45 +00:00
Orgad Shaneh
d57a7c4171 MinGW: Globally define WINVER and _WIN32_WINNT to enable Windows 7 API
Change-Id: I637b33ba6d05f40486d8da927ae5cc5148299348
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-10-19 10:58:59 +00:00
Liang Qi
d0a0a3c041 Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	examples/network/fortuneclient/client.cpp
	examples/network/fortuneserver/server.cpp
	src/platformsupport/platformcompositor/qopenglcompositorbackingstore_p.h
	src/plugins/platforms/cocoa/qcocoabackingstore.h
	src/plugins/platforms/cocoa/qcocoaintegration.h
	src/plugins/platforms/cocoa/qcocoascreen.h
	src/plugins/platforms/ios/qiosbackingstore.h
	src/plugins/sqldrivers/oci/qsql_oci.cpp
	src/widgets/kernel/qwidgetwindow.cpp

Change-Id: Ia6dd2c52d4a691b671cf9a2ffca70deccece8f10
2017-10-17 10:34:24 +02:00
Liang Qi
01afc8c810 Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I3cf73c53cf131d0babfb558c2507bed0e0fc5f08
2017-10-16 22:21:52 +03:00
Orgad Shaneh
5fa6438633 Qmake: Introduce and use QMAKE_{SYSTEM,SHELL}_NULL_DEVICE variable, take 2
SYSTEM is used for system() calls, while SHELL is used in the target
Makefiles.

Task-number: QTBUG-62985
Change-Id: Ia75d3939c59c98699359421166433e8b4a6ee35e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-10-13 13:32:36 +00:00
Friedemann Kleint
65d9d89573 clang-cl: Fix warning about #include resolution
In file included from ..\..\..\mkspecs\win32-clang-msvc\qplatformdefs.h:40:
..\..\..\mkspecs\win32-clang-msvc/../win32-msvc/qplatformdefs.h(51,10):  warning: #include resolved using non-portable Microsoft search rules as: ..\..\corelib\global/qglobal.h [-Wmicrosoft-include]
 #include "qglobal.h"

Task-number: QTBUG-63512
Change-Id: Id60b599126049f2bb07db22e721ff5b761a9b1fd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-10-10 18:24:14 +00:00
Thiago Macieira
4a44bd6cdc Stop including net/if.h from qplatformdefs.h
I need to include linxx/if.h from elsewhere and these two files conflict
by defining the same types (struct ifreq, struct ifmap, struct ifconf,
etc.)

Change-Id: I0a103569c81b4711a649fffd14eb2f6dbbef83b6
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-08 06:41:24 +00:00
Liang Qi
7bbb9a8ce8 Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into refs/staging/5.10 2017-10-05 12:38:45 +00:00
Tor Arne Vestbø
1b473ee676 iOS: Bump deployment target to 10.0 as planned for 5.10
[ChangeLog][iOS] The minimum deployment target for applications is now
iOS 10.0.

Change-Id: Icb37e4eaecbf6f62fd3c9293b2abf19a0954a02d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-04 20:27:26 +00:00
Liang Qi
bc5f45052f Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/corelib/global/qconfig-bootstrapped.h
	src/corelib/global/qglobal.h
	src/corelib/tools/qcryptographichash.cpp
	src/corelib/tools/qcryptographichash.h
	src/corelib/tools/qmessageauthenticationcode.cpp
	src/plugins/platforms/windows/qwindowswindow.h
	tests/auto/gui/kernel/qwindow/BLACKLIST
	tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST

Change-Id: Ib68112de985a3d714c2071f47c10e907e4f0229a
2017-10-04 13:41:04 +02:00
Tor Arne Vestbø
c3e93391ee qmake: Allow non-bundle apps and libs to have an Info.plist
Change-Id: I5fe5c8d3214876520b5259d478ac9ef887c61e95
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-09-29 10:08:08 +00:00
Jake Petroules
1e1de2b2e1 Make it an error to omit __builtin_available where needed
This guarantees that we have proper version checks in place for APIs on
Apple platforms that are not necessarily available on the deployment
target.

Change-Id: I10060f8b910f2bb790aa4a9c6f8c5cdc14d7cf06
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-29 03:30:18 +00:00
Tony Sarajärvi
06cb408979 Add support for ICC in toolchain.prf
Task-number: QTBUG-62531
Change-Id: Ie15a349c830258058d48c9da18b52b343bdb943a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-29 03:19:57 +00:00
Joerg Bornemann
16f144db29 Do not define _HAS_EXCEPTIONS=0 in MSVC builds
This definition causes a build error if concrt.h is included.

According to Microsoft [1], this macro is unsupported. It was added in
f5908363 to silence compiler warnings that are generated when exceptions
are turned off and certain STL headers are included.

We specifically disable the warnings in question now.

[1] https://blogs.msdn.microsoft.com/vcblog/2015/07/14/stl-fixes-in-vs-2015-part-2/

Task-number: QTBUG-63409
Change-Id: I567d5d46292fbd7898394e217bb0987fbcdca9de
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-27 13:13:41 +00:00
Liang Qi
aadfe7d634 Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	src/gui/kernel/qguiapplication.cpp
	src/platformsupport/input/libinput/qlibinputpointer.cpp
	src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/testlib/qtestsystem.h

Change-Id: I5975ffb3261c2dd82fe02ec4e57df7c0950226c5
2017-09-26 16:14:54 +02:00
Liang Qi
01bc69f99f Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/plugins/styles/mac/qmacstyle_mac.mm
	src/widgets/util/qcompleter.cpp
	src/widgets/widgets/qmainwindowlayout.cpp
	src/widgets/widgets/qmdisubwindow.cpp

Change-Id: If0e96981af07ce36ac68f2e69211bc2120f93973
2017-09-20 11:58:32 +02:00
Thiago Macieira
4e30001e5f Mark Clang 5.0 as warning-free
Change-Id: I27b55fdf514247549455fffd14b17a4ae1d8ff2d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-09-18 21:21:15 +00:00
Robert Loehning
2d7b143085 Fix conditions in some QMAKE_COMPILER_DEFINES assignments
We obviously should check the variable we're about to get the data from.

Amends 1216f596bd.

Change-Id: Ibe87138b9c9aa99837b4fbf3769cd26ca1aaacb9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-09-15 09:03:12 +00:00
Joerg Bornemann
342609b542 Fix quoting of mocinclude.opt for paths containing spaces
If MOC_INCLUDEPATH exceeds a certain limit, its content is written into
a file named mocinclude.opt, which is then passed to moc as a response
file. That moc parameter was not properly quoted, and the moc call
failed for paths containing spaces.

Task-number: QTBUG-63197
Change-Id: Ib0542d80ce1bab239e0e6b6e24fadd11007b1846
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-09-14 11:22:49 +00:00
Jake Petroules
e0b7de5dff Remove obsolete file
Amends cab060631

Task-number: QTBUG-62995
Change-Id: I374153ec34abad0585d2bcab0f699b42600be6ef
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-09-10 05:39:42 +00:00
BogDan Vatra
82ed3b8ca5 Android: Use unified headers if available
Fix compile with ndkr16+

Change-Id: I52a52b787e88c8fd74f86d98dcd3c9d44fcf56a9
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-09-07 14:16:41 +00:00
Jake Petroules
cab060631c Android: remove support for local/debug deployment
This removes the pre-dexed JAR files activated by the absence of the
bundled_jar_file CONFIG option, as versions of Android >= 5 no longer
support this deployment mechanism.

Now, the "bundled" JARs simply become normal JARs containing class
files, and are neither activated by a bundled_jar_file CONFIG entry nor
do they have a -bundled suffix in the file's base name.

Task-number: QTBUG-62995
Change-Id: I3fa6819259be365b7a697f7db1d1d01a94032395
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-09-06 18:21:02 +00:00
Liang Qi
19dd2ca93b Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	examples/opengl/qopenglwidget/main.cpp
	src/3rdparty/pcre2/src/pcre2_printint.c
	src/plugins/platforms/cocoa/qnsview.mm
	src/widgets/widgets/qcombobox.cpp

Change-Id: I37ced9da1e8056f95851568bcc52cd5dc34f56af
2017-09-06 13:26:31 +02:00
Joerg Bornemann
3fe0809796 Set the CROSS_COMPILE variable in Android mkspecs
All cross-target makespecs should set this variable.

Change-Id: I176fa79e639b09c4c1134b66635c66d6e351d805
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-09-06 10:41:43 +00:00
Tor Arne Vestbø
d64940891d Add qmake feature and configure option to use ccache
Enabled via configure --ccache, or CONFIG += ccache in 3rd party
projects.

Ensures that we use the right sloppiness and other ccache options
during compilation.

Task-number: QTBUG-31034
Change-Id: I696b3d3f0398873a29b93d1bc2b4d4e06ef23dc9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-09-05 10:47:35 +00:00
Liang Qi
112a4af107 Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	examples/examples.pro
	qmake/library/qmakebuiltins.cpp
	src/corelib/global/qglobal.cpp
		Re-apply b525ec2 to qrandom.cpp(code movement in 030782e)
	src/corelib/global/qnamespace.qdoc
	src/corelib/global/qrandom.cpp
	src/gui/kernel/qwindow.cpp
		Re-apply a3d59c7 to QWindowPrivate::setVisible() (code movement in d7a9e08)
	src/network/ssl/qsslkey_openssl.cpp
	src/plugins/platforms/android/androidjniinput.cpp
	src/plugins/platforms/xcb/qxcbconnection.cpp
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/widgets/widgets/qmenu.cpp
	tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp

Change-Id: If7ab427804408877a93cbe02079fca58e568bfd3
2017-08-31 14:31:31 +02:00
Joerg Bornemann
ea168ead1a Remove unused mkspecs variable QMAKE_LIBS_NIS
Change-Id: I09a161fe4706c19eba4ff54cdb03a10edc34871a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-08-28 13:10:44 +00:00
Joerg Bornemann
d7438593a8 Remove QMAKE_LIBS_CORE variable
Define the lib dependencies for corelib in corelib.pro, where they
belong.

Change-Id: I973d3b0c571782d869b27dea243e899db4dddc43
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-08-28 13:10:38 +00:00
Simo Fält
f480a25d1a Drop 32 bit iOS configs from mkspec
Qt 5.10 won't support 32 bit iOS.

Task-number: QTQAINFRA-1288
Change-Id: If3cfdb65ed94166d685d3cf444b5ab03d18680a9
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-08-28 05:03:36 +00:00
Francois Ferrand
fabedd399e Introduce OBJECTIVE_HEADERS
When a ObjC++ QObject subclass is listed in the regular HEADERS, qmake
creates a .cpp file. The moc file will then fail to compile, as it
requries ObjC++ headers. Using Q_FORWARD_DECLARE_OBJC_CLASS() can be
used to let the class be parsed by The compiler, but link will still
fail, as the generated methods (e.g. signals) must be built with ObjC++
compiler, in case they have ObjC parameters:

 Q_FORWARD_DECLARE_OBJC_CLASS(NSString);

 class MyClass: public QObject {
     Q_OBJECT
 signals:
     void objcSignal(NSString * myObj);
 };

The canonical workaround for that is including the .cpp file into the
corresponding .mm file. This also offers a compilation speed advantage,
but is somewhat counter-intuitive.

Therefore, we introduce a separate variable which instructs moc to create
.mm files directly.

Task-number: QTBUG-1581
Change-Id: Ia98af58006efd168ea37f3a63c396979e7e81baa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-08-25 12:15:36 +00:00
Thiago Macieira
94c4827a9f configure: Disable warnings in configure tests
No need to log them.

Change-Id: I3868166e5efc45538544fffd14d8c3cc0012ba12
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-08-24 03:47:10 +00:00