CMake Nightly Date Stamp
CMake Nightly Date Stamp
CMake Nightly Date Stamp
CMP0022: Fix link language propagation in NEW behavior

The languages used in compiling STATIC libraries need to be propagated
to dependents regardless of the settings of INTERFACE_LINK_LIBRARIES or
CMP0022.  They are independent of the libraries in the link interface.

Prior to commit v2.8.12~192^2~2 (Introduce the INTERFACE_LINK_LIBRARIES
property, 2013-06-04) the cmTarget::ComputeLinkInterface code path for
"explicitLibraries" could never be taken for STATIC libraries, so the
logic to propagate languages existed only in the non-explicitLibraries
code path.  After that commit, INTERFACE_LINK_LIBRARIES could be set for
STATIC libraries to cause the "explicitLibraries" code path to be taken.
The commit also left the old non-explicitLibraries code path conditional
on CMP0022 not being set to NEW.  Thus link language propagation was
left missing from two cases by that commit.

The explicitLibraries code path was fixed to propagate languages by
commit v2.8.12~149^2~1 (cmTarget: Fix iface libraries and languages for
static libraries, 2013-07-26).  However, the non-explicitLibraries case
was never taught to propagate languages when CMP0022 is set to NEW.  Fix
that now.  Factor the logic to propagate link languages out of the link
interface libraries conditions so that it always occurs.  Update
Tests/Fortran to set CMP0022 to NEW to test this case (because the test
passes only if link language propagation works).
Merge topic 'fix-CMP0022-language-propagation' into next

42bbf130 CMP0022: Fix link language propagation in NEW behavior
CMP0022: Fix link language propagation in NEW behavior

The languages used in compiling STATIC libraries need to be propagated
to dependents regardless of the settings of INTERFACE_LINK_LIBRARIES or
CMP0022.  They are independent of the libraries in the link interface.

Prior to commit v2.8.12~192^2~2 (Introduce the INTERFACE_LINK_LIBRARIES
property, 2013-06-04) the cmTarget::ComputeLinkInterface code path for
"explicitLibraries" could never be taken for STATIC libraries, so the
logic to propagate languages existed only in the non-explicitLibraries
code path.  After that commit, INTERFACE_LINK_LIBRARIES could be set for
STATIC libraries to cause the "explicitLibraries" code path to be taken.
The commit also left the old non-explicitLibraries code path conditional
on CMP0022 not being set to NEW.  Thus link language propagation was
left missing from two cases by that commit.

The explicitLibraries code path was fixed to propagate languages by
commit v2.8.12~149^2~1 (cmTarget: Fix iface libraries and languages for
static libraries, 2013-07-26).  However, the non-explicitLibraries case
was never taught to propagate languages when CMP0022 is set to NEW.  Fix
that now.  Factor the logic to propagate link languages out of the link
interface libraries conditions so that it always occurs.  Update
Tests/Fortran to set CMP0022 to NEW to test this case (because the test
passes only if link language propagation works).
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.
Merge topic 'FindCUDA-separable-compilation-flags' into next

6ad14c71 FindCUDA: Use CUDA_NVCC_FLAGS* for separable compilation
KWSys 2014-05-16 (2e00d252)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 2e00d252 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 6074f33f..2e00d252
Brad King (1):
      2e00d252 SystemTools: Port cygwin path conversion to modern API

Change-Id: Ie7e23b9e66911db3443b5ca678b1f753a031f9f2
Merge branch 'upstream-kwsys' into update-kwsys
Merge topic 'update-kwsys' into next

2a47416f Merge branch 'upstream-kwsys' into update-kwsys
dbea0ba5 KWSys 2014-05-16 (2e00d252)
d5f8abc2 CMake Nightly Date Stamp
e536c14b CMake Nightly Date Stamp
d5b51d32 CMake Nightly Date Stamp
Merge topic 'fix-CMP0022-language-propagation' into next

31b3bbd7 Merge branch 'backport-fix-CMP0022-language-propagation' into fix-CMP0022-language-propagation
40b9cd0f CMP0022: Fix link language propagation in NEW behavior
Merge branch 'backport-fix-CMP0022-language-propagation' into fix-CMP0022-language-propagation
Merge topic 'fix-CMP0022-language-propagation'

31b3bbd7 Merge branch 'backport-fix-CMP0022-language-propagation' into fix-CMP0022-language-propagation
40b9cd0f CMP0022: Fix link language propagation in NEW behavior
42bbf130 CMP0022: Fix link language propagation in NEW behavior
Merge branch 'master' into next
Merge topic 'FindCUDA-separable-compilation-flags'

6ad14c71 FindCUDA: Use CUDA_NVCC_FLAGS* for separable compilation
Merge branch 'master' into next
Tests/BuildDepends: Make 3-second delay more robust

Use "cmake -E sleep 3" instead of execute_process with a TIMEOUT of 3.
This avoids using a busy loop or depending on a timeout to kill it.
Merge topic 'test-BuildDepends-sleep' into next

e4114ee9 Tests/BuildDepends: Make 3-second delay more robust
Do not change minimum required version in modules

Some modules change CMake minimum required version when they are
included. For example:

  cmake_minimum_required(VERSION 2.8.12)
  message("${CMAKE_MINIMUM_REQUIRED_VERSION}")
  include(CheckTypeSize)
  message("${CMAKE_MINIMUM_REQUIRED_VERSION}")

will produce the following output:

  2.8.12
  2.6

This patch ensures that when you include a CMake module the minimum
required version and the policies set are left unchanged.

Fixes Issue #14864