Commit Graph

611 Commits

Author SHA1 Message Date
Sergio Ahumada
b17e030ef5 test: Mark cmake tests as insignificant when -no-widgets is used
Task-number: QTBUG-28540
Change-Id: Iaa238ce8fb857ec8856dd9d6f3adc49795db1de1
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-12-11 22:03:00 +01:00
Miikka Heikkinen
d4d2e4b39d Automatically import plugins in all applications with static Qt
Since all gui applications already need some QPA plugin added,
we might as well add the default plugin and generate the code
to import the plugins automatically.

User can opt out from the automation by removing relevant
items from CONFIG variable: link_qpa_plugin or import_plugins.

Task-number: QTBUG-28131
Change-Id: Ic171c363464c099143374d3e39bcc28f6edf73d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-11 16:08:10 +01:00
Stephen Kelly
1278b3cb8a Remove QT_DLL and QT_NODLL defines.
Task-number: QTBUG-28044

Change-Id: Ib8c4e1e8e52703aa6590875c34f05b6bc71db808
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-11 13:37:57 +01:00
Oswald Buddenhagen
b8d0bde59c install a sane top-level examples.pro file
generally, don't install anything from the top-level examples dirs
automatically. the global README and the aggregator examples.pro are
installed explicitly.

Change-Id: I5f6b8760f37d917b800fa85979896a471778cac0
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-11 13:37:57 +01:00
Oswald Buddenhagen
70eef84b18 re-enable "check" targets for all projects, but with opt-out possibility
the feature was backported to qt 4.8, and people apparently started to
rely on it. it doesn't add too much overhead when not used, so enable it
by default again.

Change-Id: I15890027603ede733347f2c05b36ad1389c649cf
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-11 13:37:57 +01:00
Oswald Buddenhagen
95a158d40f fix static lib dep addition
leave MODULE_LIBS unmodified - MODULE_LIBS_ADD takes the role of the
filtered variable.

Change-Id: I2a67078bbc453eccc08317a1ca8e3228cbc3a8f7
Reviewed-by: Davide Pesavento <davidepesa@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-11 13:37:57 +01:00
Oswald Buddenhagen
6694d39131 centralize headersclean test
so other modules can actually re-use the code without referencing qtbase
sources.

Change-Id: Id66f07b476e539273dd32455e7642a17d7e5d0ef
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-11 13:37:57 +01:00
Miikka Heikkinen
903fa2e4aa Add QT_DEFAULT_QPA_PLUGIN to generated qconfig.pri
Configure will now generate QT_DEFAULT_QPA_PLUGIN qmake variable
to specify the default QPA plugin.

"CONFIG += qpa_default_plugin" statement in application .pro file
will add the default QPA plugin into QTPLUGINS.

"CONFIG += qpa_minimal_plugin" statement in application .pro file
will add the minimal QPA plugin into QTPLUGINS.

Task-number: QTBUG-28131
Change-Id: I12a241005f30b37467d783b50f0369b47e605e68
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-10 15:33:54 +01:00
Miikka Heikkinen
f166fcd3d0 Pro-file level support for importing plugins for static Qt builds
Platform plugin is needed always when gui is linked to an application.
This is tedious to do manually for static builds, so provide support
for generating a source file that imports static plugins for
application projects.

"CONFIG += import_plugins" statement in application .pro file will
generate required import statements for all plugins specified with
QTPLUGIN variable.

The plugin class names are found from plugin's module pri generated
automatically when plugin is built, as long as the plugin specifies
the PLUGIN_CLASS_NAME in the plugin .pro file before loading
qt_plugin.prf.

Task-number: QTBUG-28131
Change-Id: I19f8ea48a3c1e9b5c81f4399c4b5d439a6d4bea1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-10 15:33:45 +01:00
Miikka Heikkinen
db4aa4d1d5 Only handle QTPLUGIN when linking against static Qt
Usage of QTPLUGIN implies static Qt, so only handle it when that is
true so user projects do not need to scope it if they support linking
against both static and shared Qt.

Change-Id: I011b4672bac122d7d64d8f2fc0e41ca7e5251dfc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-07 19:55:19 +01:00
Miikka Heikkinen
21105e7138 Fix module pri file name for static plugins
Since QTPLUGIN variable values are used to locate both the plugin
library and the module pri file, those must match. Therefore generate
module pri file name using the TARGET of the plugin rather than the
pro file name.

Change-Id: I9ec6f2a087ba3b3cecf7034c8a28b31df155cd97
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-07 19:55:13 +01:00
Oswald Buddenhagen
6fb7222707 move cmake template files under features/data/
there will be more template data, and it wouldn't be too nice
to spread it all over mkspecs/.

Change-Id: I909c48d26ac34f8c0f66051a65d326366d49c096
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-12-07 19:54:44 +01:00
Oswald Buddenhagen
14382d77c5 simplify code by using new $$absolute_path() function
Change-Id: Ie8102eea5c2b108154b76ed35bdbc6d8572bd4a5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-07 19:54:39 +01:00
Oswald Buddenhagen
5a0ac34396 finish the job of removing uic3 support
this should have been in 048b697c07.

Change-Id: I8589453ef937db1a9a446b0e5d01bb830b0cf6b0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-07 19:54:32 +01:00
Oswald Buddenhagen
d6fd4e52f1 remove another dead assignment
Change-Id: I79ffdba571b48def4494b018b2a2abdee8aab0a8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-07 19:54:22 +01:00
Stephen Kelly
c4642b45cf Only generate -fPIE on unix.
This follows the same logic used to set bsymbolic_functions.

Change-Id: I9300eab8a1b6673c4409b5dd07b40123fdf00d69
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-07 14:49:08 +01:00
Stephen Kelly
25f903bf28 Topologically sort $${MODULE}.depends when generating cmake files.
The contents of this eventually go into a CMake target
property IMPORTED_LINK_INTERFACE_LIBRARIES, which seems to expect
sorted input. Usually the contents is generated by CMake itself,
so generating content it expects is reasonable.

This fixes the qtactiveqt cmake unit test with MingW on linux.

Change-Id: I2a540bea5c3ac214ad4e1dfedfb7cbd2f863472b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-07 14:49:08 +01:00
Oswald Buddenhagen
0815563924 replace all modules' build dirs while installing .pc, .la & .prl files
now we may get files with several mentions of the same lib/include dirs
on the same line, but that's essentially a non-issue.

Task-number: QTBUG-28336
Change-Id: I8204086420b82015f62090ae0a56908ce0cccee8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-06 12:49:02 +01:00
Oswald Buddenhagen
bf9d099c47 export the Qt top-level include dir as pkg-config ${includedir}
this seems more generic, and allows for more substitutions inside the
generated files.

Change-Id: I7a2e37036f9f9f7dbf7f28f0976ef427dd28ee82
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-06 12:49:02 +01:00
Oswald Buddenhagen
787373d376 export only 'host_bins' to pkg-config, rather than a random selection of tools
the "export location" of the linguist tools was just bogus, and lconvert
was missing anyway. the two dbus tools and qdoc were missing, too.
generally, it seems useless to report the paths of some random tools -
instead, just report the install location of the host binaries and let
users figure out the complete paths themselves - this should be ok, as
we decided that distributors are not supposed to do tool renaming any
more.

for the binary path just use the final location, as the files won't be
used before installation anyway. this allows us removing the scary
generic prefix replace from the pc file installs.

and as a side effect this also fixes debug_and_release builds of core
and widgets by not loading various prf files prematurely and thereby
messing up the dir replacement magic.

Task-number: QTBUG-28286
Change-Id: I99de419301fc07fb923959db4bd5cab9072d1c31
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-06 12:49:02 +01:00
Oswald Buddenhagen
ccea7b7114 remove unused assignment
Change-Id: Id60af477b9608bd3dfd0659d9d3a6e202fbe7dc9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-06 12:49:02 +01:00
Oswald Buddenhagen
943c04d879 don't make the doc installs depend on the regular build
it's pretty pointless

