Commit Graph

23485 Commits

Author SHA1 Message Date
Brad King 931bd59e68 Merge branch 'FindQt4-more-plugins' into release 2014-07-28 13:20:08 -04:00
Brad King cfd7199660 Merge branch 'xcode-6-librarian-flags' into release 2014-07-28 13:20:03 -04:00
Brad King 608cf8149c Xcode: Fix static library creation for Xcode 6 (#15038)
Xcode 6 introduced an 'OTHER_LIBTOOLFLAGS' setting for the "Other
Librarian Flags" of a static library.  Now 'OTHER_LDFLAGS' are ignored.
Teach the Xcode generator to choose the correct name for the build
setting based on the type of target and the version of Xcode.

Inspired-by: Jamie Kirkpatrick <jkp@spotify.com>
2014-07-28 13:06:33 -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 ce7a5ca895 Merge branch 'backport-kwsys-qnx-fix' into release 2014-07-17 09:52:14 -04:00
Bob E cc3248f452 KWSys SystemInformation: No SA_RESTART on QNX
QNX not support SA_RESTART signal:

 /* #define SA_RESTART 0x0040 (not supported yet) */

Use it in SystemInformation only if it is defined.
2014-07-17 09:51:48 -04:00
Brad King 9d2bada3d4 Merge branch 'compile-with-cray' into release 2014-07-17 09:43:27 -04:00
Chuck Atkins fd63722dc8 cmcurl: Fix a build failure with the Cray compiler on Linux (#15026)
The error is caused by a workaround for UNICOS.  The workaround
incorrectly uses the _CRAYC macro to determine if building for
UNICOS.  This macro will always be defined for the Cray C and
C++ compiler regardless of the target platform, even when
building for Linux.  The correct macro should be _CRAY, which as
per Cray documentation is only defined for UNICOS targeted
builds.
2014-07-17 09:43:05 -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 6e9454dd7e Merge branch 'install-cfbundle-directory' into release 2014-07-10 12:55:45 -04:00
Tim Blechmann a3ac67cc3f OS X: Install CFBundles as complete directories
Install CFBundles as directories just like frameworks and application
bundles.
2014-07-10 12:54:10 -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 d08da54576 Merge branch 'UseSWIG-fix-noproxy-check' into release 2014-06-25 13:57:39 -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 a2d65c66b1 Merge branch 'bootstrap-cmake-locations' into release 2014-06-25 13:38:53 -04:00
Brad King 6650b0fa43 bootstrap: Fix "make test" and "make package" targets (#14989)
Since commit v3.0.0-rc1~374^2 (Refactor internal resource location APIs
and initialization, 2013-11-07) a bootstrap-built "cmake" tries to
reference "ctest" and "cpack" executables next to itself, which never
exist.  Teach cmSystemTools::FindCMakeResources, when bootstrap-built,
to refer to the "ctest" and "cpack" executables in the location where
they will be built after "make".
2014-06-25 13:37:46 -04:00
Brad King bc1517579d bootstrap: Clarify name of configured source directory
Rename CMAKE_ROOT_DIR to CMAKE_BOOTSTRAP_SOURCE_DIR to clarify both that
it is only for bootstrap and that it refers to the source directory.
2014-06-25 13:37:46 -04:00
Brad King 3ec3b8a926 Merge branch 'gfortran-compressed-modules' into release 2014-06-23 10:01:40 -04:00
Brad King d90be200ec Fortran: Add support for GNU >= 4.9 compressed modules (#14975)
From the GCC 4.9 release notes for Fortran:

 https://gcc.gnu.org/gcc-4.9/changes.html
 "Module files: The version of the module files (.mod) has been
  incremented; additionally, module files are now compressed."

Teach cmDependsFortran::ModulesDiffer to look for the gzip magic numbers
at the beginning of the module file.  If found, assume the module was
produced by gfortran >= 4.9.  The modules do not appear to contain the
date as earlier versions did so we can compare the content directly
and do not actually need to decompress.
2014-06-23 10:00:27 -04:00
Brad King 15c6d352ef Merge branch 'ninja-avoid-double-phony' into release 2014-06-16 08:53:00 -04:00
Adam Strzelecki 04377f1b31 Ninja: Remove CMake includes from explicit depends (#14972)
It may happen that CMake include is an explicit dependency for some command,
while all CMake includes are set phony in WriteTargetRebuildManifest, this may
lead to duplicate phony generate rules which causes ninja warnings.

We need to remove implicit CMake includes in WriteUnknownExplicitDependencies.

This fixes FindCUDA ninja warnings.
2014-06-16 08:51:38 -04:00
Brad King a03dbf1043 Merge branch 'backport-fix-read-after-free' into release 2014-06-12 11:36:00 -04:00
Brad King fe44f057f2 cmake: Fix read-after-free while checking command-line arguments
Since commit v2.8.12~300^2~1 (CLI: Suppress the unused warning if the
key value pair is cached, 2013-05-16), cmake::SetCacheArgs saves a
cachedValue pointer and may cause the memory to be freed (by setting the
cache entry) before reading it again.  Fix this by saving the old value
in a separate string.
2014-06-12 09:52:33 -04:00
Brad King 55d6aa36a5 CMake 3.0.0 2014-06-09 10:51:47 -04:00
Brad King f25a301f3a Merge branch 'hpux-libarchive-compile' into release 2014-06-09 10:39:00 -04:00
Rolf Eike Beer 4189a7f9a6 libarchive: fix compilation on newer HP-UX versions
Newer HP-UX versions (e.g. 11.31) also offers F_SETTIMES, but with a
different struct for the timing information.

Suggested-by: Eric Berge <ericmberge@gmail.com>
2014-06-09 10:38:11 -04:00
Brad King eca798149b Merge branch 'fix-ctest-option-summary' into release 2014-06-05 10:57:02 -04:00
Nils Gladitz 6446eb099a CTest: Added option description for --output-on-failure
Without it the option list is cut short after --debug.
2014-06-05 10:51:39 -04:00
Brad King 695ce68419 Merge branch 'fix-build-crash-on-bad-generator' into release 2014-06-03 11:53:18 -04:00
Brad King 44e2923f33 cmake: Fix --build crash on bad CMAKE_GENERATOR in cache
If we fail to create the generator named by CMAKE_GENERATOR, exit
with an error message instead of crashing.  While at it, fix the
wording of the error message when CMAKE_GENERATOR is not set.

Extend the RunCMake.CommandLine test with cases covering the
"cmake --build" option when the named directory does not provide
a CMakeCache.txt with a valid CMAKE_GENERATOR.
2014-06-03 11:52:19 -04:00
Brad King 687e0d6319 Merge branch 'cmake-credits' into release 2014-06-03 09:36:16 -04:00
Brad King 889f2fd84c Simplify and clarify credit text and link
Use the name "Kitware" rather than "Kitware, Inc." to simplify the text.
Provide a CMake-specific URL.
2014-06-03 09:34:38 -04:00
Brad King 922f47979a Merge branch 'cmake-credits' into release 2014-06-03 09:30:39 -04:00
Brad King 8da0a75ba2 Simplify and clarify credit text and link
Use the name "Kitware" rather than "Kitware, Inc." to simplify the text.
Provide a CMake-specific URL.
2014-06-03 09:24:26 -04:00
Brad King 910849d176 Merge branch 'doc-include-dir-props' into release 2014-06-02 10:57:02 -04:00
Brad King 907e422bc8 Help: Explain build/install-tree include dirs in more places (#14946)
Explain how to use $<BUILD_INTERFACE> and $<INSTALL_INTERFACE> directly
in the documentation of the target_include_directories command and
INTERFACE_INCLUDE_DIRECTORIES target property.  Otherwise readers need
to notice the link to the cmake-buildsystem(7) manual and find the
example in that to understand the need for these expressions.

Also fix the explanation in cmake-buildsystem(7) to not claim that
relative paths may be used inside a BUILD_INTERFACE expression.
2014-06-02 10:49:28 -04:00
Stephen Kelly 6fbd9a8f3d Help: Add code example for INSTALL_INTERFACE to cmake-buildsystem. 2014-06-02 10:28:23 -04:00
Brad King 61a1612a17 Merge branch 'fix-cache-self-assignment' into release 2014-05-27 16:21:37 -04:00
Brad King 1cd3752729 cmCacheManager: Avoid cache entry self-assignment
Since commit bef93dc5 (Couple of changes: cache variables now have a map
of properties, 2002-09-11) the cmCacheManager::AddCacheDefinition method
accesses its map entry by reference.  However, the commit left the
original entry assignment at the end of the method.  With Apple Clang
5.1 and libc++ this self-assignment destroys the cache entry property
map.

Drop the self assignment.  Also drop the condition around the call to
UnwatchUnusedCli since it was a self-comparison that must always have
been true.
2014-05-27 16:12:05 -04:00
Brad King 326d15a329 cmake: Tolerate missing HELPSTRING on compiler change
Teach cmake::HandleDeleteCacheVariables to tolerate a missing HELPSTRING
(NULL pointer) when saving cache entries.  In the absence of other bugs
this should not be possible, but avoid the crash just in case.
2014-05-27 16:11:04 -04:00
Brad King a8c6b309b1 Merge branch 'GNUtoMS-vs-12' into release 2014-05-27 09:31:34 -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
Brad King cbc9a9514d CMake 3.0.0-rc6 2014-05-22 10:41:12 -04:00
Brad King 0aa41c7b94 Merge branch 'backport-kwsys-cygwin-fixes' into release 2014-05-20 09:49:57 -04:00
Brad King 0c7f84ca41 KWSys Process: Workaround child kill trouble on Cygwin
When we kill a child we send SIGSTOP first so that we can traverse its
child processes recursively.  On unwinding the recursion we then send
SIGKILL.  Current Cygwin has trouble when both signals are sent in quick
succession by the parent process.  Add a usleep(1) after sending the
first signal to give up our time slice and give Cygwin a chance to
process the first signal before sending the second.
2014-05-20 09:48:35 -04:00
Brad King e604209cb9 KWSys SystemTools: Port cygwin path conversion to modern API
The cygwin_conv_to_win32_path function is deprecated in favor of
cygwin_conv_path.  Use the latter.
2014-05-20 09:48:26 -04:00