summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/create_cmake.prf
Commit message (Collapse)AuthorAgeFilesLines
* don't overengineer DESTDIR calculationOswald Buddenhagen2015-04-231-6/+8
| | | | | | | | just like in qt_plugin.prf, the DESTDIR setting is actually fixed per module type. Change-Id: I5837b5884699f0d50e4067733af8aacbab93bc42 Reviewed-by: Stephen Kelly <ske@ableton.com>
* cmake: Generate INTERFACE targets for include-only modules.Stephen Kelly2015-04-151-3/+22
| | | | | | | | | | | | | | | | | | | Require CMake 3.0 if an attempt is made to use a cmake file containing an INTERFACE library. If the user is using a CMake version older than 3.0, then exclude INTERFACE libraries from dependencies of Qt modules. The Qt CI system is running CMake versions as old as 2.8.11, which makes that the current minimum version. The only header-only module existing so far is the QtUiPlugin module, which has been split out from the QtDesigner module. If using CMake 2.8, the forwarding headers in the QtDesigner module will be used, and the effect of the split out library will not be seen. If using CMake 3.0, the split out library is listed as a dependency and its transitive usage requirements such as the QT_UIPLUGIN_LIB definition are made available. Change-Id: Iecee3bbc440842dca27dc067f2a31e3526efa01b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* CMake: Fix QObject::connect failing on ARMAlbert Astals Cid2015-02-031-2/+0
| | | | | | | | We need PIE, doesn't matter if reduce_relocations is used or not Change-Id: I9a359b9d4443a6059980cd4c48058132ec4267fe Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* use the major qt version for the library stem also in cmake filesOswald Buddenhagen2015-01-081-1/+1
| | | | | | | | amends 7ef2f9f65cc8e35. Change-Id: I1b7a029d8c73f5ce20d216e3b40a7c118eca4891 Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com> Reviewed-by: Stephen Kelly <steveire@gmail.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Oswald Buddenhagen2014-10-061-5/+10
|\ | | | | | | Change-Id: I132bb6cce68e9f8413200f7ee75586bd1cada38c
| * create_cmake: Fix mingw plugin pathTimothy Gu2014-09-291-5/+10
| | | | | | | | | | | | | | | | MinGW static libs use libfoo.a format, and not foo.lib. Change-Id: I899adca8ec0b1c8430f5b6c4f18ad0ea1dc6d398 Reviewed-by: Timothy Gu <timothygu99@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | create_cmake: Make the warning actually useful.Robin Burchell2014-09-261-1/+3
|/ | | | | | | | Giving instructions, rather than forcing one to grep qtbase for the error message is always a good thing. Change-Id: I0f5abed341368cdf817dc0110c2c250b377a30de Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* CMake: Allow modules to specify the location of tests.Stephen Kelly2014-06-251-1/+10
| | | | | | | | Webkit has a different layout, so allow the tests to be found in the appropriate location. Change-Id: Iedbea6daada98a3c3efdbcfc1fe4df5d2c8cea6a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* CMake: Report an error if unit tests are not found for a module.Stephen Kelly2014-06-251-0/+2
| | | | | Change-Id: Ic1540cfb04bf975a14bf2b35f4402bd36046de67 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* CMake: Load plugin files unconditionally if present.Stephen Kelly2014-06-221-2/+0
| | | | | | | | Task-number: QTBUG-39171 Task-number: QTBUG-39451 Change-Id: Ie66bd6b787a0957fd6f7ea673b158ab5de3cc38f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* CMake: Fix build with unversion_libname configurationDaiwei Li2014-05-301-0/+4
| | | | | | | | | | a162a3cb (Android: Add "unversioned_libname" configuration, 2014-04-23) removed the version for shared libs on Android. This change updates the generated CMake files to support that. Change-Id: Ia6ef04872c664bd4c31546456a82730babed2910 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* make cmake registration of qt plugins make use of PLUGIN_EXTENDSOswald Buddenhagen2014-04-091-7/+14
| | | | | | | | | | | | | | | | | | instead of assigning plugins to the first module which claims the whole type, try to assign it to a module which the plugin claims to extend. as we are getting stricter in that go, somebody needs to claim the 'generic', 'platformthemes', and 'platforminputcontexts' plugin types. the natural claimant is QtGui. however, as we don't want to auto-link any of these plugins, make them all claim that they extend a non-existing module. QtGui also claims 'iconengines' plugins. the 'printsupport' plugins are also claimed by the respective module. Change-Id: I7af7c16089f137b8d4a4ed93d1577bd85815c87b Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Replace win32-g++ with mingw scopeKai Koehne2014-01-171-1/+1
| | | | | | | | Commit 773dd01 introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* make better use of $$MODULE_PLUGIN_TYPESOswald Buddenhagen2013-10-241-9/+9
| | | | | | | | | | | | | | | | | | the module project files declare what plugins they need, as that is necessary for automatic android deployment. enable wider usage of this by making the information available from the module .pri files. caveat: the variable is called "types", but is in fact paths, so there can be particular plugins named. use this new facility to replace the egregious hard-coded list of plugin-to-module mappings from create_cmake. possible todo: automate populating DEPLOYMENT (for wince, and whatever else). Change-Id: Ibb9c07cfe2b0008905204cbeb81e9c8e2ae4dc69 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* rewrite handling of private modulesOswald Buddenhagen2013-10-241-1/+1
| | | | | | | | | | | | | | | | instead of being magic attributes of the main modules, the privates are now proper modules of their own. this cleans up some code paths, is more mappable to other build tools, and enables private modules to depend on other private modules. note that the library path is needed even in the "empty" private modules, as in the framework case that's where headers are found. consequently, the modules need to be explicitly marked with the new "no_link" flag. this required some reorganization of qtAddModule(). Change-Id: I8e4f44a609f8d639cc01bcb658256870a627eb63 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use the cmakeTargetPaths function to process multiple paths.Stephen Kelly2013-10-161-4/+3
| | | | | | Change-Id: I2e874af4f5bf22a3028b7099c39436c400136386 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Generate source includes in a separate file, if needed.Stephen Kelly2013-10-161-0/+9
| | | | | | | | | | | | The source includes shouldn't be used by installations, so don't install the extra file, but only use it if the package is used from the build-dir. Task-number: QTBUG-33970 Change-Id: I08f91b8a716e935cb04d1233d44cf5c092e240ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Don't test DLLDESTDIR when calculating dll location.Stephen Kelly2013-10-161-1/+1
| | | | | | | | | | | The DLLDESTDIR is not related to the install location and is not populated for prefix_build configurations. That resulted in the CMake files attempting to find the dlls in the lib/ directory instead of the bin/ directory. Change-Id: Iec6a7c9b6dd656278b70ab128f3df9e8c45bbe4a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix extension of static pluginsStephen Kelly2013-09-171-6/+15
| | | | | Change-Id: I2656746cbc93a0912bb844fab7d466da39997867 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-09-101-4/+15
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devSergio Ahumada2013-09-071-4/+15
| |\ | | | | | | | | | Change-Id: I9ee4176f0a0078908d49896508826154c9f71530
| | * Fix usr-move workaround in the presence of multi-arch.Stephen Kelly2013-09-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cmake directory may not be $PREFIX/lib/cmake, but instead $PREFIX/lib/<arch>/cmake. Getting the PATH of such a directory will not lead us to $PREFIX/, but to $PREFIX/lib. Use a relative calculation instead. Task-number: QTBUG-33223 Change-Id: Ice4e0f859ab1df238bad4eb942f073e84dd86cc3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * Add source directories to include paths if needed.Stephen Kelly2013-09-051-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-33145 Change-Id: I555064cd92691459222463df9917f8222e31323b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | | Teach CMake about Qt 5 plugins.Stephen Kelly2013-09-101-0/+48
|/ / | | | | | | | | Change-Id: Idd3225759f9f5ec620f79e29035eb176f965bef7 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-271-27/+27
|\| | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * CMake: Move some code around.Stephen Kelly2013-08-211-27/+27
| | | | | | | | | | | | | | | | | | This makes the diff clearer when adding plugin information in a followup commit. Change-Id: I857d9f71b08074f2ffa2f852ad72e5dd975adc3e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| * Move the cmakeRelativePath function to cmake_functions.Stephen Kelly2013-07-241-5/+0
| | | | | | | | | | | | | | | | Task-number: QTBUG-32570 Change-Id: I05bbf7084ef8501bf17698f2ecc1cf3d8fd4d460 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-271-0/+11
|\| | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/create_cmake.prf Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
| * Adjust the cmake files to find the dlls in the bin dir.Stephen Kelly2013-06-151-0/+11
| | | | | | | | | | | | Change-Id: I840f963c3648d123b31f79aa2c8902c0ad74e982 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | Generate the directory for the mkspec include in a helper file.Stephen Kelly2013-06-211-11/+0
|/ | | | | | | | | | The cmake variable for the mkspec dir must specify the source location if used in the build dir, and must specify the install location if used in the install dir. Change-Id: I2fee8cd0c7198e9fc5cbb63972e20c75636672d1 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Only generate entries for private include dirs if they exist.Stephen Kelly2013-05-141-0/+2
| | | | | | Change-Id: I1d745adfbae371f8f1f76e954be98f4c2fd962e0 Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Handle usr-move without forcing absolute pathsStephen Kelly2013-04-191-8/+11
| | | | | | | | | | | | | | | | | | In qtbase commit 7ac58d1ff0815566ba1de09519299b5119e5ee91 (Make cmake packages installed to /usr non-relocatable., 2013-02-11), we made cmake config files non-relocatable if they were installed to the /usr prefix. That was assumed to mean that this was a distro or platform package, and was a workaround for the usr-move problem on Fedora and ArchLinux. However, cmake bug http://public.kitware.com/Bug/view.php?id=14041 showed that forcing absolute paths in this situation is not desirable in cross compiling scenarios. CMake commit 6c613b433c45efb0bb013a6bd668cbb8ac740259 (Handle usr-move without forcing absolute paths (#14041), 2013-04-03) addressed the problem in CMake, and this commit is an equivalent. Change-Id: I065a6230bc618aa980fae6ca511ae10df4cd62c2 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* mkspecs are installed to QT_HOST_DATA instead of QT_INSTALL_ARCHDATA.Volker Krause2013-04-081-4/+4
| | | | | | | These are the same for normal builds, but differ when cross-compiling Qt. Change-Id: I75eccc6f4b67b440a08c4aba41aabb7df686c9f9 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-03-061-15/+1
|\ | | | | | | refs/staging/dev
| * Extract some cmake related functions for re-use.Stephen Kelly2013-02-251-15/+1
| | | | | | | | | | | | | | These will be used by ctest_testcase.prf. Change-Id: I8a0e6e1eb110daba41b007c8309f3cb9a2059ecb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Distinguish between 'mac' and 'macx' qmake scopesTor Arne Vestbø2013-03-051-1/+1
|/ | | | | | | | | | | | | | The former applies both on Mac OS X and iOS, but 'macx' is specific to Mac OS X. ios.conf and macx.conf now share most of their settings in the common mac.conf. We set the default QMAKE_MAC_SDK before loading mac.conf, so that any overrides in the device config will apply afterwards. This means configure's mkspec parsing will be able to read the QMAKE_MAC_SDK. Change-Id: I0c7e26a6a0103e19b23ef152aa9e4ab461cee632 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@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>
* 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>
* 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>
* The executables always go into QT_HOST_BINS.Stephen Kelly2013-01-091-1/+1
| | | | | | | | Task-number: QTBUG-28922 Change-Id: I7afaee292a0026d67866e4f1f711296adee8f8de Reviewed-by: Andy Nichols <andy.nichols@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix the computation of the location of mkspecs.Stephen Kelly2012-12-201-4/+4
| | | | | | | | | The location of the mkspecs directory comes from the archdatadir, which distros will all set. Change-Id: I20dbdce76db13dbd37eec065009e215f98985907 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* mark a bunch of features as internalOswald Buddenhagen2012-12-121-0/+10
| | | | | Change-Id: I5ad28827ff317985414e859263af85ceec31207c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* move cmake template files under features/data/Oswald Buddenhagen2012-12-071-2/+2
| | | | | | | | | 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>
* Only generate -fPIE on unix.Stephen Kelly2012-12-071-1/+1
| | | | | | | | 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>
* Topologically sort $${MODULE}.depends when generating cmake files.Stephen Kelly2012-12-071-1/+1
| | | | | | | | | | | | 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>
* Refactor create_cmake to re-use the computed stem.Stephen Kelly2012-11-131-27/+29
| | | | | | Change-Id: I3b277316b1befbb57613b465fc5bbedc6b2305f7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Insert the Qt major version (5) in the library namesThiago Macieira2012-11-101-27/+27
| | | | | | | | | | | 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>
* Use the new QMAKE_XSPEC to get the mkspec.Stephen Kelly2012-11-011-1/+1
| | | | | Change-Id: I7f307ffe0954464f68192f9f3781bdb206f87809 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Use a qmake variable to pass the Qt version to the cmake version file.Stephen Kelly2012-10-191-0/+2
| | | | | | | | 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>
* Use the mkspec name Qt was configured with instead of default symlinkStephen Kelly2012-10-161-0/+2
| | | | | | | | | 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>