Commit Graph

1223 Commits

Author SHA1 Message Date
Samuli Piippo
62d13e2e9b Skip chmod for separate_debug_info when cross compiling on Windows
Task-number: QTBUG-56289
Change-Id: If6dd07182ed77e87865004c14240bf7f0c764772
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-10-07 05:25:42 +00:00
Jake Petroules
6c2d786e19 Add the ability for qmake to build Xcode asset catalogs
This essentially emulates Xcode behavior for QMAKE_BUNDLE_DATA.

This is mostly for our own internal use. No documentation is provided.

Variables introduced:
- QMAKE_ASSET_CATALOGS
- QMAKE_ASSET_CATALOGS_APP_ICON
- QMAKE_ASSET_CATALOGS_BUILD_PATH
- QMAKE_ASSET_CATALOGS_INSTALL_PATH

Change-Id: I9577415d637f022d05f301c5a0d799483cd2a963
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-09-28 17:58:54 +00:00
Vikas Pachdha
46913db2ea Fixes issue with iOS when project path has a whitespace
Task-number: QTBUG-55505
Change-Id: Ic853ecd46a3cb098fff2904119e9002f3add3b8e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-09-15 10:17:54 +00:00
Jake Petroules
4e53159d43 Mark Apple Clang 7.x as warning-free on macOS and (also Clang 3.9) iOS
iOS was excluded in 09aeda21b9, probably
unnecessarily. The build has been found to be warning-free.

Change-Id: I81de2fff40938b6ab9f7a6a5b9f08f8a8baadb16
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-31 22:16:02 +00:00
Thiago Macieira
2743cd54a0 Mark Clang 3.9 as warning-free
Change-Id: Id75834dab9ed466e94c7ffff1444b71f29f49afd
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-27 19:05:08 +00:00
Maurice Kalinowski
f4b2115b51 winrt: Add support for version requirements for MSVC2015
Previously we hardcoded the minimum windows version to the initial
Windows 10 release. However features have been added which require a
higher SDK version (eg drag and drop). Deploying such a package might
fail during distribution to consumer devices.

Hence introduce WINRT_MANIFEST.minVersion and
WINRT_MANIFEST.maxVersionTested as variables for the manifest file. If
nothing is specified, both values will be set to the UCRTVersion
environment variable, implying the development setup from which qmake
has been invoked.

Change-Id: I1dcf1e75c67c4ab2fd5a3fdcc32c8783a336e6ff
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-25 13:27:22 +00:00
Oswald Buddenhagen
2c5eb3e668 fix conditions relating to host_build in non-cross builds
when it comes to compiler flags (be it warnings or include paths), it
doesn't matter whether we building/using bootstrap libraries, but
whether we are actually cross-building.

amends c55bdc271f and d8be8110a.

Change-Id: Idf988107e9cccc486672c0ee70dc9bdf8eab9d8c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-24 15:28:50 +00:00
J-P Nurmi
ed4cd363b1 Fix missing qmlplugindump_wrapper.sh (debug_and_release)
qtPrepareTool() must be called outside a build pass, as it protects
against concurrent wrapper creation by omitting it during build passes.

Change-Id: I7cf080cf78d1099e4893a204ea40d8c6bc63af58
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-16 18:18:01 +00:00
Gabriel de Dietrich
77a71c32c9 configure and mkspecs: Don't try to find xcrun with xcrun
Since Xcode 8 (beta 2) that tool is no longer available
through xcrun. We resort to xcodebuild instead.

Change-Id: If9d7b535c1cbac2caae0112b2003283aeff34fb9
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-07-21 15:36:33 +00:00
Oswald Buddenhagen
a42c9cfc28 generalize references to exclusive builds
exclusive_builds_post.prf (via default_post.prf) processes
debug_and_release into BUILDS, so .prfs which can rely on being
executed later (because they are loaded via CONFIG) can rely on BUILDS
and related variables.

