23386 Commits

Author SHA1 Message Date
Brad King
a2da465b75 Merge branch 'Fortran-pgi-intel-arch' into release 2014-04-10 12:58:45 -04:00
Brad King
eb8cb2c6c2 Fortran: Detect pointer size on Intel archs with PGI (#14870)
The PGI compiler does not define __SIZEOF_POINTER__ so use the
__x86_64__ or __i386__ CPU macros to select a pointer size instead.
2014-04-10 12:57:02 -04:00
Brad King
4fd266904c Merge branch 'CMakeDetermineVSServicePack-vs-11-update-4' into release 2014-04-10 12:49:54 -04:00
Brad King
f0de3f80bb CMakeDetermineVSServicePack: Add VS 11 update 4 2014-04-10 12:49:14 -04:00
Brad King
105658df02 CMakeDetermineVSServicePack: Match versions more robustly
Use the CMAKE_MATCH_* variables to simplify matching logic.  Match
either 3 or 4 version components.  Do not fail when there are only three
components available.
2014-04-10 12:49:14 -04:00
Brad King
101515b958 CMakeDetermineVSServicePack: Format documentation
Also state explicitly that the module is deprecated.
2014-04-10 12:49:14 -04:00
Brad King
c4b31a2c47 Merge branch 'Qt4Macros-moc-performance' into release 2014-04-03 13:08:27 -04:00
Robert Maynard
7beba98652 Qt4Macros: Make QT4_CREATE_MOC_COMMAND a function
QT4_CREATE_MOC_COMMAND is given a moc_flags argument that contains the
COMPILE_DEFINITIONS and a potentially large list of include directories.
Since it is a macro, the ${moc_flags} reference is replaced with this
content and sent through cmMakefile::ExpandVariablesInString (EVIS).
Since commit v3.0.0-rc1~138^2 (Qt4: Use generator expression in
COMPILE_DEFINITIONS, 2014-01-13) the COMPILE_DEFINITIONS value contains
a '$' so the EVIS fast-path is no longer used.  Instead the full
cmCommandArgumentParserHelper is now used on the large input, which is
very slow (since it was originally created for hand-written code).

Change QT4_CREATE_MOC_COMMAND to a function instead of a macro to avoid
passing large content through EVIS.  This makes it significantly faster.
2014-04-03 12:58:58 -04:00
Brad King
97243c22b2 Merge branch 'revise-compiler-id-policies' into release 2014-04-02 14:54:17 -04:00
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
f180fc8925 Merge branch 'fix_policy_diagnostics' into release 2014-04-02 09:38:28 -04:00
Brad King
b783b99f8a Merge branch 'clang-warnings' into release 2014-04-02 09:38:23 -04:00
Nils Gladitz
77b581c2f0 Policies: omit warnings about unset policies when they are actually set to NEW 2014-03-31 09:45:10 -04:00
Sean McBride
50ca77f4a0 create_test_sourcelist: Initialize variable at declaration
Clang -Wconditional-uninitialized warns otherwise.
2014-03-31 09:41:05 -04:00
Brad King
8272bbc0e4 Merge branch 'fix-Qt-manual-typo' into release 2014-03-26 13:24:10 -04:00
Stephen Kelly
dcfbbe87eb Help: Fix typo in cmake-qt manual.
Do -> To.
2014-03-26 17:50:08 +01: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