Change-Id: Icea0073683a2d949798147fba3fad5b3331b1125
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-05 17:29:46 +01:00
Oswald Buddenhagen
4404cd5165 fix doc target recursions
in particular for the meta Makefiles of debug_and_release.

the logic is as follows:
- the meta targets ('html_docs' in prepare_docs mode, and 'docs' always)
  need to branch out asap, so they are implemented non-recursively in
  every makefile.
- all other targets need to be fully recursive. the meta Makefile will
  recurse only into one of debug or release, depending on the configure
  option (it doesn't matter anyway).

Change-Id: I4e3f714cdda9c3a1021743148b5ee73379e3484d
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-05 17:29:46 +01:00
Oswald Buddenhagen
dab346fa25 make the addition of docs/-install targets unconditional
there is no reason why something should break out of the system.

Change-Id: I081bffc0927b43ac4940d0200e32e1e60f6f2e97
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-05 17:29:46 +01:00
Oswald Buddenhagen
23153fb8c5 Merge branch 'master' into stable
Change-Id: I5c0c9a131cca64fea3bc784339d14d84076edc1a
2012-12-03 21:58:14 +01:00
Oswald Buddenhagen
d2179014f9 introduce QMAKE_RPATHLINKDIR (and QMAKE_LFLAGS_RPATHLINK)
complementary to QMAKE_RPATHDIR. this avoids that we need to sprinkle
linux/gcc specific code all over the place.

Task-number: QTBUG-27427
Change-Id: Iebafd1749d1a0d803704902473df8c743f074ddc
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-03 16:26:37 +01:00
Oswald Buddenhagen
9e9b98aeea don't forget to export rpath_link{,_private} to the cache
Change-Id: I1d204696ed0e4ef5e45dc1716b3d6a8224b3169b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-03 15:56:28 +01:00
Oswald Buddenhagen
4315545f89 remove support for hand-written module pri files
all modules have been migrated to auto-generation

Change-Id: Ie7b3ebfd735a22f8e0b0339909b6385508d7a6b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-12-03 15:56:28 +01:00
Oswald Buddenhagen
d902b3a481 don't auto-install example sources by default for all modules
turns out that some modules need a lot of work, so make it opt-in for
the time being.

Change-Id: I16365e3d96adab98a1bc748907dbd67488dfad5f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-12-03 15:56:28 +01:00
Oswald Buddenhagen
25aa803af7 auto-collect qml-related sources
Change-Id: Ia5b56227c2c1f18254d35f6105ac3a146f085e3b
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-12-03 15:56:28 +01:00
Oswald Buddenhagen
77fd2f8319 factor out testcase_targets.prf
instead of letting *every* qmake-based project have recursive check target,
let interested projects "subscribe" to it by adding CONFIG+=testcase_targets
in a central place (.qmake.conf, which Qt itself does via qt_build_config.prf).

Change-Id: Ib13fdd2d3a1adee0c5ad02b6b176a664c583bf9d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-03 15:56:28 +01:00
Oswald Buddenhagen
0d40958347 centralize doc target related code
Change-Id: I710a7f2fc3422ec8ba5b8e90bfd92e7931092ad0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-02 02:16:08 +01:00
Oswald Buddenhagen
b1ff4712f2 resolve private dependencies of tools as well
Change-Id: I25c73661489f0a6e6ecf3bb423cdae6435221e25
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-02 02:16:00 +01:00
Friedemann Kleint
95a05904b9 ANGLE: Fix debug-and-release builds
Add a 'd' to debug builds to allow both release and debug builds
to be used.

- Add .def-files for Debug
- Build all libraries debug/release
- Add description to README.qt
- Differentiate debug/release in qmake.conf.

Task-number: QTBUG-28196

Change-Id: Ib3081004a6ed2ad71d353244154684d2e0ebbc86
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-12-01 08:30:38 +01:00
Joerg Bornemann
9d650a4b36 don't link qtmain.lib when using idcidl.prf
QAxServer projects must not link qtmain.lib.
This awful hack was adapted from the old qaxserver.prf

Change-Id: I78b4cbf6714bfbd88341449b9230f1989cff8a6f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-30 21:57:49 +01:00
Miikka Heikkinen
09a1810319 Added custom flags for enabling dependencies of other parts to tools
Introduced CONFIG flags examples_need_tools and tests_need_tools.

Change-Id: I4789d05f6bc0a63c75340c3b3e2aecde18c42c20
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
329e174802 expose a little less of the build host's file system structure
Change-Id: I6fc675b9aeae0744c3308cd20ffd8c115c271c58
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
3e37c209d2 remove another pointless indirection
we directly expand $$TARGET on the same line, so just do the same with
$$VERSION

Change-Id: I3601bfcc835b13f63dce43d00cfe8d34ded60b21
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
02cb58cbd4 remove unnecessary indirection
we are assigning QT.*.VERSION from VERSION a moment earlier

Change-Id: Ie4d51f8835b8050755bc399a1a597967c8e3e499
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
2c8ebbc25b make it possible to name include dir differently from library name
ActiveQt needs that

Change-Id: Ib9f69d19e8042c1ab0f211eebb9237bc2fb77aa3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
5de4b24c99 don't install headers into Qt/ any more
this should have been part of 656e0d342.

Change-Id: I56e5d743a756e9236759595429de85754593638e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
aeb036ed87 centralize and fixup example sources install targets
it's confusing for the users if the examples' project files contain code
to install their own sources. also, this constitutes an enormous code
duplication, and lots of mistakes. consequently, automate it.

more or less as a side effect, this also removes the entirely meaningless
target installs in subdirs projects.

Task-number: QTBUG-28184
Change-Id: I9fc1367a06db9e2c46aeb67d68729a4f67163ef9
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-29 20:21:11 +01:00
Oswald Buddenhagen
bc6228c3f4 factor out qt_docs_targets.prf
instead of letting *every* qmake-based project have recursive docs targets,
let qt modules "subscribe" to it explicitly by having load(qt_build_config)
in their .qmake.conf (which they already do).

Change-Id: I97b74591fd0c4bd5f8b08c5f550df9c7eef2f556
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 16:21:57 +01:00
Oswald Buddenhagen
e543807ca0 reformat assignment to ease later modification
Change-Id: Ib8741baf678583fe56ea0f0a5d4cf2ee22b21b3a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-28 16:21:57 +01:00
Thiago Macieira
5dcc36b15c Add a -libexecdir option to the configures
User applications are those that users run directly, whether it be for
development or not. The executable binaries that the user does not
usually run but is still required for proper functioning are called
"program executables" in Autoconf and they are placed in libexec.

This commit adds support for "program executables" in Qt by adding the
-libexecdir option to the configures, the qmake variable
QT_INSTALL_LIBEXECS (note the plural, to match all other properties),
and QLibraryInfo::LibraryExecutables.

At the time of this commit, the only expected "program executable" is
the QtWebProcess, the WebKit2 helper process from QtWebKit.

Change-Id: I66c3a3e0cf7f9d93b5f88f55f18e957faff608fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 08:39:07 +01:00
Oswald Buddenhagen
6133c8a9e7 revamp doc generation targets
- the old docs target becomes html_docs
- a new qch_docs target is added. the .qch files end up directly in
  QT_INSTALL_DOCS, wihout any subdirectories in between
- the new docs target invokes html_docs and qch_docs
- respective un-/install targets are added as well. note that the
  install targets don't depend on the build targets, as it's virtually
  impossible to get the dependencies right throughout the hierarchy.

Change-Id: I07a2589db8252371e77cf925c47c4e59fbd1b2ca
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-27 19:31:21 +01:00
Joerg Bornemann
a7ac893534 adjust to modularization changes in ActiveQt
Task-number: QTBUG-27776
Change-Id: I1c30270867d20f028bad09fdc5408a414b122f5b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-27 16:18:15 +01:00
Sergio Ahumada
cd765bbae0 qmake: Change copyright information from Nokia to Digia
Task-number: QTBUG-28156
Change-Id: If54615a465504b4124891fb393185eb324372874
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2012-11-26 17:33:37 +01:00
Oswald Buddenhagen
86b2804eaf bootstrapped tools don't need env var setup
Change-Id: I15d818d3ca24d426e492ea9d3a423f661b3ccf3b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-22 14:44:53 +01:00
Milian Wolff
a0ac93c73d packagesExist(): always return false if QT_CONFIG contains no-pkg-config
On QNX e.g. you'll end up with a Qt configured without pkg-config support
by default. Once you try to compile e.g. QtWebKit which contains a check
like packagesExist(libudev) the system pkg-config (see default branch
of pkgConfigExecutable) will be called without any special config sysroot
or libdir. Thus libudev will be found in your system host, even though
it is not available for the cross compile target. This leads to compile
errors as described in https://bugs.webkit.org/show_bug.cgi?id=98032 .

Change-Id: If1474cb3b3f3b71fad7269e4aedd4e10f70a9b2a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-21 16:36:50 +01:00
Oswald Buddenhagen
1c70033bb6 don't set CONFIG+=release during build passes
otherwise we get inconsistent builds.

Task-number: QTBUG-28046
Change-Id: I7952000bfc8e02ced5fd2c1bbffab7384f2730c1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-20 16:46:33 +01:00
Eskil Abrahamsen Blomfeldt
0dc61c4216 Merge branch 'newdocs'
Added prepare_docs to qt_build_config.prf (it was added
directly in configure in the source branch)

Conflicts:
	configure
	tools/configure/configureapp.cpp

Change-Id: I1337c69fc62b1c934e3e39b4409e4857440c9db8
2012-11-20 10:12:44 +01:00
Thiago Macieira
df3631045c Add a new location for QML 2.x imports
This commits adds a -qmldir configuration option for the configures to
allow the user to change the default location (it defaults to
$archdatadir/qml).

It adds a QLibraryInfo::Qml2ImportsPath value for
QLibraryInfo::location, a qmake property of QT_INSTALL_QML and a qt.conf
configure location entry "Qml2Imports".

At the same time, it makes the qmake .prf files dealing with QML plugins
be the QML 2 version. Those files are new in Qt 5, so we have the option
to choose which version we want to use.

Discussed-on: http://lists.qt-project.org/pipermail/development/2012-October/007136.html
Change-Id: I8c1c53e8685a5934ed0a9a42ba5663297b81a677
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-19 15:25:54 +01:00
Oswald Buddenhagen
f2b77e0c3c make qt_tool support building bootstrapped tools
as a "side effect", this fixes the build of bootstrapped tools when
doing a debug build under msvc: qt.prf would add CONFIG+=release after
default_post.prf already loaded debug.prf.

Change-Id: Idd17cf28d358950fd90bb18ca7a8d67e06953bc1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-16 15:59:20 +01:00
J-P Nurmi
9cdcd2f639 qtAddModule(): define PRE_TARGETDEPS for static modules
This ensures that for example the platform plugins get properly
re-linked when the static platform-support lib changes.

Change-Id: Iad493d4de30d6f6977f80aa56d0b27d05e9e3770
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-14 12:29:01 +01:00
Stephen Kelly
235f04f8c9 Refactor create_cmake to re-use the computed stem.
Change-Id: I3b277316b1befbb57613b465fc5bbedc6b2305f7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-13 18:51:15 +01:00
Oswald Buddenhagen
c3637ce66b define the module rpath in the installed module pri file
the fallback path wouldn't account for a sysroot. as there is no clean
way to implement that, rather remove the fallback alltogether and make
the rpath a mandatory part of modules.

Change-Id: I6f2bd6e36889be2f61e17a579174380aa3c6622d
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-13 16:05:50 +01:00
Thiago Macieira
d725239c3e Insert the Qt major version (5) in the library names
As discussed on the mailing list, insert the Qt major library version in
the library name, so even the development files can be co-installed with
Qt 4.

Discussed-on: http://lists.qt-project.org/pipermail/development/2012-September/006545.html
Discussed-on: http://lists.qt-project.org/pipermail/development/2012-September/006551.html
Change-Id: If0be11ebf9454a9fb6d96cda161790dfd53c00f5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-10 09:20:26 +01:00
Oswald Buddenhagen
3ad90ea8f6 Generate a proper static QtBootstrap module
Making a properly installed libQtBootstrap simplifies
our tools build process a little and in addition allows
other comand line tools to use the bootstrap lib and
link against it.

Initial-version-by: Lars Knoll
Change-Id: Iddf4568a5505bc24898ec1abf7e7022e19f0a454
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-08 16:59:50 +01:00
Oswald Buddenhagen
f1841d864d make it possible to put removals into modules' .CONFIG and .DEFINES
the respective flags/defines need to be prefixed with a minus sign.

Change-Id: I8a3a46254f90d4ecdbd692a0eca635038691d078
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-08 16:59:50 +01:00
Oswald Buddenhagen
735738cc65 add support for per-module QT_BUILD_PARTS overrides
this makes it possible to configure with -nomake tests, but have, e.g.,
QTSVG_BUILD_PARTS="libs tools examples tests" to enable tests
specifically in the svg module.

Change-Id: I925ab955ac32ec3e311c2a852a51b098fd4e0ea3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-08 16:59:50 +01:00
Thiago Macieira
565b6bd635 Make it possible to suppress the automatic version number in DLLs
qmake automatically appends the library's major version number to the
DLL file name on Windows, as DLL naming doesn't include the version
number on a suffix like on Unix systems.

This flag makes it so qmake skips adding. This will allow us to insert
Qt's major version number at a different position.

Change-Id: I25d471038841fb0c5a34ef6b3bd6266aa33cebd1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-06 23:52:47 +01:00
Oswald Buddenhagen
754cf42bb5 don't unset TARGET_VERSION_EXT
otherwise we may remove a user-provided setting.

Change-Id: If3217a3d92938fe2f3ac3740a645d3ace0ce9ab0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Oswald Buddenhagen
76dfe82add move QT_NAMESPACE define to qtcore's module pri file
it's basically an attribute of qtcore (and everything that depends on it).

Change-Id: I6eeefeb5df70764399d9f22dca9dbec1843b8d68
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Oswald Buddenhagen
80439fbd82 move invariant CONFIG flags out of the configures
we now have qt_build_config.prf which can contain static code.

Change-Id: I3f0ae142fdc5ffb4e1d25e628e809ba15b5f0ac4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Oswald Buddenhagen
bc64a7a6f7 remove pointless messing with CONFIG+=fix_output_dirs
the function is automatically performed by debug_and_release.prf,
regardless what we do with this flag.

Change-Id: Iddec69b35e0e905fdf4133ee240af37d3a8ada0b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Jerome Pasion
c808dd2745 Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Change-Id: I7e6cee190a341901dfbf8effb54ebccb91bf7a17
2012-11-02 14:41:27 +01:00
Oswald Buddenhagen
733ac1f6e6 let static plugins have "module" pri files
... and use them in qt.prf instead of (not) maintaining hand-coded lists.

Change-Id: Ia21f7864eaf3ca92fa75f23876f71075d0521f4b
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-11-01 22:35:28 +01:00
Stephen Kelly
b94cfa4236 Use the new QMAKE_XSPEC to get the mkspec.
Change-Id: I7f307ffe0954464f68192f9f3781bdb206f87809
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-01 22:22:24 +01:00
Oswald Buddenhagen
8abfe4bb43 purge dead defines
Change-Id: I8770416a19fb0951c0096cedf3f36c3493437903
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-01 20:17:57 +01:00
Oswald Buddenhagen
7db3c4dc1d remove pointless indirections
Change-Id: I2bf6d9a0352dea75f8fd596859ca7939685c9cec
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-01 20:17:57 +01:00
Oswald Buddenhagen
6853f888eb use .qmake.conf instead of sync.profile as "anchor"
this is less expensive, as qmake already provides us with it.

Change-Id: Ifb44ea9126e6b52c02025858c5d88032e7a6cc2a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-01 20:17:57 +01:00
Oswald Buddenhagen
8c39b4c05f beef up qt_plugin.prf
it now defines the DESTDIR and creates an INSTALLS rule.

Change-Id: I15a462ccad9acbe3521c352fa98327825dc27c05
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-01 20:17:57 +01:00
Oswald Buddenhagen
21d74702d1 add qml1_{module,plugin}.prf
these are in fact thin wrappers around the qml2 variants, which got
respective hooks.

Change-Id: I1190856aea3f454b6f163e147d39c707a35ec4c6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-10-30 21:46:43 +01:00
Oswald Buddenhagen
f05a392f3e fix tool invocation for -prefix + -framework builds on macx
set DYLD_FRAMEWORK_PATH instead of DYLD_LIBRARY_PATH

Change-Id: I9849f12063b8c7a45d040c087f4611c3a48180b8
Reviewed-by: Johanna Äijälä <johanna.aijala@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
d802a00198 let qt_tool.prf set up DESTDIR
Change-Id: Ie30066566fe25859b2a661970b11a58e69361b1d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
b493e1ec6f introduce tool_plugin CONFIG flag
while plugins for libraries need to follow the -debug-and-release switch,
plugins for tools must follow the single-config approach of tools.

Change-Id: I8a79e98034d2ff8b5d4e6191a9143c9472a5aa02
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
f0ee55c00a VERSION makes no sense for plugins
Change-Id: I7af058eec1c5a0fdbd9848d2dc2f6bd76ca4747e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
4010c70269 namespace "module" pri files
we now have tool and soon plugin pri files. make them easily
distinguishable.

Change-Id: I8904e4182227a78060121e8712446bc43b1dd185
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
103ddce67a kill $$mod_component_base & $$mod_qmake_base
use $$MODULE_BASE_OUTDIR & $$MODULE_QMAKE_OUTDIR directly.
this is a no-op, except that now module pris will be built in qtbase for
all modules when building without -prefix - which is only consistent with
all other artifacts.

Change-Id: I2965b2c7a15aa9e82ba6017f5f4c0daa14b6e6fe
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
4a9ffb5c9e centralize module directory calculation
Change-Id: I5db529676b3287013008f28623a541fee1cde6a0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
c9266e7cb9 redo QT_PLUGIN_PATH assembly for non-installed execution
it is a bad idea to extract plugin paths from library modules.
instead, just collect plugin paths from all known repositories.

Change-Id: I527325f20e9cf98ae974997530af1b2893537e5d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
ae789544e4 simplify determination of static plugin link line
qt_debug & qt_release are dead, so collapse the respective paths and use
an existing function.

Change-Id: Ie800be477186a6eab72682d367b24e83c3b9bbc0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-26 18:57:54 +02:00
Oswald Buddenhagen
a3941c2f6e escape constructed command for makefiles
Change-Id: Iec7f2bd7b02d03bf6a99dde363a41578924e523c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-26 14:33:15 +02:00
Tor Arne Vestbø
6e5818f2bb Merge remote-tracking branch 'gerrit/master' into newdocs
Change-Id: I10cf9f915c602c8e5a0e7d7c9e17b7bc5ca00640
2012-10-26 12:28:53 +02:00
Oswald Buddenhagen
e8170aee1f move QMAKEMODULES addition to .qmake.super to qt_build_config.prf
this is qt module specific magic that has no business in the generic
default_pre.prf.

a side effect is that every qt module now needs to have a .qmake.conf
(unless it sets MODULE_QMAKE_OUTDIR, like webkit does).

Change-Id: Id9e5f6eee2d8ec0c711e7217d9e1893fc9c88132
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-26 12:20:52 +02:00
Oswald Buddenhagen
315c58509d fix 'qmltypes' targets
should now actually work for all build types

Change-Id: I2dc1f8231737c13e95ce8aab1330b4f063951547
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-26 12:20:43 +02:00
Oswald Buddenhagen
b229eff08c make qmltypes target properly respect debug vs. release
Change-Id: Ia4f5ccb2b795a7594b74ea95aa0cc56a91aa7043
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-26 12:20:38 +02:00
Tor Arne Vestbø
600f2397b8 Add config option to build documentation as a two-step process
The new 'prepare_docs' CONFIG option triggers the documentation rules in
default_post to generate two extra targets: prepare_docs and generate_docs.
The prepare_docs stage runs qdoc with the -prepare option, which means qdoc
will only generate index files, and the generate_docs stage will call
qdoc with -generate, which reads the index files and generates the final
output. The regular docs target will then run the prepare_docs target
for all submodules before running the generate_docs target.

This ensures that when generating the final output, qdoc has all the
index files for all the other modules available, to be able to resolve
cross-references between the various Qt modules.

This patch needs a follow-up in qt5.git to add CONFIG+=prepare_docs, so
that the root Qt5 build will be able to hook into this new behavior.

Change-Id: I654d7f0d4d5a41d9be208e6d3a8923bf0194f9ad
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-25 12:19:17 +02:00
Stephen Kelly
6444d36e5d Use a qmake variable to pass the Qt version to the cmake version file.
By depending on a simple variable instead of a more complex expression, we
can more easily use this file from other contexts.

Change-Id: Ib6ce1e2537f3e7ac19d25ad33454f25e85f71040
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-19 13:02:17 +02:00
Thiago Macieira
c67a5df8d8 Rename the syncqt -qtdir to -mkspecsdir
It's actually looking for the mkspecs (so it can read qconfig.pri to
get the Qt version), so give it exactly what it wants.

