306 Commits

Author SHA1 Message Date
Kitware Robot
df4ed1e9ff Help: Convert remaining modules to block-style comments 2018-10-22 11:09:34 -04:00
Christian Pfeiffer
c2934b025d FindQt4: New IMPORTS, PLUGINS and MKSPECS handling
Fixes: #14155
2018-05-14 13:34:59 +02:00
Brad King
cf06962d73 FindQt4: Revert "Set PLUGINS and IMPORTS dir even if empty"
The change in commit v3.11.0-rc1~306^2 (FindQt4: Set PLUGINS and IMPORTS
dir even if empty, 2017-11-19) regressed existing builds on some
machines.  Revert it for CMake 3.11 pending further investigation.

Fixes: #17814, #17817
Issue: #14155, #17492
2018-03-19 09:13:25 -04:00
Craig Scott
3c413e2a31 GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Modules 2017-12-30 09:35:56 +11:00
Christian Pfeiffer
f81d186b15 FindQt4: Set PLUGINS and IMPORTS dir even if empty
Fixes: #14155
Issue: #17492
2017-11-19 22:54:24 +01:00
Jean-Christophe Fillion-Robin
33161f489c
FindQt4: Do not assume all libraries are frameworks
Since on MacOSX not all modules are available as "framework" (e.g libQtUiTools.a),
the assumption made in "FindQt4.cmake" is not always valid and systematically
setting the imported libraries location to framework location is incorrect.

This commit increases the robustness of the logic by first checking
if the location exists.

Fixes #17195
2017-08-21 16:18:49 -04:00
Brad King
86578eccf2 Simplify CMake per-source license notices
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool.  Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience.  Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.

Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices.  It also references version control
history for more precise information.  Therefore we no longer need to spell
out the list of Contributors in each source file notice.

Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing".  The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.

Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically.  Manually fix up shebang lines and trailing
newlines in a few files.  Manually update the notices in a few files that the
script does not handle.
2016-09-27 15:14:44 -04:00
Daniel Pfeifer
3a7be4f394 prefer list(APPEND) over string(APPEND) where appropriate 2016-08-08 21:28:52 +02:00
Daniel Pfeifer
5d0d980d99 Use string(APPEND) in Modules
Automate with:

