23371 Commits

Author SHA1 Message Date
Brad King
a41c0a9dcb Do not warn by default when policy CMP0025 or CMP0047 is not set
These policies are triggered by the use of a particular compiler rather
than outdated CMake code in a project.  Avoid warning in every project
that enables a language by not displaying the policy warning by default.
Add variable CMAKE_POLICY_WARNING_CMP<NNNN> to control the warning
explicitly; otherwise enable the warning with --debug-output or --trace.

This breaks with strict policy convention because it does not provide
developers with any warning about the behavior change by default.
Existing projects will continue to build without a warning or change in
behavior.  When a developer changes the minimum required version of
CMake in a project to a sufficiently high value (3.0), the project will
suddenly get the new compiler id and may break, but at least the
breakage comes with a change to the project rather than the version of
CMake used to build it.

Breaking strict policy convention is worthwhile in this case because
very few projects will be affected by the behavior change but every
project would have to see the warning if it were enabled by default.
2014-04-02 14:43:54 -04:00
Brad King
d339653eaf Help: Revise and format policy CMP0025 and CMP0047 docs
Add inline reST markup as appropriate.  Word CMP0047 docs more like
those of CMP0025.  State explicitly that the policies must be set
before the project or enable_language command calls.
2014-04-02 14:42:45 -04:00
Brad King
a48de7d850 CMake 3.0.0-rc3 2014-03-20 09:26:39 -04:00
Brad King
6a85d624a8 Merge branch 'add_custom_command-no-INTERFACE-lib' into release 2014-03-19 10:57:04 -04:00
Brad King
aee06336b8 Merge branch 'fix-Qt5-non-Windows' into release 2014-03-19 10:54:18 -04:00
Stephen Kelly
2600e923a6 Disallow INTERFACE libraries with add_custom_command(TARGET).
Don't attempt to trace their dependencies.
2014-03-19 15:51:21 +01:00
Stephen Kelly
5f210672da QtDialog: Fix Qt 5 build on non-Windows.
The Qt5Core_QTMAIN_LIBRARIES variable is defined to the Qt5::WinMain
target on Windows, and undefined elsewhere.
2014-03-19 15:38:02 +01:00
Brad King
0f4e8fd0e9 CMake 3.0.0-rc2 2014-03-17 13:14:27 -04:00
Brad King
4a7eb0cdec Merge branch 'CONFIG-LOCATION-CMP0026' into release 2014-03-17 09:35:30 -04:00
Stephen Kelly
c903b5319b cmTarget: Restore <CONFIG>_LOCATION to CMP0026 OLD behavior (#14808)
Restore support for the undocumented <CONFIG>_LOCATION target property
removed by commit v3.0.0-rc1~175^2 (cmTarget: Remove support for
<CONFIG>_LOCATION property, 2013-12-30) as part of the CMP0026 OLD
behavior.
2014-03-17 09:30:39 -04:00
Brad King
43b39b1c36 Merge branch 'fix-Qt5-windows-build' into release 2014-03-17 09:24:12 -04:00
Stephen Kelly
61c60b239c QtDialog: Avoid linking to Qt4 WinMain when using Qt 5.
Override the QT_QTMAIN_LIBRARY cache variable with a regular
variable in the Qt 5 configuration. This avoids linking with the
Qt 4 version of the WinMain library.
2014-03-17 14:15:14 +01:00
Brad King
aa195cdcbe Merge branch 'intel-14-version' into release 2014-03-14 10:00:16 -04:00
Brad King
967d09fec3 Merge branch 'fix-find_dependency-empty-version' into release 2014-03-14 09:59:52 -04:00
Brad King
eddabf9fcf CMake*CompilerId: Fix patch level for Intel >= 14.0 (#14806)
According to the Intel release notes:

 http://software.intel.com/sites/default/files/l-compiler-release-update.pdf

the __INTEL_COMPILER_UPDATE predefined macro was introduced to hold the
third version component.

Reported-by: Dirk Ribbrock <dirk.ribbrock@mathematik.uni-dortmund.de>
Co-Author: Rolf Eike Beer <kde@opensource.sf-tec.de>
2014-03-14 08:51:37 -04:00
Aurélien Gâteau
34cd5fc451 find_dependency: Give more helpful message if VERSION is empty 2014-03-13 15:51:11 -04:00
Brad King
59d3898bc7 Merge branch 'fix-CMP0046-warning' into release 2014-03-12 14:56:37 -04:00
Stephen Kelly
d83245a34f cmTarget: Don't create duplicate backtraces in CMP0046 warning 2014-03-12 18:01:26 +01:00
Brad King
7534967b65 Merge branch 'fix-find_dependency-EXACT' into release 2014-03-12 10:12:06 -04:00
Stephen Kelly
224f50f42f find_dependency: Make sure invalid EXACT use can be reported.
Test the first argument directly for matching 'EXACT'. The error
check in its previous position was incorrect and would only trigger
with a version of '0' or similar.
2014-03-11 14:51:06 +01:00
Brad King
c2d1ea3181 Merge branch 'fix-xcode-compiler-force' into release 2014-03-11 09:06:53 -04:00
Brad King
8c9bfac384 Xcode: Convert forced CMAKE_<LANG>_COMPILER to full path if possible
During cross-compiling the toolchain file may use CMakeForceCompiler to
force a compiler setting.  When using the Xcode generator try to convert
it to a full path by searching the PATH as is done for the Makefile
generators.
2014-03-10 17:12:00 -04:00
Brad King
6852fb8034 CMakeDetermine*Compiler: Factor out search for compiler in PATH
Factor out a _cmake_find_compiler_path helper macro to avoid duplication
of the search for a full path to the compiler.
2014-03-10 17:12:00 -04:00
Brad King
29d4f6b03b Merge branch 'doc-osx-path-variables' into release 2014-03-10 10:24:16 -04:00
Brad King
764e977ad7 Help: Document variables CMAKE_APPBUNDLE_PATH and CMAKE_FRAMEWORK_PATH 2014-03-10 10:23:42 -04:00
Brad King
ebaa5a6410 Merge branch 'fix-AUTOGEN-custom-command-depends' into release 2014-03-10 09:38:52 -04:00
Brad King
29ff93a970 Merge branch 'fix-find_dependency-EXACT' into release 2014-03-10 09:38:48 -04:00
Brad King
ef0386c250 Merge branch 'fix-Qt4-DBus-macro' into release 2014-03-10 09:38:38 -04:00
Brad King
9d4394ee87 Merge branch 'python-3.4' into release 2014-03-10 09:36:31 -04:00
Brad King
98e3831a67 Merge branch 'fix-policy-scopes' into release 2014-03-10 09:36:28 -04:00
Stephen Kelly
112cba927a QtAutogen: Fix AUTOGEN depends on custom command output with VS.
Visual Studio is handled as a special case for autogen depends. However,
the special handling works only for target dependencies, not file
dependencies output by a custom command.

Use a PRE_BUILD step only if all depends are targets.
2014-03-10 13:01:29 +01:00
Stephen Kelly
fc2bad57ff Qt4: Use correct qdbus executable in macro.
Commit v3.0.0-rc1~71^2~9 (Qt4: Use IMPORTED executable names with
custom commands., 2014-01-24) erroneusly changed this command to
use the wrong target.
2014-03-10 11:50:28 +01:00
Matt McCormick
ab6201ab64 FindPython{Interp,Libs}: Search for Python 3.4.
Python 3.4.0rnc1 was released on 2014-02-20.
2014-03-06 11:37:59 -05:00
Brad King
50fd0a33c9 Tests: Simplify and document policy scopes in RunCMake.CMP* tests
Drop unnecessary NO_POLICY_SCOPE options.  Document why the remaining
options are necessary.
2014-03-06 11:07:03 -05:00
Brad King
b1bbee3e9a Record more policies on targets when created
Policies CMP0027, CMP0038, and CMP0046 have per-target meaning so
record the policy settings on targets as they are created.
2014-03-06 11:05:47 -05:00
Stephen Kelly
08ba128f51 find_dependency: Don't propagate EXACT argument.
If a package is requested with an EXACT version, that doesn't imply
that dependencies must be found EXACTly too.

Extend the macro to allow specifying that a dependency must be found
by EXACT version instead.
2014-03-06 15:07:37 +01:00
Brad King
51988a4fce Merge branch 'fix-check-build-system-crash' into release 2014-03-04 10:17:05 -05:00
Brad King
3504f9b9ff cmake: Fix --check-build-system argument count check (#14784)
This internal option requires two arguments, not just one.  Fix the
argument count required to recognize the option.
2014-03-04 10:12:08 -05:00
Brad King
54a4c93087 Merge branch 'doc-find_package-build-paths' into release 2014-03-03 14:43:36 -05:00
Brad King
69d73d27cb Help: Mention in find_package that cmake-gui step is Windows-only (#14781)
Recently used cmake-gui locations are searched only on Windows because
the Windows registry is used to record the values.  This behavior is
historical and may be removed by a policy in the future so rather than
implementing it on other platforms simply document the current behavior.
2014-03-03 14:36:48 -05:00
Brad King
c69a84c308 Merge branch 'CMP0043-dir-prop' into release 2014-03-03 10:12:05 -05:00
Brad King
9efba5d956 Merge branch 'add_definitions-no-genex' into release 2014-03-03 10:12:01 -05:00
Stephen Kelly
38df26bc6f CMP0043: Document old and new interfaces for setting directory property. 2014-03-03 10:11:19 -05:00
Stephen Kelly
1a9316a808 add_definitions: Don't document genex support.
This command does not support generator expressions. The documentation
was mistakenly extended to claim it in commit v3.0.0-rc1~60^2~3 (Help: Mark
up the buildsystem commands documentation, 2014-02-03).
2014-03-03 10:10:39 -05:00
Brad King
42f981987e Merge branch 'FindRuby-2' into release 2014-02-28 08:50:32 -05:00
Brad King
5161f7bc36 Help: Consolidate FindRuby-2 release notes for 3.0.0 2014-02-28 08:50:05 -05:00
Brad King
57abfeaac5 Help: Add FindRuby-2 topic release notes 2014-02-28 08:47:12 -05:00
Bas Couwenberg
165f6430d9 FindRuby: Add support for Ruby 2.0 and 2.1
The most significant change since Ruby 1.9 is the changed path of
config.h, from RbConfig::CONFIG['rubyhdrdir'] to
RbConfig::CONFIG['rubyarchhdrdir'].
2014-02-28 08:41:33 -05:00
Brad King
948d5d18fd Merge branch 'fix-find_dependency-macro' into release 2014-02-26 10:32:56 -05:00
Alex Merry
3d8f7102bb find_dependency: unset cmake_fd_version variable at end of macro
This matches the other macro variables.
2014-02-26 10:27:01 -05:00