Change-Id: I2957b2d93a8837b8492d313209d45ff3ec01704c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-19 00:44:54 +02:00
Tor Arne Vestbø
e6cbf2f985 Prevent 'make install' from automatically installing documentation
Just like 'make docs' is used to build documentation, you will now have
to run 'make install_docs' to install it.

Change-Id: I57db53160ca91618784f4e39da0a47322c070208
Task-number: QTBUG-27590
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-18 21:01:26 +02:00
Tor Arne Vestbø
b9facbf345 Refactor recursive target logic out of default_post into function
The qmake function prepareRecursiveTarget can now be used both by the
existing logic in default_post, as well as future recursive targets that
will be needed as part of the modularization of documentation builds.

Change-Id: Ibc72c3e224cb57c9f1796de3b04fda9de663dbb4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-18 21:01:09 +02:00
Oswald Buddenhagen
6226fcdc3e add a .qmake.conf file which load()s qt_build_config
that way we don't have to auto-generate code for that in the configures.

note that we now load qt_build_config.prf instead of just qmodule.pri,
which means that exceptions_off is set everywhere. we forcibly re-enable
them for testcases to minimize the deviation from default 3rd party usage.
testlib selftests are not qt testcases, so the one that needs exceptions
needs to enable them explicitly.

Change-Id: I1b9360bb11f2e80c92a2b63a7c45991ad17fda1b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-18 17:42:40 +02:00
Thiago Macieira
048b697c07 There's no uic3 anymore
Change-Id: Iacbe2e6a802278c2c82ae60551eae5bc2636e6f5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-17 20:53:22 +02:00
Oswald Buddenhagen
93e0f1223a fix syntax of warning message
Change-Id: I2e0a9afd6e46534156b7277dc5ceaf85d2dd4cac
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-16 17:31:31 +02:00
Kai Koehne
e76f820e55 QML plugins: Make sure that both debug and release versions are built
Make sure that both debug and release versions of QML plugins are built
if Qt is configured accordingly. Also pass on the other QT_CONFIG configurations.

