To locate the boost include directory, all search paths and versioned
path suffixes should be passed to one call of FIND_PATH. Previously the
test for one version would find an unversioned system boost even when
the user set BOOST_ROOT (since the NO_DEFAULT_PATH option is not used).
See issue #7456.
When looking for NOTFOUND libraries, use the direct dependencies of a
target instead of all dependencies. At least one target will trigger
the NOTFOUND error anyway because at least one must directly link it.
This removes another use of the old-style link line computation.
In some cases it may be useful to compute a "link" line for a static
library even though it will not be put in the generated build system.
This removes the assertion which previously diallowed the case.
In cmComputeLinkInformation items in the final link line returned by
GetItems now contain a pointer to their corresponding cmTarget if they
were produced by a target. This makes available the set of all targets
linked.
In cmGlobalGenerator we use cmComputeTargetDepends to construct a safe,
non-circular set of inter-target dependencies. This change enables use
of the results by the Xcode generator. It also removes a lot of old
code and another use of the old-style linking logic. See issue #7652.
Provide VERSION_LESS, VERSION_EQUAL, and VERSION_GREATER operators in
the if() command. This simplifies component-wise comparison of version
numbers in the form "major[.minor[.patch[.tweak]]]".
Make the number of version components specified explicitly available.
Set variables for unspecified version components to "0" instead of
leaving them unset. This simplifies version number handling for find-
and config-modules. Also support a fourth "tweak" version component
since some packages use them.
Use the new-style error reporting mechanism to provide more context
information for a find_package call with a bad package name. When the
package is not required, issue a warning instead of an error.
The set_property command unsets a property if it is given no value. In
the case of GLOBAL properties, the cmake::SetProperty method would
replace a NULL value with "NOTFOUND". Instead it should be left as NULL
so that the property is unset as expected. Once it is unset the
get_cmake_property command will still report NOTFOUND while the
get_property command will return the empty string as documented.
When the -C or --build-config option is used to specify the
configuration to be tested by CTest, do not override it with the
configuration in which CTest is built.