4808 Commits

Author SHA1 Message Date
Brad King
2eda7499d1 Merge branch 'check-flag-avoid-semicolon' into release 2014-07-30 15:31:45 -04:00
Brad King
cac91206b3 Check*CompilerFlag: Avoid ';' in common pattern (#15048)
In commit v3.0.0-rc1~551^2~1 (Check*CompilerFlag: make C and CXX modules
share most error patterns, 2013-08-08) a pattern containing a ';' was
moved out of a ""-quoted argument and into a variable.  CMake flattens
the containing list and breaks the pattern.  Use a '.' to match ';'.
2014-07-30 15:21:44 -04:00
Brad King
931bd59e68 Merge branch 'FindQt4-more-plugins' into release 2014-07-28 13:20:08 -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
Brad King
d8934eedaf Merge branch 'fix-QCC-compile-flags' into release 2014-07-17 09:41:40 -04:00
Stephen Kelly
3151024d24 QNX: Add missing flags for configurations and artifact creation.
Commit v3.0.0-rc1~111^2 (QNX: Introduce QCC compiler id for that
QNX platform compiler., 2014-01-20) split handling of the QNX QCC
compiler into a separate compiler-id.  That refactoring results in
the QCC compiler not using the CMake-compiler-id "GNU", which means
that the __compiler_gnu macro is no longer executed for it.

Add Compiler/QCC*.cmake modules to define and call the __compiler_qcc
macro and teach it to call __compiler_gnu internally.  Remove the
corresponding pieces from the Platform/QNX*.cmake modules.

It is also necessary to change the language conditional to dereference
the lang macro parameter, which is another bug introduced by the
same commit.  The extra -lang-c++ flag is only necessary when the CXX
compiler is specified as 'qcc' instead of 'QCC' in the toolchain file,
which is why this bug was not noticed before.  The flag is also necessary
in that case when linking in order to find the appropriate standard
libraries.  The flag was not previously added when linking executables,
so linking failed even with CMake 2.8.12 with the lower-case compiler-id.

Co-Author: Brad King <brad.king@kitware.com>
2014-07-17 09:36:18 -04:00
Brad King
afc452fe21 Merge branch 'wince-fix-dll-linking' into release 2014-07-10 15:16:19 -04:00
Brad King
7e1283e48c MSVC: Fix linking of DLLs on WinCE (#15013)
On WinCE we must link both shared libraries and executables with the
/subsystem:windowsce flag.  Teach Platform/Windows-MSVC to pass it
to the linker in both cases.

Suggested-by: Gunnar Roth <gunnar.roth@gmx.de>
2014-07-10 15:10:32 -04:00
Brad King
8df37d6d5e Merge branch 'CMakeExpandImportedTargets-CMP0045' into release 2014-07-07 11:19:32 -04:00
Brad King
49f3216854 CMakeExpandImportedTargets: Do not read property on non-target (#15008)
Avoid behavior that is disallowed by CMP0045.  Check whether a target
exists before trying to read its properties.
2014-07-07 10:58:43 -04:00
Brad King
e932ac9cad UseSWIG: Fix check for noproxy flag (#14990)
The check for this flag added by commit v3.0.0-rc1~284^2 (UseSWIG: Name
python module according to swig flags, 2013-11-26) can get false
positives on flags like "-noproxydel".  Improve the check to match only
"-noproxy".

Suggested-by: Garth Wells <gnw20@cam.ac.uk>
2014-06-25 13:57:24 -04:00
Brad King
668e571d61 GNUtoMS: Add support for VS 2013 (#14936)
Add to the Platform/Windows-GNU module list of VS registry entries those
for VS 2013.  Also add the name "vcvars64.bat" used by VS 10 and above
for 64-bit tools.
2014-05-27 09:24:26 -04:00
James Bigler
6ad14c71bb FindCUDA: Use CUDA_NVCC_FLAGS* for separable compilation
Previously when linking the intermediate link file for separable compilation
the CUDA_NVCC_FLAGS* were not used.  This caused tremendous confusion when
using this feature, and I consider it to be a bug.  This change should fix
this.
2014-05-19 09:14:15 -04:00
Brad King
d9889e002d Merge branch 'ncurses-tinfo' into release 2014-05-06 15:33:20 -04:00
Mark Wright
1f646c6ce0 FindCurses: Detect and satisfy ncurses dependency on tinfo
When ncurses is built with USE=tinfo we need to find "tinfo" as a
dependency of the main library.  Otherwise 'cbreak' is missing:

  ld: ...: undefined reference to symbol 'cbreak'
  ld: note: 'cbreak' is defined in DSO /lib/libtinfo.so.5 so try adding
            it to the linker command line

See https://bugs.gentoo.org/show_bug.cgi?id=468622 for more information.

Applied-by: Rolf Eike Beer <eike@sf-mail.de>
2014-05-06 15:29:33 -04:00
Mark Wright
0e4a2c7e32 FindCurses: Honor CURSES_NEED_NCURSES when curses is found
Take our CURSES_USE_NCURSES code path when CURSES_NEED_NCURSES is
enabled even if CURSES_CURSES_LIBRARY also happens to be found.

Applied-by: Rolf Eike Beer <eike@sf-mail.de>
2014-05-06 15:29:14 -04:00
Felix Krause
c0a6646d2f InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12 (#14903)
The MBCS (Multi-Byte Character Set) has been deprecated with VS 2013,
and MSVC no longer ships with an MBCS-version of MFC by default.
However, it can be downloaded as an add-on.

Teach InstallRequiredSystemLibraries to install the MBCS MFC only
for VS < 12 or if it happens to exist on the system.
2014-05-06 08:54:39 -04:00
Brad King
420280f322 ExternalProject: Fix path to cmake in verify script
In commit v3.0.0-rc1~103^2~3 (ExternalProject: Reattempt download when
verification fails, 2014-01-15) a reference to ${CMAKE_COMMAND} was
added to generate a reference to the CMake command in a cmake script.
Escape the '$' so that the literal variable reference appears in the
script instead of writing the path to the current cmake.  This is
necessary when the path to CMake contains spaces or other characters
special to CMake syntax.
2014-04-30 16:21:58 -04:00
Brad King
ac00baa6a8 Merge branch 'implicit-libNN-dirs' into release 2014-04-16 13:19:03 -04:00
Brad King
cc57ff5c49 Drop /lib32 and /lib64 from link directories and RPATH (#14875)
Extend CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES with these paths.  We
already have the equivalents under /usr.  Systems that have these
directories have their dynamic loaders configured already.  Do not allow
them to appear in the RPATH explicitly.
2014-04-16 11:40:48 -04:00
Brad King
1c5871984a Merge branch 'rc-windres-with-dot' into release 2014-04-11 09:12:00 -04:00
Brad King
7147ed5ce4 CMakeRCInformation: Recognize 'windres' tools with '.' in name (#14865)
A 64-bit MinGW windres is named "i686-w64-mingw32.shared-windres".  The
get_filename_component NAME_WE mode may strip the ".shared-windres" part
and cause the result to no longer contain "windres".  Instead, match the
"windres" name in the full CMAKE_RC_COMPILER value first, and use the
get_filename_component code path only for other resource compilers.
2014-04-11 09:10:56 -04:00
Brad King
db924e00b4 CMakeRCInformation: Do not mention 'Fortran' in documentation
This module is for the Windows Resource Compiler, not Fortran.
2014-04-11 09:10:56 -04:00
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
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
aa195cdcbe Merge branch 'intel-14-version' into release 2014-03-14 10:00:16 -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
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
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
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
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
42f981987e Merge branch 'FindRuby-2' into release 2014-02-28 08:50:32 -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
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
Alex Merry
85d0f8de7e find_dependency: use correct version variable name
The code set cmake_fd_version, but used ${version}.
2014-02-26 10:27:01 -05:00
Stephen Kelly
2be6dbe420 find_dependency: Ensure that ARGV1 has valid local content
The ARGV1 value could come from a wrapping context if find_dependency
is called from a function.
2014-02-24 19:00:42 +01:00
Stephen Kelly
a35ce7235b find_dependency: Add namespacing for variables in the macro.
Avoid setting a variable called 'version' etc.
2014-02-24 19:00:31 +01:00