Change-Id: I4aaaf002068dd66277235bef7d1e3da3366d6d12
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-16 15:29:15 +02:00
Stephen Kelly
f696205b37 Use the mkspec name Qt was configured with instead of default symlink
The default symlink is not available on Windows, so the qplatformdefs.h
header is not available there. Instead we can bypass the symlink and
use the actual mkspec name directly.

Change-Id: I1d7e05f35c1ff56befab5bed307cb1755ade8377
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-16 08:41:48 +02:00
Tor Arne Vestbø
3e095fcbf5 Get rid of QT_MODULE_DOC_BASE/QT.foo.docs
It was only needed by qt_module.pri anyways, to handle index lookup
paths for qdoc when building documentation that depends on other modules.

Change-Id: Ibf60e2504f388b1aed7231eee04d89d3ba31c6eb
Hand-held-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-16 02:46:04 +02:00
Tor Arne Vestbø
087efb572a Modularize documenation build
qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global
includes, instead of using relative paths. Qt modules will automatically
get a doc target that builds and installs into the right place (including
supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module).

Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-10 23:27:03 +02:00
Tor Arne Vestbø
96bc659ea1 Ensure that Qt.module.docs is set when first creating the module-fwd file
This is a follow-up fix to aef441b1.

Change-Id: Ie5e92ecc55ddcbab3e7830a99a77d3748a5568c1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-10-10 14:44:47 +02:00
Tor Arne Vestbø
aef441b13d Add QT.module.docs variable to the module system
Change-Id: Ibe54ee44a06747453bc09e006e27187cbee30b23
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-10-08 17:14:50 +02:00
Kai Koehne
abbecca7d4 Rename quick1_debug back to declarative_debug
The library name changed back from quick1 to declarative, so the
debug option should be renamed accordingly.