Change-Id: I5677079ad5145bf493af17b4b60347208572fd21
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-13 14:27:07 +00:00
Oswald Buddenhagen
fc57a6587b remove redundant condition from private module use warning
the whole point of the check is ensuring that the message is printed
only once for each sub-project, so !build_pass alone is fully adequate.

Change-Id: Ib8f821ead6709efc9bfa935e1d05f8caba02a814
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-07-13 14:27:04 +00:00
Samuel Gaist
07d3cbbe84 Add warning when using pkg-config with a Qt build with it disabled
This patch adds a warning that will be shown when link_pkgconfig is used
in a project but Qt's configuration has it disabled. This can happen
when Qt is built before pkg-config has been installed or if it's not
detected.

This will avoid user losing time trying to make pkg-config work while Qt
just ignores it.

Change-Id: Ieeff8dd6784b9430cfebef355855ec1be91bc96e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-13 14:26:38 +00:00
Jake Petroules
4b0cb35b84 Fix installation of debug symbols on Apple platforms.
This follows up ab599a3931, which did not
take installation into account.

Task-number: QTBUG-54036
Change-Id: Ic1b3acb8984255dd1ca1c288b7b150814ce9e606
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-06-22 22:30:03 +00:00
Oswald Buddenhagen
4c630fce9e fix make -i wreaking havoc in configure tests outside qtbase
the tests would inherit MAKEFLAGS, with somewhat predicatble results.

Change-Id: Ia17638f6229d0ae86f5558726850040703d90044
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-06-22 15:12:57 +00:00
Oswald Buddenhagen
5c38740031 limit installation of ANGLE translator and preprocessor helper libraries
libGLES2 (the only user of these libraries) is built dynamically even in
a static qt built when dynamicgl is configured. in this case the static
libraries need not be installed.

amends 2311997.

Change-Id: Ic9bc3937d6ee0d97e0ca7fc96596fa90ebfe8710
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-06-22 15:12:48 +00:00
Jake Petroules
1e147f446a Add back osx compatibility check in QMAKE_PLATFORM.
If macx is present, osx AND macos should be required.

Change-Id: I5cd9d41270c741dc314720a1119b163dd17fdfd7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-06-16 22:44:15 +00:00
Jake Petroules
3e2bde3578 Update for the newest Darwin-family operating systems.
- Adapt to the OS X => macOS rename in Q_OS_ macros/docs, qmake scopes,
file selectors, etc.
- Add new QSysInfo values and MAC_OS_X / __MAC_ / __IPHONE_ values for
macOS 10.12 and iOS 9.1 through 10.0.
- Update prettyProductName with new macOS "Sierra" codename.

Change-Id: Id976530beeafa01b648ebaa16f4a8f0613fcaf75
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-06-15 05:52:47 +00:00
Oswald Buddenhagen
e005e99005 fix ios device&simulator builds again
the assumption stated in b67a0836d is actually invalid - configure sets
build_all without debug_and_release there. debug_and_release does
actually imply build_all, though.

to make things less confusing, don't let configure inject
iphonesimulator_and_iphoneos into all projects, but handle it like
debug_and_release instead.

Change-Id: Ib7acdc63308a538862fc603428f81aba60bca08e
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-06-10 06:36:52 +00:00
Ulf Hermann
eda29451e9 Enable -separate-debug-info for mingw toolchains
Having the debug info in separate files is very helpful, especially on
memory constrained 32bit systems. When the debug info is compiled into
the object files, processes can run out of memory when trying to load
them.

