summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* ensure that each module has a .qmake.cache when properly qmake'dOswald Buddenhagen2013-03-221-0/+3
| | | | | | | | this makes properly configured modules (whose top-level project file was evaluated) uniformly recognizable. Change-Id: Ib127df2becb2ff7f51ee8cc5a194ff168b41c227 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* activate example (non-)build magic only in configured treesOswald Buddenhagen2013-03-201-1/+1
| | | | | | | | | | otherwise we assume that the user is trying to build a random example which just happens to live inside a qt module's repository. Task-number: QTBUG-29756 Change-Id: I17f217b4235fbe04f2c49d1d92ce08b86bb259b9 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* pass module version to syncqtOswald Buddenhagen2013-03-201-1/+1
| | | | | | | | | | | | | | | | | | | this is cleaner than having it parse qmake project files. the only remaining built-in version extraction is the fallback to qglobal.h needed for bootstrapping. as a "side effect", this fixes the build of modules with mismatched versions centralized in .qmake.conf, as this was simply not handled so far. the -mkspecsdir syncqt option goes away, as there is no use case for it any more. Task-number: QTBUG-29838 Change-Id: I6912a38f0e93a26bc267a9e3d738506fd3ad431b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix LD_LIBRARY_PATH setup of check targetsOswald Buddenhagen2013-03-151-5/+2
| | | | | | | amends 4c34b418 Change-Id: Id9d214fe936d947aaea4a56fd724ad50381032e1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix replacement base pathOswald Buddenhagen2013-03-152-2/+2
| | | | | | | | this affects only webkit when doing module-by-module installation, so it went unnoticed. Change-Id: Iab87f4a76fcb0fa9a1b1d6bcab9a73756e416120 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* enumerate modules in QT_MODULES, not QT_CONFIGOswald Buddenhagen2013-03-151-2/+2
| | | | | | | | | | | | | | | | | | | QT_CONFIG is supposed to contain configure output, not a list of modules. for example, enumerating modules is not cleanly possible if modules are mixed with other flags. the conflation was merely historical, due to webkit and phonon doing it this way in the preliminary qt4 modularization. we now have a much cleaner way to query modules (qtHaveModule(<module>), or less recently, !isEmpty(QT.<module>.name)), which is already used throughout Qt. the old way was supposed to be removed for 5.0 already, but it slipped. better do it now, before people actually start using it. Change-Id: Iabdf0cdfaab9cd674f634f4c6ece105b2039c850 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* broaden the effect of CONFIG+=force_independent somewhatOswald Buddenhagen2013-03-154-6/+7
| | | | | | | | | | | modules which demand it (i.e., qtwebkit) need forwarding pris, etc., even when not making a -prefix build. Change-Id: Id405be8763e94cc074854f799bd785e9cdf62e8e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* fix parallelized "jom install"Oswald Buddenhagen2013-03-152-8/+8
| | | | | | | | | | | | | | | | | | | | | | unlike unix' mkdir -p, windows' md complains if the directory already exists. the workaround is a quite complex command, so the so far used concept for assembling the command line from pieces was replaced with a single template. for symmetry, adapt the makefile existence check to the new concept as well. QMAKE_CHK_EXISTS and QMAKE_MKDIR_CMD were added, with hard-coded fallbacks (ugly). QMAKE_CHK_FILE_EXISTS and QMAKE_CHK_EXISTS_GLUE (introduced in 5.0.0) are simply deleted again. QMAKE_CHK_DIR_EXISTS and QMAKE_MKDIR remain for legacy reasons, as qmake emits them into the Makefiles, and custom commands may rely on their presence. Task-number: QTBUG-28132 Change-Id: I3d049cb5d26947e5c3d102d0c2da33afb2a95140 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* require modules to define their versionOswald Buddenhagen2013-03-062-4/+7
| | | | | | | | | | | | | | | otherwise they would inherit it from qtbase, which may effectively result in a lie if building against a different release. for convenience we define the version centrally per repo. qtbase is special, in that we use the version defined in qglobal.h to avoid defining it redundantly (the instance in qglobal.h is currently needed to bootstrap qmake; the configures would need some work to change this). Task-number: QTBUG-29838 Change-Id: Ie9a5b0ff0d64b69ff2d34af2f7c42d6278e957cc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* List the Release library before the Debug library in cmake files.Stephen Kelly2013-02-221-24/+24
| | | | | | | | | | | | | | | | | | | | | | | This way, the Release library is chosen if Qt is configured to build both debug and release, and if the consumer configuration is not an exact match for 'Debug'. This means that RelWithDebInfo and MinSizeRel, which are 'standard' configurations in CMake with mulit-configuration generators, will use the Release version of Qt. All other configurations will also use the Release version, unless MAP_IMPORTED_CONFIG_<CONFIG> is used as described in: http://doc-snapshot.qt-project.org/5.0/qtdoc/cmake-manual.html and in the cmake documentation: http://www.cmake.org/cmake/help/v2.8.10/cmake.html#prop_tgt:MAP_IMPORTED_CONFIG_CONFIG Task-number: QTBUG-29186 Change-Id: Ifc11a9e19fcb304297c204e34a3b25c510329767 Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Create module-specific internal cmake macrosStephen Kelly2013-02-211-9/+9
| | | | | | | | This ensures that invoking the macro from a different module (operating on a different target) is not possible. Change-Id: Idbcd41d03172a8f1dcea26954464ab981fce8879 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Populate the cmake variables only one time.Stephen Kelly2013-02-211-63/+64
| | | | | | | | | | | | Since we're only including the Extras file one time, invoking set() for the include dirs again will overwrite the addition of include dirs in the extras file. We only need to populate these variables if not set anyway, so do that. Change-Id: I04dad0674778e79c8c12c18231b8ce6c92edf881 Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* simplify qtAddModule() by using $$qtPlatformTargetSuffix()Oswald Buddenhagen2013-02-201-6/+1
| | | | | Change-Id: I02b6c1eb2db0c8a36c50b1ec3c79dea215fba03a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove pointless conditionals and expansions from qtLibraryTarget()Oswald Buddenhagen2013-02-201-4/+1
| | | | | | | | this function is called only from library TEMPLATEs, and always with exactly one word as the only argument. Change-Id: I6282e3826791f89e6cf89dde625c8166e4e56028 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't suppress building examples in non-prefix buildsOswald Buddenhagen2013-02-201-2/+2
| | | | | | | | | | | | | these have no (useful) install target, so it makes no sense to reduce the "build" to installing sources. suppressing the actual build can be achieved with -nomake examples instead. conversely, as the build dir is the install dir, people actually need to be able to (selectively) build examples in there. Task-number: QTBUG-29756 Change-Id: I98f34235442b552e51c0d5f5cec96a3eab4f1e7f Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add QT_CONFIG's static/shared to CONFIG on startupOswald Buddenhagen2013-02-184-17/+3
| | | | | | | | | ... instead of as a fallback in default_post. it was this way in qt4, and it requires less code to be written in the end. we are already doing it for debug/release as well. Change-Id: I6e02849d61d14a18375cf64a5990768931ebac48 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* take advantage of new safety regarding build config resolutionOswald Buddenhagen2013-02-185-5/+5
| | | | | | | | | all tests that happen after default_post loads resolve_config can rely on debug vs. release, static vs. shared, and staticlib vs. dll being properly "de-conflicted". Change-Id: Ie0b4defcd6024bd1c25f53ba7e03621052d96492 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* refactor build config resolutionOswald Buddenhagen2013-02-1811-49/+75
| | | | | | | | | | | | | | the current approach of having "free-flying" prf files for such a core issue is rather insane. this was noticed early on, as evidenced by the forcible loading of debug/release/debug_and_release in default_post. however, things remained a mess, in particular static vs. shared. consequently, the commit merges all related feature files. the actual config resolution is put in a separate feature file, so it can be loaded by resolve_target if that happens to be loaded early on. Change-Id: Ie30e7c63cabe9409a3263ca1650e323a870926f2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Blackberry: Specify QMAKE_LFLAGS_RPATHLINK for BB10 platformTobias Koenig2013-02-181-0/+1
| | | | | | | | The linker from the BBNDK needs -rpath-link to resolve transitive dependencies, like on Linux. Change-Id: I85726841ea15070e8661b9bdbffaf950fdd247e9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make cmake packages installed to /usr non-relocatable.Stephen Kelly2013-02-141-4/+14
| | | | | | | | | | | | | | This is for dealing with fallout from the UsrMove: http://fedoraproject.org/wiki/Features/UsrMove http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/5327 http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/5868/focus=5907 Change-Id: I6380e3bad17a016a8252b615ce962e3008a5d809 Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* remove useless unset()sOswald Buddenhagen2013-02-132-9/+0
| | | | | | | | there is mightily little point in unsetting variables right before unconditionally assigning to them. Change-Id: I24c1814ce38bf9aab4496679b1a670f3cd55c536 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* If the libdir is absolute, make the config file non-relocatable.Stephen Kelly2013-02-131-0/+4
| | | | | | | | | If Qt is configured with -libdir /some/dir/outside/the/install/prefix/, then for use absolute paths for the executables and include dirs too. Change-Id: I5ccf62be6f93f97d934df62038fe4cd40dca9a93 Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* use install path as fallback when locating toolsOswald Buddenhagen2013-02-111-1/+1
| | | | | | | | | | | | all non-installed tools are properly registered, so they don't need the fallback. conversely, we can assume that non-registered tools are already installed. this enables us to build docs in qtbase after an incremental build+install up to qttools. Change-Id: I95a55f6b84e01885bcf6dd656caf0dd2b679bb73 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix regex for determining if a path is relative.Stephen Kelly2013-02-111-4/+4
| | | | | Change-Id: I3d638220e16c215b737417c2bf8de02ddf4a8199 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Don't duplicate the 'top-level' include dir in all modules.Stephen Kelly2013-02-091-2/+2
| | | | | | | | | | | | This is the <prefix>/include directory which is independent of the module and which only has to be used once. As everything uses QtCore, it is enough to set it only there. The CI system is a special case, in that it tests things before installation. Handle that case too. Change-Id: Idcdf9617e199b7d490cb3553cce07f1f464b3bec Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Include the CMake Extras file and the Macros file only once.Stephen Kelly2013-02-091-4/+4
| | | | | | | | | | As the Extras file can do things like append to a property (as in QtCore for include directories), that is something that should be done only once when the QtCore target is first defined. Change-Id: I5163912bccfda1ff43a02eb01f67ac59e6f6b24b Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* ensure consistent pkg-config file naming for macx qt frameworksOswald Buddenhagen2013-02-061-0/+1
| | | | | | | | | | the pkg-config file names follow the TARGET by default. as we create frameworks without the major version infix, all references to Qt5* would be invalid. Task-number: QTBUG-29453 Change-Id: I82e7de017a8f17f7d2d7b4a2a61a180125ca29a0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* beautify the pkg-config Name: fieldOswald Buddenhagen2013-02-061-1/+1
| | | | | | | | | it's not used for anything other than display, so we can put a space there. Change-Id: I77e156856efeaaa964ff3bf2369bcd5586bac7c6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* export QT_CONFIG only in Qt5Core.pcOswald Buddenhagen2013-02-061-4/+0
| | | | | | | | | there is no point in duplicating the information in every module. host_bins is exported only here as well. Change-Id: I2f816e1cade9761a2c0d97c7ca1c90293095bfb1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* export QT_CONFIG instead of CONFIG to .pc filesOswald Buddenhagen2013-02-061-2/+1
| | | | | | | | users need access to the Qt configuration, not some internals of module's build system. Change-Id: Ife3f668282969d444282d57152c11ed0f741076f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix transitive linking for x-buildsOswald Buddenhagen2013-02-051-1/+0
| | | | | | | | | | | | | -rpath does *not* imply -rpath-link when x-building: ld(1): "Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the --with-sysroot option." it doesn't hurt to have the "excess" -rpath-link for native builds, so just remove the cleanup. Change-Id: Ic39c1f4d6c2e3770d43a5ed3e56cf89a146edf85 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix lack of rpath-link when using modules from final locationOswald Buddenhagen2013-02-043-53/+24
| | | | | | | | | | | | if the libraries are in a non-standard location, but no rpath is used, rpath-link is needed. this is often the case for non-prefix builds (which have no forwarding pris any more). as we cannot store absolute paths in the final pris, we need to store the module names, and resolve them only at use time. Change-Id: I1538b5d531611c76a2d7058a3b2ff683bdcbe427 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge "Merge branch 'release' into stable" into refs/staging/stableSergio Ahumada2013-02-018-175/+206
|\
| * Merge branch 'release' into stableSergio Ahumada2013-01-318-175/+206
| |\ | | | | | | | | | Change-Id: If3aa1b7ed75082eff6e9761ad82c83691135ed60
| | * don't create forwarding module pris for non-prefix buildsOswald Buddenhagen2013-01-311-62/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as everything is built inside the common build/install dir, there is no point in the fwd pri stuff. as a "side effect", this makes it more straight-forward to relocate non-prefix builds, which is the default on windows. Task-number: QTBUG-28827 Change-Id: I010246a9ad87cf74974dc168768b1a8625f73260 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * qt_module_fwdpri.prf => qt_module_pris.prfOswald Buddenhagen2013-01-312-60/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | move the regular pri file creation into the "sub-prf" and rename it accordingly. the original reason for the split was the deep magic in activeqt (and phonon), which is gone now. Change-Id: If40e941afc9293725630ed6bcf3e4ef18a692f66 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * centralize detection of prefix buildsOswald Buddenhagen2013-01-315-6/+9
| | | | | | | | | | | | | | | | | | | | | this makes the use sites more expressive Change-Id: Ib879de65d1cc26462fa61f5339e951f294515faf Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * do not actually build examples in production buildsOswald Buddenhagen2013-01-311-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -developer-build enables an actual build of examples, based on the assumption that developers want to test it (it can be still disabled with -nomake examples). regular users otoh want only the examples sources installed. Change-Id: Ifc6a108099929175a3960480802b271a758fdd38 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * fix duplicated installation of qml example filesOswald Buddenhagen2013-01-311-17/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | we need to collect the sources of the install targets for the check that all files have been properly handled, but of course we must not add these files to the source install target, as that would mean double installation. Change-Id: I6acb56f2a993b6ed81d1031d5dc0a0da30a53b54 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * explicitly set QMAKE_PKGCONFIG_NAMEOswald Buddenhagen2013-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise qmake will just take TARGET and lowercase and capitalize it, which not only looks weird, but also does not match the Requires: fields we generate. Change-Id: I4a070ff256fffd2b780acb0361d4213d0032dbb9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Dihan Wickremasuriya <nayomal@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * include all module dependencies into pkg-config Requires: fieldOswald Buddenhagen2013-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | previously, we'd miss the -private ones (which imply the non-private version). Change-Id: Ib5ae2afaa5b5efda9639b7cc4a080432f2fcce2a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Dihan Wickremasuriya <nayomal@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * use correct module names in pkg-config Requires: fieldOswald Buddenhagen2013-01-281-1/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-29309 Change-Id: Id22d4e2707ceb3421dc6eb5effe16a03c4769d26 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | substitute fixed version numbers in qdocconf files with variablesOswald Buddenhagen2013-02-011-0/+7
|/ / | | | | | | | | | | Change-Id: Ie57765c10a8e90d6fc74ee5a8fd84bfc7cd8bcf2 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | fix path adjustments in installed metafilesMark Brand2013-01-302-0/+19
| | | | | | | | | | | | Task-number: QTBUG-28902 Change-Id: Ia70da8f0f0b7abb4ea2a46cb4068c0827888b322 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | adjust paths in installed prl files for mingwMark Brand2013-01-301-1/+1
| | | | | | | | | | | | | | | | | | Curiously, qmake could fix .prl and .pc files for unix, but only .pc files for MinGW. qt_module.prf seems to have known this. Task-number: QTBUG-28902 Change-Id: Ice9983a69813690c0d4b96ca11589440182569a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | adjust paths in installed module metafiles from modular buildMark Brand2013-01-301-1/+1
| | | | | | | | | | | | | | | | | | | | Fully modular prefix build now puts the includes and libs into each module's own builddir, so the else branch was simply bogus. Replaced the else branch with the real base for modular builds. This allows the paths to be successfully replaced when installing metafiles. Change-Id: I056a923288965b560a4e9b0ba7add1aac912199f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Use new path manipulation functions from qmake.Stephen Kelly2013-01-241-21/+20
| | | | | | | | | | | | | | | | This is a less error-prone way to calculate relative paths. Task-number: QTBUG-29110 Change-Id: If4509ef278e48dcf08bdcc904d21534b4c05993f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Update copyright year in Digia's license headersSergio Ahumada2013-01-18145-145/+145
| | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Device mkspec for BlackBerry PlaybookRafael Roquetto2013-01-164-0/+98
| | | | | | | | | | | | | | | | | | Change-Id: I4a437ce2da7c94b49c747e9fcdc9ec622ef51ddc Reviewed-by: Donald Carr <sirspudd@gmail.com> Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'gerrit/release' into stableFrederik Gladhorn2013-01-151-2/+0
|\| | | | | | | Change-Id: Ieb104d0e390218a063082c93bc9c7e412af2166d