Change-Id: I192520a0a4de4764cf93da8cdbb14e24ba7de093
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-10-04 03:03:00 +02:00
Peter Hartmann
291e1a9e67 QNX: change suffix for separate debug files
QNX uses .sym for files containing debug symbols.

Change-Id: Ieb995ae90af771ff5c877213f4f4982169f333c6
Patch-by: Greg Bentz
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-10-01 10:34:24 +02:00
Romain Pokrzywka
84118ffa2c Fix accessing the rpath dir from included modules
The wrong variable was used when reading the module settings

Change-Id: If35dc9694240a68393b24d7dba72520108cb9ac3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-28 21:09:35 +02:00
Romain Pokrzywka
e4486e9fd0 Fix rpath dir in forwarding module .pri file
The module rpath should be the raw QT_INSTALL_LIBS, without the sysroot

Change-Id: I4140929b38a589134872593e4ce35eaf7d1cd5b7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-28 21:09:35 +02:00
Stephen Kelly
ff70c020bc Make CMake tests significant on Windows.
All bugs in the testing scripts are now fixed.

Task-number: QTBUG-27087
Change-Id: I764257a9bbee7efeb9265449f6fa6a15bdeba883
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-09-27 15:46:18 +02:00
Stephen Kelly
f8ca79579f CMake: Fix the generated location of static libraries.
We need to make sure to put the .lib file into the LOCATION property,
not the .dll file, when building a static library.

Change-Id: I8912abfd172d0939cd07ba02901ab58093ccefa1
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-09-26 10:08:59 +02:00
Stephen Kelly
89d5f46dea CMake: Specify the prl files when building with mingw.
As was done in ae6d4c77eb, but that commit
missed the mingw branch.

Change-Id: I1d76ed2f8070dced2749aabe889fee48c4086744
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-09-26 10:08:59 +02:00
Jan Arve Saether
44a0e972a0 When trying to run cmake, don't show stderr output.
It looks like the qmake process failed if cmake is not installed.

Change-Id: I721796a602d8c572144e9d21be5d62b737698b73
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-09-24 18:01:14 +02:00
Oswald Buddenhagen
fff5a8f9c9 make qmakespecs announce the compiler family
on the way to eliminate scoping based on the spec.

gcc and msvc go as such into CONFIG, the other ones get the vendor
prefixed, as most are mostly unknown and thus likely to clash with
users' flags.

Change-Id: Ie622f53d90e96dbf05ce7d8c638cd355f04fa20c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-21 02:44:22 +02:00
Oswald Buddenhagen
098b817a97 don't set MODULE_BASE_OUTDIR unconditionally
webkit actually tries to set it, and after the syncqt invocation changes
we were breaking it.

Change-Id: I1ec740b7e96c972ca173f384529dde1fc7e7cc13
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-21 02:44:22 +02:00
Oswald Buddenhagen
5ad378859a move syncqt call to qt_module_headers.prf
for one, the syncqt invocation is qt module magic and thus simply does
not belong into the generic default_pre file.
second, this way the forwarding header generation is now linked to the
rest of the build magic for a particular module, which is way less
confusing for the unsuspecting developer.

Change-Id: Idc8e420d3faf173d7fff4a41e6e1c59af15c3023
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-21 02:44:22 +02:00
Oswald Buddenhagen
514cdee46f make 'make check' work with non-installed prefix builds
add the appropriate environment to the command lines

Change-Id: Ic9d3c60255be88f431213acd8c5e0ff55e014f5b
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-19 19:54:44 +02:00
Oswald Buddenhagen
aad3410864 factor out qtAddTargetEnv()
Change-Id: Ib0517da54da98de4b1f2ee7d80bee22316231091
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-19 19:54:44 +02:00
Oswald Buddenhagen
4ac264117a remove pointless conditionals+branches
the surrounding TEMPLATE == vc* scope already implies vcproj, as dsp is
not supported any more.

Change-Id: I68363aca62e21135f42572040ccc7b189dcf32c8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-19 19:54:44 +02:00
Oswald Buddenhagen
523c90810d don't make the outputs depend on $$QMAKE_DUMPCPP
the variable can contain a complex command which would make a mess of
the makefile.
also, the tool doesn't change all that often, so it's not particularly
useful to depend on the binary.

Change-Id: I965d6555cb22bd6d5306b324f5cad0d747128e99
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-19 19:54:44 +02:00
Oswald Buddenhagen
d0ba4f5386 remove now unnecessary indirections
qmake's new parser can deal with this much more readable code.

Change-Id: I772c9da4c9d049e2b332305f41496ed1196f60eb
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-09-19 19:54:44 +02:00
Yuchen Deng
2084b48a79 Build tools in release mode if using -debug-and-release option
Change-Id: I1d4b69e6954526b4f999e248f4f2cde6a9da26cd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-18 07:45:12 +02:00
Oswald Buddenhagen
321687f03b factor out qtAddToolEnv()
so it's available for other users as well

Change-Id: I2d5a14ae427575c07321ac532b13ee03308b837f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-18 00:59:08 +02:00
Oswald Buddenhagen
fb8a6297f4 remove 3rd parameter from qtPrepareTool()
it's been superseded by the QTTOOL.* module stuff.

Change-Id: I01c9fc3ebbb22111bfb03f82693c7cf08b5fc9d4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-18 00:59:08 +02:00
Joerg Bornemann
26b6cce44b remove usage of QT_MAKEDLL in favor of the new QT_STATIC macro
Change-Id: I411cab0d92a8cad6b4f3676afe5cee050c4b789b
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-14 15:23:15 +02:00
Stephen Kelly
edc652db10 Qt 5 API should correspond to Qt 4.8 on Windows, not 4.9.
Change-Id: I052e76b4dcf0765d142567f748022d652072075c
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-13 19:33:08 +02:00
Oswald Buddenhagen
b071ea317c move syncqt -check-includes handling to default_pre.prf
this is where the syncqt calls for all modules happen

Change-Id: I544e5fa6950c2babe56d78f5543d2c3262016687
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-11 09:35:28 +02:00
Joerg Bornemann
ed7594db5d remove left-overs of the borland compiler support
Task-number: QTBUG-27184

Change-Id: Iae974c919871753500ca7e5cebdd5ef41fdd7a8a
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-11 00:12:57 +02:00
Thiago Macieira
bc420e87e6 Make the default Qt API be Qt 5.0's
This means user applications will default to Qt 5.0's API. Higher
versions or Qt 4 compatibility are opt-in.

Also set the default for Qt's own build to be 5.0 on all platforms
except Windows. On Windows, we need to set it to 4.9.