Change-Id: I1808a32e855d6a62e17e1b734c511b31db5f03f1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-05-23 09:49:46 +00:00
Robin Burchell
b2e9c680e3 qpa: Use LIBS_PRIVATE, not LIBS when linking in font database bits.
LIBS_PRIVATE is more correct (these shouldn't be part of the public API),
and additionally, using LIBS_PRIVATE also ensures these libraries come last
on the link command, which fixes builds using -Wl,--as-needed.

Change-Id: I9f2e4e78855a30a53ce9013623597b840a2832bd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-05-19 12:45:36 +00:00
Liang Qi
640441882d Merge remote-tracking branch 'origin/5.6.1' into 5.6
Conflicts:
	src/network/socket/qnativesocketengine_winrt.cpp

Change-Id: I8edb72f8ba958d80c3d7993b3feaaae782ca8d9c
2016-05-19 06:31:06 +02:00
Oswald Buddenhagen
5cbea54986 enable example installs for all modules
so far, each module had to do it in its .qmake.conf. by now, all modules
have been adjusted to the expected structure, so we can enable it
centrally.

Change-Id: I16b4e7581e51bfc54e71d2f7f852858ae0b47281
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-18 09:07:38 +00:00
Oswald Buddenhagen
5b5b7f97b8 complain about examples which don't install themselves properly
Change-Id: I6555d449430111639b084ddc3e4b4bc14b61bc30
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-18 09:07:32 +00:00
Oswald Buddenhagen
b67a0836d9 QT_CONFIG simplification re debug_and_release and build_all
don't pretend that these two flags can be set separately - the
configures set them in tandem.

Change-Id: Ib0beae0152de09026d4627fd3ae0feabd9ce1b81
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-17 15:31:40 +00:00
Simon Hausmann
74910e2192 Fix running of configure tests when cross compiling on Windows
When compiling on Windows to for example Android, we may be using the unix
generator, but the make command may be mingw32-make.

Task-number: QTBUG-53038
Change-Id: If8d1e1bea733cf1b4ed837c423a34ecfb3cafd1f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-05-17 12:15:33 +00:00
Marc Mutz
ed38750c03 Add -Wzero-as-null-pointer-constant to headerclean check
Requested by user(s).

Change-Id: Id2c7d67a8cd50f4f83f141cff41ba01e21c3a603
Task-number: QTBUG-45291
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-13 19:41:55 +00:00
Andy Shaw
5dc421ec87 Restore the missing -P option for lex handling
We don't know why it works, but we've been told that it fixes
some builds and we have no reason to think it will break others.

Task-number: QTBUG-52998
Change-Id: Iacaa1fb3c49e4d7aafd4167e591ff3724489872e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-05-10 13:16:37 +00:00
Oswald Buddenhagen
8edfc4e9b6 make zlib_dependency auto-add QtCore as a private dep
our zlib header includes qglobal.h, so we need the qtcore include dirs,
and qtcore is also where the actual code is compiled into.

Change-Id: I09f530a1b4e6160438215a6d7223c0771ce94f05
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-05-09 12:52:08 +00:00
Oswald Buddenhagen
e34ebe6328 automate the installation of some more example source files
Change-Id: I61f9f4882c5a7743817059824250958f5ce4a603
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-05-03 10:25:14 +00:00
Oswald Buddenhagen
8f0bf2d3d2 support directories in COPIES
this makes it fully consistent with INSTALLS.

note that this also removes the file name from the target path when
copying files, also for consistency.

Change-Id: I69042c9aa1e2cc81f8ff982343ba25688a04abfd
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-05-02 18:35:02 +00:00
Oswald Buddenhagen
49f92f9ab7 add some missing filename expandos to extra compilers
- QMAKE_FILE_IN_EXT as an alias for QMAKE_FILE_EXT, for consistency with
  QMAKE_FILE_IN_BASE
- QMAKE_FILE_IN_NAME to make pairing _EXT/_BASE to get a full name
  unnecessary (finally ...), and make use of it
- QMAKE_FILE_OUT_PATH, because i'll need it

Change-Id: I3d91ddb84f9cce52a665d562da11d165c92550c8
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-05-02 18:34:59 +00:00
Oswald Buddenhagen
be6a92ec09 remove redundant OTHER_FILES assignments
newer versions of qt creator understand QMAKE_EXTRA_COMPILERS and
INSTALLS, so there is no need to list the files twice.

Change-Id: Iccf3cc3248daf3422b8c366c2eb2d2f46c5f08d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-05-02 18:34:47 +00:00
Oswald Buddenhagen
c55bdc271f don't apply warning options to host builds
the host compiler's version is not determined, so we cannot make any
assumptions about its capabilities.

Task-number: QTBUG-53017
Change-Id: I939fd7402b5daac73f2195b9d8763b9008bc7ea4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
2016-04-29 09:58:42 +00:00
Oswald Buddenhagen
f1958dbbea make use of COPIES
Change-Id: I34965cada901fce3cf300a99fa65d4d3f9bd4578
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-27 21:08:47 +00:00
Oswald Buddenhagen
a060d25ef2 add support for copying arbitrary files
this adds file_copies.prf, which understands the variable COPIES, which
works analogously to INSTALLS.

i've been holding this off for a long time, as it is not without
caveats. however, similar hacks are proliferating all over the code
base, so it's time we formalized it.

in fact, it's the easiest way to fix some nasty shadow build problems,
which is why i'm adding this on the stable branch.

Task-number: QTBUG-52256
Change-Id: Icbe3b9fbb79c952546aad2d467a438d3a69d749f
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-04-27 21:08:40 +00:00
Jake Petroules
5406817493 Fix separate_debug_info with no_plugin_name_prefix
Task-number: QTBUG-51782
Change-Id: I5499139c732f2ff474095e30bc1f7a22743f4b12
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-14 21:29:00 +00:00
Jake Petroules
ab599a3931 qmake: Add support for separate debug info on Apple platforms.
This makes the -separate-debug-info configure optional functional, which
generates dSYM debug info bundles for Qt libraries on Apple platforms.

Task-number: QTBUG-37952
Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Change-Id: Ia247674740bf450130a15db926df07fa9007e2ca
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-14 21:28:54 +00:00
Thiago Macieira
f494da8895 Clang 3.8 is clean of warnings
Change-Id: Ibc83b9f7e3bc4962ae35ffff1425c8e686579e15
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2016-04-13 22:08:12 +00:00
Oswald Buddenhagen
51f040866b remove empty dylib.prf
it doesn't appear to be referenced in any way, either.

Change-Id: Ifd30b435e3e628cd5e48ae24e9aef01c662d6d61
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-04-12 12:45:54 +00:00
Jake Petroules
838fd4039e Fix bugs in accuracy of target path calculation in resolve_target.
Incidentally, this introduces QMAKE_RESOLVED_BUNDLE, which can be used
to determine the path of the bundle wrapper itself as well as the
executable target.

This is necessary for a subsequent patch adding support for
-separate-debug-info on Apple platforms.

Change-Id: Ia11430026b8e3f171e5db6677b190b8356832805
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-11 19:45:10 +00:00
Donald Carr
2693ca59e1 Adjust egl config.test to pass sysrooted libs
We should really start using -L=/foo and -I=/foo inside of sysroots,

this test was preventing us from doing so (while arguably buying us
nothing).

Change-Id: If6e67631c585493871231e5d8a9354fa72e07343
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-08 23:37:07 +00:00
Oswald Buddenhagen
5e30c4065d remove bogus no_cxx_module conditional
this flag specifies that the plugin does not track a qt module. this is
entirely unrelated to whether the plugin should be versioned.

amends f54a3d783.

Change-Id: Ibd3e9bedf488dc58e6354ccf7dd33d974e5f52c2
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-04-08 10:56:43 +00:00
Maurice Kalinowski
34e0e908c8 winrt: Add capabilities as specified by modules
So far no capabilities (but internetClient for Windows 10) were added by
default, which forced developers to always manually edit the
WINRT_MANIFEST.capabilities(_device) property.

This allowed to leave out non-required capabilities and keep the created
manifest clean, examples being microphone for multimedia.

However, this also breaks first user experience as deeper knowledge
about this topic is required. Furthermore this is inconsistent with
other platforms like Android, where all capabilities are set by default
and developers need to edit the manifest manually in any case.
With this change, modules can define the capability set to enable all
features in the module. If developers want to disable some again, they
need to adapt the generated manifest. From our experience this needs to
be done in any case, latest at publishing stage when the store
manipulates the manifest.

Task-number: QTBUG-38802
Change-Id: I6d522268ee0afbfa00a30dbdd5e6ec9f415bebf3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-07 20:03:55 +00:00
Maurice Kalinowski
7565b73434 winrt: Enable windeployqt by default for Visual Studio projects
Using Visual Studio a user very seldom wants to disable the automatic
invocation of windeployqt. Hence switch from opt-in behavior to opt-out.

This also fixes first user experience to invoke qmake –tp vc and then
hit run on examples.

[ChangeLog][Platform Specific Changes][qmake] qmake-generated Visual
Studio projects now automatically invoke windeployqt by default.

Task-number: QTBUG-52008
Change-Id: Iee1607269c38c7f6c726f554978ac05477bebe5e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-03-23 09:56:56 +00:00
Frederik Gladhorn
6380cc710e Merge remote-tracking branch 'origin/5.6.0' into 5.6
Change-Id: Iac8ff05cd76cbacf859138a73e8e2ed0a979c75a
2016-03-17 16:02:45 +01:00
Oswald Buddenhagen
adc5c93ddc support relative paths in configure -R
[ChangeLog][configure][Unix] configure -R now supports paths relative to
-libdir.

Change-Id: Ie56264a6dedcbaf5577c7ef44b056c8a7870ef48
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-03-16 15:09:44 +00:00
Oswald Buddenhagen
d8be8110a4 make -D/-I/-L/-l/-R not affect bootstrapped tools
it's likely that these will be wrong, and the bootstrapped tools usually
don't need them anyway. should they turn out necessary after all, we
need to add -H* variants of the flags.

Change-Id: I15c54c5e25d20ebd474073a530f00254842f515d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-03-16 15:08:54 +00:00
Oswald Buddenhagen
867357235e delay application of configure -D/-I/-L/-l/-R flags
it is important that the flags coming from the current qt build appear
first, as otherwise a pre-existing qt installation may interfere with
the build.

the windows configure does not have any of this magic to start with.

Task-number: QTBUG-6351
Change-Id: Iacc1d9b5aa9eed9a5f0513baef9f6c6ffcef0735
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-03-16 15:08:23 +00:00
Oswald Buddenhagen
523c7e3fd5 build with explicitlib after all
unlike speculated in 2fe363514, this is not a workaround at all: it
causes that libraries' public link interfaces (LIBS) are exported in the
first place. unlike with staticlib, this does not export LIBS_PRIVATE,
so it wouldn't even be a particularly effective workaround for rpath
brokenness anyway.

the problem was pretty well hidden by the qt module system, which at the
level of libraries is pretty redundant with the .prl file handling,
which shows just how stupid the whole "design" is.

unlike before, we now enable explicitlib for all libraries, not just qt
modules - we enable create_prl for all of them as well, after all.

an immediate effect of this change is that it fixes linking on RaspPI:
the qtcore headers make the user code require linking libatomic, so we
must add it to our public link interface.

Task-number: QTBUG-51621
Change-Id: I5742c88694db8e8a9b79d17222dc6df2b38e5ab2
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2016-03-16 15:07:09 +00:00
Peter Seiderer
e69e695196 Disable c++ standard compiler flags for the host build
There is no test for c++ standard support for the host build
(only for the target compiler/build) which leads to trouble
in some cross compiling environments (old host compiler, new
cross compiler):

  g++: error: unrecognized command line option ‘-std=c++1z’

So disable c++ standard compiler flags unconditionally for host builds.

Task-number: QTBUG-51644
Change-Id: Ifb3042e125fe199a7e081740d1171d26ccacf0c5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-03-08 19:30:04 +00:00