Refactoring in commit f4ff60a803 (cmMakefile: Make GetSafeDefinition
return std::string const&, 2018-09-05) accidentally changed the logic
for target artifact prefix and suffix names such that setting a PREFIX
or SUFFIX target property would cause an empty value to be used. Revert
that part of the change and use a simpler alternative. Add a test case.
Reported-by: Alan W. Irwin <irwin@beluga.phys.uvic.ca>
Refactoring in commit f4ff60a803 (cmMakefile: Make GetSafeDefinition
return std::string const&, 2018-09-05) changed the treatment of the
empty string in CMP0018 diagnostic logic. Restore the behavior.
In commit v3.9.0-rc1~55^2 (Improve Doxygen support, 2017-04-10)
use of the `IN_LIST` condition was added, but this is only supported
when policy CMP0057 is set to NEW. Add a policy scope around the
module and enable the policy within it. Otherwise it works only
in projects that happen to enable the policy.
Fixes: #18361
The Ninja and Makefile generators were adding a space to the value both
before and after expanding rule variables. Only the latter is needed.
While at it, revise some outdated comments since the rule variable
expansion is no longer responsible for inserting the launcher.
Suggested-by: Mate Pek <mate.pek@gmail.com>
Fixes: #18340
The IAR 6.50.6 compiler places extra/truncated copies of the
compiler id `INFO:` strings into binaries with a prefix like
`?<Constant "`. Teach CMakeDetermineCompilerId to ignore them.
Fixes: #18333
31c82143bf GoogleTest: gtest_add_tests() fails if any source file is empty
d6b06d8d87 GoogleTest: Modify test to verify that empty files can be scanned
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2342
ab2e35d614 Replace occurrences of "Mac OS X" with "macOS" in comments
fc1602456a Help: Replace occurrences of "Mac OS X" with "macOS"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Gregor Jasny <gjasny@googlemail.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Merge-request: !2351
Refactoring in commit v3.10.0-rc1~103^2~2 (FindMPI: Modernization from
ground up, 2017-04-25) accidentally left this variable set as a copy of
the `;`-list in `MPI_<LANG>_COMPILE_OPTIONS`, but the flags variable is
documented as a command-line string. Restore it now.
Fixes: #18349
The format for the TAG file was changed in 3.12, and the way it was
read caused a regression which changed how the track was decided. This
commit fixes the regression.
Fixes#18347.
If these are not detected then we cannot support the IAR compiler.
Fail early with an explicit message instead of silently proceeding
and getting strange errors.
Issue: #18333
If two imported targets in different directories have the same name we
should still be able to propagate transitive usage requirements from
both. Fix the DAG checker to work with target pointers instead of
target names since the pointers will not be duplicated even if the names
are.
Fixes: #18345
The `ctest --test-load` option is implemented in `StartNextTests` by not
starting any tests when the load is too high and instead sleeping and
then returning. Prior to commit v3.11.0-rc1~117^2 (CTest: Re-implement
test process handling using libuv, 2017-12-10) our outer loop in
`RunTests` would immediately call `StartNextTests` again. However, now
the `uv_run` loop may simply terminate if there are no tests running
because no events are left pending.
Fix this by converting the sleep in `StartNextTests` into a libuv timer
that it starts instead. This avoids leaving `uv_run` with no pending
events. In the case that there are other running tests this also allows
CTest to detect when they finish even if it during the wait period where
we previously slept.
This regression was not caught by the test suite because it only
verified that we do not start new tests when the load was too high and
not that we proceed to start tests when the load drops. Revise the test
suite to cover both.
Fixes: #18338
The memory size query implementations report in units of one mebibyte
(2^20). Clarify the unit in the documentation because "megabyte" might
also be interpreted as 10^6.