Task-number: QTBUG-25053
Change-Id: I603e0fda4785e64e1413cd82153a89e48005aa40
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-09-08 14:57:59 +02:00
Oswald Buddenhagen
6a3a234742 centralize initialization of CONFIG in mkspecs
"CONFIG += qt warn_on release link_prl" is in every single spec (though
for link_prl there is one genuine exception and two apparent omissions).

Change-Id: I72e1e315586af828eefa3b0b70998ab892ec3c1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-08 13:36:20 +02:00
Oswald Buddenhagen
809bc47fad centralize initialization of QT in specs
there is no reason whatsoever to duplicate this so many times, and even
less reason to have specs with a deviating default.

Change-Id: Ia25836c079580adebc373697b8bd03598f79c69b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-08 13:36:16 +02:00
Oswald Buddenhagen
1503d99a5e enable depend_includepath by default
DEPENDPATH is hard to get right, and consequently most projects have
broken dependencies.
the easy way out is just adding everying in INCLUDEPATH to DEPENDPATH,
like we do ourselves in qt. if somebody wants to optimize, he can
opt-out.

Change-Id: I7fb56010728fd2b0d2b7d4d26386f366d414ba04
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-08 13:36:05 +02:00
Oswald Buddenhagen
590ac22ed6 de-duplicate MODULE_DEPENDS
in modules which conditionally add dependencies it is hard to keep $$QT
free of duplicates at definition time, so clean it up when we use it.

Change-Id: Ia711e23bec3683525dfca80df4834e20b007ba1f
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-07 23:35:26 +02:00
Oswald Buddenhagen
2e10b38c6a use each module's lib_bundle setting
... instead of relying on the global qt_framework flag.

Change-Id: Ie23f55788c26d732ada87aab7284c0a1fe0bfa28
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-07 23:35:20 +02:00
Oswald Buddenhagen
3bd2c690f4 generalize environment additions to tool invocation
foo.name = VAR
foo.value = baz bar
foo.CONFIG = prepend
QT_TOOL_ENV += foo

will add the respective environment assignment to the generated command
line.
if value is a list, the elements are joined with the shell's path list
separator.
the value must be in the final form (correct path separators and
shell-escaped).
if .CONFIG prepend is set, the generated command will prepend the
new value to a pre-existing one.

Change-Id: I62c6dfb3ec50ce73d3a85a2099275f92b57a52dc
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-07 23:35:14 +02:00
Oswald Buddenhagen
731e6bece5 cache the right variable
binary+depends is outdated; it's just command now

Change-Id: Ic4617d760585e53a485920e843627d3f9707d6a9
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-07 23:35:08 +02:00
Kai Koehne
1da928abba Remove declarative_debug feature (qmake)
declarative_debug got superseded by qml_debug and quick1_debug.

Change-Id: Id4c593d86a011223d2a735fb2a8c25e4ec70f53e
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2012-09-07 11:40:08 +02:00
Rohan McGovern
6db03bbc63 Add a task number to ctest_testcase insignification
Make sure it doesn't get lost.

Task-number: QTBUG-27087
Change-Id: I8b773cfa4b1b9ab5430096c2cff50911e84b73f7
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Toby Tomkins <tjtomkins@gmail.com>
2012-09-01 17:30:31 +02:00
Stephen Kelly
0a0157f545 Move the creation of the MODULE_DEFINES variable above the pri file check.
The MODULE_DEFINES is also used by create_cmake.prf, whether there is an existing
pri file or not. In the case of QtWebKit at least, there is still a handwritten
pri file present.

Change-Id: I566c32a36aa6b84a455c2785c0da2bae57ea9091
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-31 16:10:25 +02:00
Rohan McGovern
42457c2f5f Temporarily mark ctest testcases as insignificant on Windows
The deployment of cmake onto Windows test machines caused test failures
with no changes to the code under test.  Mark all the ctest tests as
insignificant until the failures can be fixed.

Change-Id: If0cd4001ae6ec49fd38b9e0f97dd5326fddae433
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-08-30 05:45:55 +02:00
Peter Kümmel
5408225286 cmake: use .exe suffix only on Windows
Change-Id: I36ba61bd4690de0bfe4a44e579eb554c82b53bb4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-28 19:55:03 +02:00
Stephen Kelly
a861e7ea14 Fix CMake file INSTALLS with debug_and_release configurations.
Change-Id: Iad0161969e3632862102703fcc239358387e2181
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-08-28 18:30:57 +02:00
Stephen Kelly
ae6d4c77eb Make it possible to use static builds of Qt with CMake.
Parse the prl files generated by qmake to get the link dependencies. They
contain all the information we need, and they are the only location with
all the right information.

Change-Id: Id9dcc988f20a744297502eff008de085326cdbcf
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-08-27 23:23:57 +02:00
Thiago Macieira
88a2efaddc Move the QT_COMPILER_SUPPORTS_xxx defines to qconfig.h
This reduces dramatically the command-line for compiling Qt sources.

These are private macros, only to be used by Qt's own modules, so the
compiler setting is either the same or, possibly, better. In other
words, in the worst case, when compiling a module with a better
compiler than for qtbase, such module might not enable all the
functionality it could otherwise do.

If we switch to a buildsystem that can support this properly in the
future, these macros should be removed.

Change-Id: I71f2d12ec98c9dd40eaab9de4a17446bd1066020
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-22 21:58:45 +02:00
Rafael Roquetto
1ef74a763a Pass NEON_ASM directly to SOURCES.
This guarantees that qmake gives them the proper flags (non C++) while
building these asm files.

Change-Id: I41150f543b8fac81bcd0da963b4d0e0a19b9db2f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-18 08:34:53 +02:00
Joerg Bornemann
c9406bcffe qmake: support incremental linking when embedding manifests
When embedding manifests we modified the EXE/DLL after linking using
the manifest tool. This breaks the incremental linking feature of MSVC.

The MS way to embed a manifest without breaking incremental linking is:
   - let the linker create the manifest file,
   - create a resource that contains the manifest file,
   - invoke the linker again to embed the resource.

The embed_manifest_{exe|dll}.prf files have been removed.
All manifest logic is now in qmake's nmake makefile generator.

With QMAKE_MANIFEST one can specify a custom manifest file that gets
embedded without disturbing incremental linking.

Task-number: QTBUG-22718
Change-Id: Idb9d2644a0577b2002cbdd2d62b695b9171b1bd5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-16 08:26:24 +02:00
Oswald Buddenhagen
43a36a682a set QT_PLUGIN_PATH for tools
Change-Id: Ie76b25b605ab4271eff161ee9bfc4f54df640f4a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-15 09:19:09 +02:00
Oswald Buddenhagen
07e187a341 make .private_includes in module pri files "self-contained"
this puts the whole logic of assembling those paths into qt_module.

Change-Id: Iafbe3969e3092e294bdb8243b2dffa7a899a7eb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-15 09:18:58 +02:00
Holger Hans Peter Freyther
82f460b0d3 build: Fix the FreeBSD build due build system change.
Revision 6f4ff81380 broke the
QtDeclarative build. FreeBSD's ld.so is using the LD_LIBRARY_PATH
environment variable as well.

Change-Id: I0a91cedfb9d1935a08d348212f5ff1a54bfe3e53
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-14 09:51:07 +02:00
Oswald Buddenhagen
b603fd36c2 support -rpath for modules which are not installed to QT_INSTALL_PREFIX
a module's project file may set MODULE_INSTALL_LIBS before loading
qt_module.prf to have an alternative RPATH linked into the users of that
module.
this is relevant only for linking against non-installed -prefix builds
of that module, as otherwise .libs from the module's pri file is used
for rpath.

Change-Id: Ib240e748cf130a71a5991dc643c368a983092ead
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-11 10:40:23 +02:00
Oswald Buddenhagen
43af0260b8 fix -rpath-link handling for non-installed prefix builds
forwarding module pris get rpath_link{,_private} fields, which are
used accordingly by qtAddModule().