find Modules -type f -print0 | xargs -0 perl -i -0pe \
's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
2016-07-28 00:41:13 +02:00
Brad King
5ed2881cb2 FindQt4: Document Qt4::QtDeclarative imported target (#16157) 2016-06-20 08:49:31 -04:00
Daniel Scharrer
009c1865dc FindQt4: Fix handling of QT_VERSION_MAJOR mismatch
Fix capitalization of Qt4_FOUND variable when setting it to false in
this case.  This caused find_package(Qt4) to appear successful when it
was not.  Note that the legacy QT4_FOUND variable is unconditionally
overwritten at the end of the file with the value of Qt4_FOUND.
2014-12-09 10:43:02 -05:00
Brad King
4c8c442d7c Help: Fix broken cross-references reported by 'nitpicky' option
Enable the Sphinx 'nitpicky' option and fix the resulting warnings about
dangling references.
2014-11-07 11:41:21 -05:00
Brad King
20c5f4fbd9 Modules: Wrap long lines in pre-formatted documentation blocks
Help format the blocks better for display without a wide screen.
2014-11-06 14:52:26 -05:00
Brad King
58b2d760ee Modules: Format documentation to avoid over-long preformatted lines
Convert several preformatted code block literals that enumerate lists of
options or variables to use reST definition lists instead.  Manually
wrap other long lines in code blocks.
2014-10-22 15:52:31 -04:00
Brad King
35746899a3 Merge topic 'FindQt4-more-plugins'
4b5052b0 FindQt4: Add nativewifi and qtga plugins
2014-07-29 08:52:11 -04:00
Mathieu MARACHE
4b5052b0cd FindQt4: Add nativewifi and qtga plugins
While at it, update QT_QTGUI_PLUGINS to use QT_IMAGEFORMATS_PLUGINS
instead of duplicating the list.
2014-07-28 09:39:23 -04:00
Nils Gladitz
567d4d8dc6 FindQt4: Don't further process qmake if it does not belong to Qt4
If the only qmake that can be found belongs to Qt5 the find module
would otherwise still further interrogate it and issue diagnostics
which are specific to Qt4.
2014-06-27 16:24:40 +02:00
Brad King
06ab7db30c FindQt4: Use standard section header underline convention
The FindQt4 module is a CMake Domain object of type "module".
Our convention for domain object document titles is "------"
and domain object document sections is "^^^^^^".  Switch to
these within the FindQt4 documentation.
2014-06-02 14:11:54 -04:00
Rolf Eike Beer
0645eedb71 FindQt[34]: Prefer matching versioned tool names
After finding qmake we search in QT_BINARY_DIR for the other Qt tools.
Try all versioned executable names before trying the plain executable name.
This makes it much more likely that if 2 different major versions are installed
in the same prefix CMake will be able to detect a proper set of tools.
2014-05-22 08:56:05 -04:00
Clinton Stimpson
83934757c9 Find*: Make find_package(.. QUIET) affect Check* modules.
Fixes issues #14812 and #14813 where find_package(OpenMP QUIET) and
find_package(Qt4 QUIET) would still print out messages when calling
check*() functions.

Also a partial fix for  #14445 where building CMake
(without cmake-gui) when Qt5 is installed and Qt4 is not installed
and warnings come out of FindQt4.cmake.
2014-03-29 20:22:54 -06:00
Stephen Kelly
7d90d6c59e Qt4: Add IMPORTED executable for qmake. 2014-02-09 14:35:57 +01:00
Stephen Kelly
0f5dfd10ba Help: Specify that qtmain.lib is only used for WIN32 executables. 2014-02-05 16:05:16 +01:00
Brad King
f748b59e20 Merge topic 'fix-Qt-autogen'
6053ce22 QtAutogen: Make uic work even when the source is in a subdir.
1fc9ecfa FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found.
2014-02-04 13:34:54 -05:00
Stephen Kelly
2739a6f97e Help: Move Qt tool invocation information to a generic cmake-qt manual.
Add an introduction about the use of different package types, and the
ability to use Qt 4 and 5 versions together in a single buildsystem.

Add a section about automatic linking of the qtmain.lib library and
how to disable it.
2014-02-02 11:28:12 +01:00
Stephen Kelly
1fc9ecfae6 FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found.
Commit 321e348e (QtAutogen: Use Qt 4 IMPORTED targets to find
executable locations., 2014-01-24) attempted to fix this problem,
but only solved it for a particular ordering of find_package for
Qt 4 and Qt 5.

Add a test to ensure that it works with both orderings.
2014-01-29 17:02:43 +01:00
Stephen Kelly
e6182f5d5d Qt4: Create IMPORTED executable targets for all Qt executables.
Qt 5 already has similar IMPORTED targets.  The versioned namespace will
allow de-conflicting the variable names between Qt 4 and Qt 5.
2014-01-28 21:04:10 +01:00
Stephen Kelly
f81e67c616 Help: Update Qt4 documentation.
Remove independent doc listing for Qt4ConfigurationSettings, Qt4Macros
and UseQt4. These are implementation details.

Recommend the use of IMPORTED targets.

Remove references to the UseQt4 file, which is obsolete in light of
the IMPORTED targets.

Add documentation for automatic tool invocation and options.

Remove reference to variables which should not be needed in modern
implementations.
2014-01-15 16:23:51 +01:00
Stephen Kelly
4608a260d4 Document the TARGET options in Qt4 macros.
Feature introduced in commit 9ce60ff5 (Qt4Macros: Allow specifying
a TARGET in invokations of macros., 2013-02-26).
2014-01-14 14:55:05 +01:00
Brad King
15562c11ef Merge topic 'policies'
73e9340 get_target_property: Error on non-existent target.
ab9f58f FindQt4: Ensure target exists before calling get_target_property.
37ebeb9 FindQt4: Fix use of get_target_property to use actual target name.
6aabb6a Genex: Use case-sensitive comparison for COMPILER_ID.
5bb53f6 cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy.
2014-01-09 09:37:20 -05:00
Stephen Kelly
ab9f58f657 FindQt4: Ensure target exists before calling get_target_property.
This macro is called for all potential Qt targets, even those which were
not found.
2014-01-08 16:41:34 +01:00
Stephen Kelly
37ebeb9100 FindQt4: Fix use of get_target_property to use actual target name.
This was introduced in ba48e63f (Generate config-specific interface
link libraries propeties., 2013-02-09).
2014-01-08 16:41:34 +01:00
Clinton Stimpson
e8b8b37ef6 FindQt4: Use NO_CMAKE_FIND_ROOT_PATH where search paths are already rooted.
Thanks to Thomas Petazzoni for part of this fix.
2014-01-08 06:07:24 -07:00
Stephen Kelly
b9f0d81c4b Define QT_NO_DEBUG for non-debug use of Qt 4. 2013-12-10 18:33:52 +01:00
Simon Sasburg
05c518b3de FindQt4: Restore ability to handle a changed QT_QMAKE_EXECUTABLE properly.
This fixes a regression in commit 21123416 where it was trying to better handle
a qmake from Qt5.
2013-12-06 08:07:38 -07:00
Kitware Robot
f051814ed0 Convert builtin help to reStructuredText source files
Run the convert-help.bash script to convert documentation:

 ./convert-help.bash "/path/to/CMake-build/bin"

Then remove it.
2013-10-15 14:12:03 -04:00
Brad King
003154f62c Merge topic 'Qt4-INTERFACE_LINK_LIBRARIES'
0f267c0 FindQt4: Populate the INTERFACE_LINK_LIBRARIES of IMPORTED targets.
2013-07-26 09:00:56 -04:00
Brad King
86f2d83de3 Merge topic 'fix-FindQt4-available-modules'
d57c1c1 FindQt4: Re-add QAxServer to the QT_MODULES.
2013-07-25 08:37:01 -04:00
Stephen Kelly
0f267c012b FindQt4: Populate the INTERFACE_LINK_LIBRARIES of IMPORTED targets.
This makes the IMPORTED_LINK_INTERFACE_LIBRARIES_<CONFIG> properties
obsolete.
2013-07-25 13:55:42 +02:00
Stephen Kelly
d57c1c1b9e FindQt4: Re-add QAxServer to the QT_MODULES.
This was removed instead of moved in commit b8af46cb (FindQt4: Don't
fail if certain Qt modules are unavailable.).
2013-07-24 17:59:13 +02:00
Brad King
49e8c65b92 Merge topic 'fix-FindQt4-available-modules'
969e7ee FindQt4: Don't use Qt component _FOUND vars before they're defined (#14286)
2013-07-24 11:02:29 -04:00
Stephen Kelly
969e7ee5df FindQt4: Don't use Qt component _FOUND vars before they're defined (#14286)
This fixes a regression introduced by commit b8af46cb (FindQt4: Don't
fail if certain Qt modules are unavailable., 2013-05-23)

The _FOUND variable is set by the _QT4_ADJUST_LIB_VARS macro, so
invoke that unconditionally, and guard only the set_property calls,
as described in the original bug report (#14165).
2013-07-24 10:46:00 -04:00
Stephen Kelly
cb7f32f5b8 Mark qt4_use_modules and qt4_automoc as obsolete.
The QT_QMAKE_EXECUTABLE has to be passed through the cmake calls because
the executable may not be in the PATH.
2013-07-14 10:05:04 +02:00
Brad King
acf42ba325 Merge topic 'find-Qt4-granular-modules'
b8af46c FindQt4: Don't fail if certain Qt modules are unavailable.
2013-06-03 09:56:21 -04:00
Stephen Kelly
b8af46cb87 FindQt4: Don't fail if certain Qt modules are unavailable. 2013-06-03 09:39:56 -04:00
Brad King
484112d045 Merge topic 'fix-build-without-qt4-with-qt5'
444e752 FindQt4: Fix QUIET failure with Qt 5 but not Qt 4
2013-05-21 15:13:21 -04:00
Stephen Kelly
444e752294 FindQt4: Fix QUIET failure with Qt 5 but not Qt 4
The call

 find_package(Qt4 QUIET)

should be non-FATAL in that case. This fixes #14142.
2013-05-21 14:52:26 -04:00
Andreas Mohr
f57800d6f5 Fix spelling and typos (product names)
API, Borland, MinGW, UNIX, Mac OS X.
2013-05-07 08:42:20 -04:00
Andreas Mohr
bf019d765d Fix spelling and typos (non-binary) 2013-05-07 08:39:19 -04:00
Brad King
526cbafa4e Merge topic 'findqt4-withqt5'
252bfd3 FindQt4: If Qt5 is in CMAKE_PREFIX_PATH, be sure to find Qt4 includes.
2013-03-18 09:42:06 -04:00
Brad King
758651f124 Merge topic 'set-QT_MAJOR_VERSION'
4aa10cd FindQt4: Set the INTERFACE_QT_MAJOR_VERSION for Qt4::QtCore
2013-03-18 09:41:50 -04:00