Merge branch 'backport-fix-read-after-free' into release
Merge branch 'ninja-avoid-double-phony' into release
Merge branch 'gfortran-compressed-modules' into release
CMake Nightly Date Stamp
cmCPackGenerator: Avoid crash on undefined CMAKE_MAKE_PROGRAM

Since commit 6557382d (stringapi: Use strings for program
paths, 2014-02-24), cmGlobalGenerator::GenerateBuildCommand
takes the make program path as a std::string.  Fix the lookup
in cmCPackGenerator::InstallProjectViaInstallCMakeProjects to
use GetSafeDefinition for CMAKE_MAKE_PROGRAM to avoid possible
construction of std::string from a NULL.

Reported-by: Richard Wirth <richard@califax.de>
Merge topic 'stringapi-crash-cleanup' into next

3bae343f cmCPackGenerator: Avoid crash on undefined CMAKE_MAKE_PROGRAM
cmTarget: Teach ExpandLinkItems how to support $<LINK_ONLY>

Add a 'usage_requirements_only' parameter to ExpandLinkItems so that it
knows whether to use SetTransitivePropertiesOnly while evaluating
generator expressions.  Update existing call sites to pass 'false' since
they are for linking and not usage requirements.
cmTarget: De-duplicate link interface genex code for $<LINK_ONLY>

Simplify the implementation of GetTransitivePropertyTargets by using
ExpandLinkItems with usage_requirements_only==true to evaluate the
generator expressions in the link interface for us.
FindQt4: Don't further process qmake if it belongs to Qt 5.x

If the only qmake that can be found belongs to Qt5 the find module
would otherwise still further interrogate it and issue diagnostics
which are specific to Qt4.
cmTarget: Teach GetLinkInterfaceLibraries to support $<LINK_ONLY>

Add a 'usage_requirements_only' parameter to GetLinkInterfaceLibraries
and supporting internal APIs to pass through to ExpandLinkItems so it
knows whether to use SetTransitivePropertiesOnly while evaluating
generator expressions.
Merge topic 'FindQt4-ignore-qt5' into next

903da92e FindQt4: Don't further process qmake if it belongs to Qt 5.x
6c383f89 CMake Nightly Date Stamp
cmTarget: De-duplicate link interface evaluation for $<LINK_ONLY>

Teach GetTransitivePropertyTargets to use the GetLinkInterfaceLibraries
method with usage_requirements_only==true instead of evaluating the
INTERFACE_LINK_LIBRARIES property directly.  This avoids duplicate
evaluations and makes use of the caching done by
GetLinkInterfaceLibraries.
cmTarget: Rename 'linking' to 'usage_requirements_only'

Rename the API arguments introduced in the parent and grandparent
commits to clarify their purpose and use.  Invert the boolean
constants and tests as needed for the new name to make sense.
Merge topic 'refactor-link-internals' into next

4f287cea cmTarget: Rename 'linking' to 'usage_requirements_only'
cmTarget: Remove unnecessary 'mutable' markup

Members of the cmTargetInternals structure do not need to be made
'mutable' even to cache data because there is no reason for the
internal methods to be 'const'.
cmTarget: Refactor internal LinkImplementation map

If ComputeLinkImplementationLanguages were ever to cause
GetLinkImplementationLibraries to be invoked then a LinkImplMap entry
may appear in the middle of computing it in GetLinkInformation.  Instead
create the map entry up front and store in it boolean values indicating
which pieces of the LinkImplementation structure have been populated.
This approach leads to shorter code that is easier to follow too.
cmTarget: Shorten a long line in ComputeLinkImplementation

Prepare to change its indentation without exceeding line length limit.
cmTarget: Pre-indent a block in ComputeLinkImplementation

Prepare to move it into another block without extra whitespace changes.
cmTarget: Refactor ComputeLinkImplementation

Use LinkImplementationPropertyEntries directly instead of asking
GetProperty to construct a string for LINK_LIBRARIES.  This gives us
access to the entry backtraces.
FindQt4: Check the lower bound to exclude Qt3 as well