Change-Id: I0abc2dc8b1e8744dbf7f439aa7fed9ae159c2c74
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-11 10:40:16 +02:00
Oswald Buddenhagen
0fc4f2b4cf qtAddModule(): put search paths directly into LIBS{,_PRIVATE}
QMAKE_LIBDIR and QMAKE_FRAMEWORKPATH have the downside that they
always effectively end up in LIBS, which makes for weird prl files.

Change-Id: Iaf61b0038504ff91ae5ec7f9b1255fe3a2d134f1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-11 00:41:07 +02:00
Oswald Buddenhagen
6f4ff81380 assemble the complete tool commands already in qt_tool.prf
this saves some repeated calculations. also, it's nicer to have most
logic in one place.

Change-Id: Iea362d40f5e6203709ced94d29ca61a4163b8e69
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-11 00:41:07 +02:00
Oswald Buddenhagen
ff13798708 fix error message about bad qt modules
the variable name is a function parameter now

Change-Id: I46f3ce37c157312e7f70291a0cef2d666d50664c
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-11 00:41:07 +02:00
Andy Shaw
fb3c850581 Fix vcproj file generation for incredibuild handling of moc etc targets
When incredibuild-xge had been turned on by configure then it was not
ensuring that the generated vcproj files had the right extra comments
needed to make incredibuild run moc and other tools in parallel.  By
fixing the prf file to get around a problem in the parser this is now
respected.

Task-number: QTBUG-14482

Change-Id: Ifd24bde2db7d80d3a52719c733d15f228c7b3534
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-11 00:41:07 +02:00
Joerg Bornemann
d7ddd92d15 fix conditions in embed_manifest_*.prf
MSVC 2012 was ignored.

Change-Id: I41b2dff85c037ce8057c91036434aa26cd9b5d5c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-09 08:49:36 +02:00
Andreas Holzammer
661cf8ff4e Make it possible to force generation of debug info in release builds
Change-Id: Ie79e5a6a87475d5140163a2a547b4385a53fc05f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-09 03:25:53 +02:00
Oswald Buddenhagen
3cc151d0c2 adjust qtAddLibrary() to new qtAddModule() parameters
Change-Id: Ib5918fa83e78d16fd318590c33b280d9054b2cd6
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-08 12:04:49 +02:00
Oswald Buddenhagen
0885f3ee52 rename qt_module_config.prf => qt_module.prf
this is more logical, following the qt_plugin and qt_tool scheme.

Change-Id: Ib3b2abec6728cdab260e15128b1cd78e8e6f5d6a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-08 12:04:49 +02:00
Oswald Buddenhagen
fbfb4d4b9a preserve the directory structure of QML_FILES
Change-Id: I39ccdbf59887f14be7dad492598160eebb94ce78
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-08 12:04:49 +02:00
Oswald Buddenhagen
842b1bd29e factor qml_module out of qml_plugin
this makes it comfortable to create qml-only modules

Change-Id: I17a5a3ee24210b93db05e50502c6ca91a4e7a9d8
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-07 23:27:17 +02:00
Oswald Buddenhagen
8e134b63bc use global imports install location as the "build" dir for qml plugin files
when doing a non-prefix build (which is the only case where the code is
executed), the build location is always the same anyway, so there is no
use in complicating things.

Change-Id: Id98755d818e05a11bed505abcb8b9d52a7d5b7c4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-07 23:27:17 +02:00
Oswald Buddenhagen
af3362f065 copy qml files to build dir only when doing a non-prefix build
non-installed -prefix builds can't do anything useful with qml plugin
files anyway, so don't waste time on copying them.

Change-Id: I23f4b8f67402a85d3c6e741a04f88567655c1655
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-07 23:27:17 +02:00
Oswald Buddenhagen
70aeeda608 move IMPORT_VERSION fallback into the conditional of the consumer
Change-Id: I01336903aaaff8bca5407aa3c50d330e8fd7910a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-07 23:27:17 +02:00
Oswald Buddenhagen
3d8fbaa866 move qmltypes "compiler" below TARGET manipulation
load(resolve_target) must not be called before we have a final target
name.

Change-Id: Ia7418672b0c7b7fbd388a63819af9ea9a54c5241
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-07 23:27:17 +02:00
Oswald Buddenhagen
a97d09a84b add support for PKGCONFIG_PRIVATE
this does the same as PKGCONFIG, only that the libraries end up in
LIBS_PRIVATE, not LIBS, which means they don't end up in prl files.
in the vast majority of cases, the user should use this new variable.

Change-Id: Icb57a1166f1896f51284c64e4047cfc79410e73a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-08-07 16:40:07 +02:00
Oswald Buddenhagen
3dfb362782 add support for QT_PRIVATE
this is handled the same way as the QT variable, only that the actual
libraries end up in LIBS_PRIVATE, not LIBS, which means they don't end up
in prl files.

the handling of the two variables is entirely independent, including
independent dependency resolution, so some libraries will typically end
up twice on the linker command line. this is not a problem.

Change-Id: I257ad0d414bf273c08a7bd6a874fe9ddb7356009
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-08-07 16:40:07 +02:00
Oswald Buddenhagen
b7db596590 use QMAKE_LIBDIR for passing LSB library path
-L in QMAKE_LFLAGS is just wrong

Change-Id: I05eae0bb5e5e3dc8f8234616cb2ccdfba1d517fb
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-04 08:15:46 +02:00
Oswald Buddenhagen
8f58c7c6ed s/QT_PRIVATE/QT_FOR_PRIVATE/
QT_PRIVATE is meant to be for something different.

only jsondb uses that so far. as it has little activity, i feel free to
break it temporarily.

Change-Id: Ifaa054af7234594ee534120c99506b76aebbf59f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-04 08:15:22 +02:00
Oswald Buddenhagen
95d3380d22 introduce ability to selectively pass options to qdbusxml2cpp
DBUS_{INTERFACES,ADAPTORS} now also accepts "structures":

DBUS_INTERFACES += foo
foo.files = foo.xml bar.xml
foo.header_flags = -i qfoobar.h
foo.source_flags = ..

Change-Id: I98d757c8d3a3c6f79cedca7b90b533289114c102
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-08-04 00:52:46 +02:00
Oswald Buddenhagen
911516e1d3 add ability to pass command line options to qdbusxml2cpp
QDBUSXML2CPP_{INTERFACES,ADAPTORS}_{HEADER,SOURCE}_FLAGS are now
understood.

Change-Id: I26492cec5ecb7ff4a6b83755ee8a0c17859b2a68
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-08-04 00:52:42 +02:00
Oswald Buddenhagen
ff0a759f8d de-duplicate dbusadaptors.prf vs. dbusinterfaces.prf
it's two times the same code, once with "adaptor" (and an -a option) and
once with "interface" (and a -p option).

the de-duplicated code looks a bit nasty, as qmake cannot deal with
braces on the LHS yet.

Change-Id: I199a07947661ab9abe7a736b56c437f3f6dc4fa4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-08-04 00:52:38 +02:00
Michael Goddard
019b97fc4f Add a .prf file for SIMD qmake variables.
So you can get AVX/NEON etc source compiled by assigning to the
corresponding variable (e.g. AVX_SOURCES).

This was previously used in just the gui module, but other
external modules might like it too.

Change-Id: I51aa64760c469c7dc4c71e6f089c2ddef4f509c5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-01 02:25:26 +02:00
Oswald Buddenhagen
e07372ff50 fix host vs. makefile directory separator mess
the system path separator and shell are bound to the host system
(system() will use cmd even on mingw with sh.exe in path).
the makefiles otoh may depend on what the qmakespec defines.

consequently, add $$system_path() and $$system_quote() (for use with
system() & $$system()). $$native_path() is renamed to $$shell_path() and
should be used with $$shell_quote() to produce command lines in
makefiles.
$$QMAKE_DIR_SEP needs to be applied to Option::dir_sep right after
parsing the spec, so it is available to $$shell_{path,quote}().

