Commit Graph

4813 Commits

Author SHA1 Message Date
Brad King 0161761d68 Merge branch 'ExternalProject-download-loop' into release 2014-09-08 16:38:49 -04:00
Alan W. Irwin 9f49ac3df0 ExternalProject: Avoid infinite loop on file download hash mismatch
When the loop was added by commit v3.0.0-rc1~103^2~3 (ExternalProject:
Reattempt download when verification fails, 2015-01-15), we forgot to
actually increment the loop counter.  Add the increment line.
2014-09-08 16:36:35 -04:00
Brad King d2364f15ae Merge branch 'fix-clang-cross-compile-find-binutils' into release 2014-09-05 12:06:52 -04:00
Brad King 72d6681826 Fix finding binutils when cross-compiling with Clang
Since commit v3.0.0-rc1~342^2~2 (Add compiler target compile options,
2013-05-19) we use CMAKE_<LANG>_COMPILER_TARGET as the binutils prefix
when cross-compiling with Clang.  Fix the implementation to use the
compiler target as the prefix only when it is set.  Otherwise toolchain
files not using CMAKE_<LANG>_COMPILER_TARGET cause the logic to use
a prefix of just "-" and of course cannot find "-ar" or "-ld".
2014-09-05 12:06:27 -04:00
Tim Blechmann 00ad505b37 BundleUtilities: Allow Info.plist files which use CR line endings
Convert \r to our internal end-of-line character just as we do \n.

Signed-off-by: Tim Blechmann <tim@klingt.org>
2014-08-07 14:00:16 -04:00
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