Revert the main logic change of commit v3.9.0-rc1~192^2 (bindexplib: fix
constants symbols export, 2017-04-26) and its test case. Unfortunately
some constants may be provided by multiple object files with different
`@...` suffixes, leading to ambiguous references. Revert support
pending further investigation.
Fixes: #17045
Since commit v3.9.0-rc1~58^2 (find_package: shorten output for missing
package in config mode, 2017-05-09) we print only the one line
- Could NOT find Foo (missing: Foo_DIR)
when package Foo cannot be found in CONFIG mode and it is not REQUIRED.
However, in the case that package configuration files were found but not
used, this one line message leaves out important information. This can
happen when a package configuration file sets `Foo_FOUND` to `FALSE` or
when its package version file does not match the requested version.
Restore the longer message in these cases. Otherwise a seemingly valid
explicit `Foo_DIR` setting appears to be silently ignored even if it was
considered.
Fixes: #17029
We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and
Fortran languages. Do not try to enable support for other languages.
Furthermore, each language builds with a different compiler, so check
for support by CMake and the compiler for each language independently.
Fixes: #16944
If CONFIG or MODULE is given and the package is not REQUIRED,
output a one-liner instead of the full warning.
Update Tests/RunCMake/find_package expected output to match.
Remove highly specialized and totally positional argument handling in
find_dependency macro, and instead just pass arguments through to
find_package. This gives users access to the full suite of arguments
that find_package knows, and is backward compatible with the old
arguments.
Also, rewrite the unit tests for this, since the old tests are
exclusively focused on testing the old argument handling and are no
longer applicable, and add some success tests (the old tests did not
even set up the CMake state in a way that CMake had any hope of ever
finding the test package).
fe8f08d2 find_*: Add docs for PackageRoot search path group
57744ca9 find_*: Add tests for PackageRoot search path group
ef3d360a find_*: Add a new PackageRoot search path group
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !796
The `CMP0022-WARN-tll` case overrides legacy properties set by
`target_link_libraries` so that we can verify that the policy
warning is emitted. When building in the Debug configuration,
the `_DEBUG` variant of the legacy property is set/checked too.
Fix the test case to override both variants. Previously it only
passed because `cmComputeTargetDepends::AddInterfaceDepends`
always evaluated dependencies with the "" configuration.
Put commands that contain `||` into brackets to avoid early abort of
execution by `cmd.exe` because `||` has higher precedence than `&&` in
`cmd.exe`.
Add test to check for command execution after `||` as part of a
parameter and as command separator.
Fixes: #16850
Allow CTest script writers to specify additional HTTP headers to be sent
to CDash during submission.
The motivating case for this feature is a corresponding change in CDash.
This will allow projects to refuse submissions from any site not bearing
a valid authentication token.
851b6c15 cmCTestTestHandler: indicate why a test did not run
25a7f14f Help: add release notes
ab8bbef9 cmCTestTestHandler: count skipped tests as disabled
202a44a4 cmCTestRunTest: do not count skipped tests as failed
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !741
Use the `IMPLICIT_DEPENDS` option of `add_custom_command` and place the
command in a custom target. Verify that `INCLUDE_DIRECTORIES` of that
custom target are honored. This is a case that was not really designed
to work but happens to work, is useful, and makes sense. Add a test
case make sure it continues to work.
Issue: #16830
The `Skipped` status is basically a runtime version of the `Disabled`
status (set as a property on the test by the configure step), so treat
them the same.
The OLD behaviors of all policies are deprecated, but only by
documentation. Add an explicit deprecation diagnostic for some policies
to encourage projects to port away from setting policies to OLD.