Change-Id: If3db4849e7f96068cf03a32348a24f3a72d6292c
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-07-28 00:09:45 +02:00
Andreas Holzammer
563875bf29 Fix debug and release build for Windows CE
Change-Id: Idc3faa2c65f3e87aadf75c0c79f1581a24aff8ca
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-25 17:32:21 +02:00
Oswald Buddenhagen
d25aad6039 fix syntax error in static plugin assembly code
Change-Id: Ib7662c5529432663df06eea509dc3479cea01050
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-25 15:17:16 +02:00
Oswald Buddenhagen
520100abcf fix syntax error in breakpad support
Change-Id: I7964615814377ae4fd9c7da897978100c9294835
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-25 15:17:09 +02:00
Stephen Kelly
a5b0290497 Don't make the CMake file generation dependent on DESTDIR.
It is expected to be well defined for the CMake files to be generated
correctly, but if that stops being the case, it should fail loudly. All
of the generated CMake packages are CI tested.

Change-Id: I67c7fa6ef1fe0a019c40936cb12db282669e9ee8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-25 00:48:10 +02:00
Stephen Kelly
58b3dd71d8 Create CMake files conditionally on the internal_module CONFIG option.
This includes a revert of 195df6e8e0
so that the solution scales better to other Qt modules, and other
logic related to 'internal' modules.

Change-Id: Ie4c1f10d20953aeb15438273081a810ab8bc9ec9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-23 17:39:39 +02:00
Stephen Kelly
1e3a986de7 Check if we are creating a static library before a framework.
Even if we are building frameworks, we still build some static
libraries (eg QtUiTools). Static libraries are never in frameworks
so we need to ensure that we don't generate a path to a framework
in the CMake config file in that case.

Change-Id: I533e30874a653695cb0e262617e71bbd3d4c954b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-20 20:44:06 +02:00
Montel Laurent
981ea7a1aa TYPO: Fix typo in warning message
Change-Id: I322f97257210f123695e386670a9a4eea2ccfe0e
Reviewed-by: David Faure <faure@kde.org>
2012-07-20 18:28:38 +02:00
Oswald Buddenhagen
5f0b52ea26 put the include/ of all modules into qtbase when doing non-prefix build
all other build artifacts go into qtbase's build directory anyway. this
asymmetry was confusing and causes cmake users some grief.

Change-Id: I4d7f7b2318f6c5300eb00360664785cb2c8217b7
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-18 19:48:59 +02:00
Oswald Buddenhagen
311fe0e811 remove support for forwarding module pri creation via syncqt
now that all modules have migrated, this dead code can be removed.

Change-Id: I5e9c7dd3fb271346d1b5f0e2930874da3e4d2d57
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-07-16 18:34:06 +02:00
Stephen Kelly
e6abbe68a2 Create imported targets if the library files exist
Handle the cases where the user does

  ./configure -debug
  make
  make install
  make release
  make release_install

Thereby making the installed configuration different to the
'configured' configuration.

Change-Id: Ib351d8a84c4333ebcbd305d68a37c16f86869559
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-07-16 16:30:55 +02:00
Oswald Buddenhagen
034b5fd02e make QMAKE_RESOLVED_TARGET use normalized path separators
Change-Id: I23433a67364a9d09fa239b2c7f2cae495d3cc6df
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-16 01:06:55 +02:00
Oswald Buddenhagen
61d67ace5f make use of new functions
makes for cleaner code

Change-Id: I1a86bc4cac3778a1df37aa3307e5a8edac246961
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-16 01:06:53 +02:00
Oswald Buddenhagen
9651738f2d automatically fix separators in QMAKE_{DIST,}CLEAN
it's a tad insane to expect the user to do that

Change-Id: I75c68f2a28656c9ba2e3fabcc79718b899b29ce7
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-16 01:06:51 +02:00
Oswald Buddenhagen
89a558d6b0 fix splitting of $PATH when looking for sh.exe
Change-Id: I1ec0a48879d6ba7c0e2e7fdc0939980d0f817a68
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-12 17:19:17 +02:00
Oswald Buddenhagen
fd87383c41 remove pointless checking/fallback code for $$TARGET
qmake always sets that variable, so unless somebody pro-actively screws
it up (which doesn't seem like being worth checking for), it will just
work.

Change-Id: I3c4ada47cbd34ac68695d8efbf09c605392616f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-12 17:19:06 +02:00
Oswald Buddenhagen
b175e7b7c9 remove support for syncqt-based config tests
now that all modules have migrated, dispose of the clutter.

Change-Id: Ib8937c1452536f645b76c0097b927df1108afc1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-12 17:18:36 +02:00
Oswald Buddenhagen
328e7d9684 don't unnecessarily normalize $$[QT_INSTALL_*] any more
they are always normalized nowadays

Change-Id: I2d6d00639a4838da1a4def93a3416b000b8cd589
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-07-12 13:51:00 +02:00
Oswald Buddenhagen
079a87fec1 make the prl lookup search in standard locations
qtAddModule() skips adding standard library paths to LIBS. however, as
processPrlFiles() didn't know anything about that, it would not find the
prl files of qt libraries in these paths.
so centralize the definition of these default paths (we should actually
ask the linker for them) and use it in both places.
do the same for the include paths for symmetry.

Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-12 10:40:50 +02:00
Oswald Buddenhagen
2f43511eb6 fix QT.<module>.*_VERSION references
Change-Id: I448de417d86f2500015b967581dbe7aab58e894a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-11 18:59:48 +02:00
Oswald Buddenhagen
e3124c4963 do not mess with VERSION
the import version is not supposed to determine the plugin version -
it's only used by the qmltypes target.

Change-Id: I0cb072cb0ee469bd96830262dbf4971a2bf3134f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-11 18:59:48 +02:00
Oswald Buddenhagen
503530a8fd support building tools as application bundles
qmlplugindump needs that

Change-Id: I3b6b6689a32744262184fa781fda465460a87640
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-07-11 05:50:55 +02:00
Oswald Buddenhagen
faac4c0a3c add feature file for centralized qml plugin project handling
Change-Id: I7cdce31d7ac458656cf8e8490fd7f7e5c04ca106
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-11 02:47:16 +02:00
Stephen Kelly
1e469bac11 Set the IMPORTED_SONAME for imported targets.
On windows this doesn't need to be set. On Mac I'm not sure yet on
the various configurations.

Change-Id: I31f191711a2ae0a1bb7221ae6e1fef377d62f1dc
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-07-11 02:47:14 +02:00
Stephen Kelly
8ce0ac8d0d Fix the name of _debug libraries on APPLE.
Change-Id: Id3ae730c0ce0630f8ccc222fe09e5d3da23d124d
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-07-11 02:47:10 +02:00
Oswald Buddenhagen
a15d674406 fix linking against installations in /usr/lib
Change-Id: I17a6a2e058f039e525461d459477329fd7090417
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-10 23:06:25 +02:00
Oswald Buddenhagen
9d1f44b9ce make sure that building tests implies building other parts
some tests have runtime deps on the other parts

Change-Id: Ieb2925e762e94b3c0b16884be0f59e10ce8e4878
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-10 22:44:30 +02:00
Oswald Buddenhagen
48b01da4d3 deal with %PATH% containing parentheses
we need to make cmd escape the expanded output, so it doesn't confuse
its own command line parsing (which happens later!).

Change-Id: I0c2c71d276c0aebe3c2163f7f08db8050a14d7ce
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-09 15:14:44 +02:00
Rohan McGovern
d815043b11 qt_parts.prf: fixed handling of demos
Subdir for demos/demos.pro is 'demos', not 'examples'.

Change-Id: Ic4d80501e5d910891b0436ecd9881b79a4a99090
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-06 13:58:05 +02:00
Rohan McGovern
e17c87df9c qt_parts.prf: fixed examples, tests, tools always disabled
exists() resolves the path relative to qmake's current working
directory, which is mkspecs/features.  Explicitly refer to the full
path.

Change-Id: I04e9f377528bffc1ebeeed69c86d73b85a117423
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-07-06 01:41:53 +02:00