Commit Graph

28 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Stephen Kelly
6bd4be9436 Uppercase the CONFIG for verbatim mode.
Change-Id: Iec883e0218af80fc329d866affb2b95db72c54d3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 15:52:00 +02:00
Stephen Kelly
fa6ca58b8b Don't re-evaluate the lib location.
Rely on the DESTDIR variable being set correctly by qt_module_config.

Change-Id: I1a166124024722ec5a189a7402b38646179aa890
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-26 04:18:29 +02:00
Stephen Kelly
b4dabb9e50 Revert "Don't use the pri depends line for link dependencies."
This reverts commit df43b9a06a.

Using the same depends information as QMake provides adds a lot of
convenience for users, and is mostly 'correct' from a CMake
point of view anyway.

Change-Id: I8f2a2f74a687c25a0dedcc491ef72ddb5b136090
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-05-03 16:11:58 +02:00
Stephen Kelly
5c7e4d302e Fix creation of config files in debug mode.
f88212c22f was not complete.

Change-Id: Ie5b1bb4832176ec8a72ace473f7dbc6c4de10ff2
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-04-24 16:29:40 +02:00
Stephen Kelly
f88212c22f Don't tell CMake we're making debug libraries if we're not.
The config option debug_and_release is set on Windows and on
mac (unless xcode is used independently of whether Qt is configured
with -release or not.)

We need to check CONFIG(release,debug|release) to see if
-release was set.

Change-Id: Ibf952958874f6b102981526b3397e848c207a3f2
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-04-23 17:03:43 +02:00
Stephen Kelly
df43b9a06a Don't use the pri depends line for link dependencies.
That is not what depends is for.

Change-Id: Iabf93e890f009bd6c8fcc18dde1891bf20a493f1
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-28 00:51:32 +02:00
Stephen Kelly
4a6bf9d941 Prefix the variables for debug and release types properly.
Change-Id: I346992effa997f60a4fd20055f0af81d6a084095
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-28 00:51:32 +02:00
Stephen Kelly
56612a555d Fix the include dir used by the CMake config files.
I missed this one in 018e78575c

Change-Id: I194b96d2b1a64025ddb17fe2ed81566838555e13
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-29 17:43:00 +01:00
Stephen Kelly
018e78575c Make the CMake files work with directory overrides.
This allows us to create correct CMake config files when Qt is
configured with directories outside of the prefix (which Qt allows),
and also allows us to use correct values when a 'longer' relative
lib directory is used such as lib/x86_64-linux-gnu.

Change-Id: I6f88255a23752dc5b84cb20ce13fdeeee9d5ad51
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-28 21:07:16 +01:00
Stephen Kelly
c470999329 Fix the library names on MinGW.
Change-Id: I6c2008a0e7a07ca0603b8aa9362d31fa4ef7310a
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-24 13:19:44 +01:00
Stephen Kelly
bd5096d012 Add the QtMain windows library to the CMake files.
Change-Id: Iff8b9bdd4b069721103e1cd5854e56b6116d7549
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-23 23:46:01 +01:00
Stephen Kelly
46a4a0e8c9 Fix warnings about existing directories during cmake file creation.
Use the new QMAKE_SUBSTITUTES.config = vebatim feature.

Change-Id: I4c08bd4694c11d48434eb225fc6902e69a4cdec2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-11 13:30:31 +01:00
Stephen Kelly
1406659948 Add -fPIE to the Qt5Core_COMPILE_FLAGS with reduce-relocations.
Qt requires this since 482d96a0c5

Change-Id: Iba783e283b17654abf46f11b81cc1641c3ce7d83
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-10 19:21:24 +01:00
Stephen Kelly
8aeb70ed36 Add special casing for static modules.
QtUITools is a static library, so we need to mark that in its
CMakeConfig.cmake file.

Change-Id: I4e3684f7c62f4af28956a6e8f58edce7724f50dd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-07 17:55:33 +01:00
Stephen Kelly
34ebd0397e Fix cmake files for static builds.
Change-Id: I3864017df6fc0daeb31b389c8883401d344730bf
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2011-12-23 17:35:33 +01:00
Stephen Kelly
23ab6a726a Add the .exe suffix to executables on Windows.
Change-Id: I257bb7d62ae18ea529df6b10694fcf25eedc83f4
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-12-12 19:10:34 +01:00
Stephen Kelly
e0593c828b Make the Qt5 part of the target name namespace style.
As it was in Qt4 and discussed on the cmake list.

Change-Id: Ide77c2525a261a5d658d7cb661010a67d3386341
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-12-02 14:17:40 +01:00
Stephen Kelly
a482487b9f Install CMake config files from Qt.
This includes a BSD licenced file Qt5CoreMacros.cmake which is
adapted from Qt4Macros.cmake in the CMake source tree.

Change-Id: I54326b808795535490a0489659b351a8da72cdbb
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-29 17:08:39 +01:00