The Dummy*-stderr.txt files were needed only to match platform-specific
memcheck tooling output and verify that stderr is otherwise empty. Now
that the RunCMake infrastructure knows how to strip such lines before
matching, we can simply drop these files and use the default empty
string match.
When RunCMake tests run on Solaris, the output may contain unexpected
lines of the form "Error kstat returned...". These lines are printed by
SystemInformationImplementation::RunProcess when called from
SystemInformationImplementation::ParseValueFromKStat (see issue #12066).
Until someone investigates why kstat returns values outside the range it
documents, simply remove such lines from the actual output before
matching it against the expected output.
cmCTestOptionalLog takes a boolean argument that indicates
whether or not the message should be suppressed. Note that
error messages will still be printed, even if suppression is
requested. This macro will allow us to provide more
fine-grained control over what messages CTest prints to the
console.
When RunCMake tests run under Xcode Guard Malloc, Guard Malloc may add
lines of the form "<tool>(<pid>) malloc:..." to the output. Remove such
lines from the actual output before matching it against the expected
output.
When RunCMake tests run under dynamic analysis, Bullseye may add lines
of the form "BullseyeCoverage..." to the output. Remove such lines from the
actual output before matching it against the expected output.
Port some existing cmJoin to use it.
cmJoin is cumbersome to use in cases where the objective is to
somehow 'quote' each item and then join it with a separator. In that
case, the joiner string is harder to read and reason about. cmWrap
aims to solve that.
Provide an overload taking char wrappers to simplify the case
of surrounding every element in quotes without needing to escape
the quote character.
Clang Static Analyzer is so smart that it reports a defect when this
intended null-deref is encountered. Use sizeof instead which has no
runtime effects.
This check was first added by commit v3.0.0-rc5~6^2 (FindCurses: Detect
and satisfy ncurses dependency on tinfo, 2014-01-17), but it is not
correctly conditioned on existence of the tinfo library and fails if the
code path is taken but tinfo is not found. However, since commit
v3.2.0-rc1~369^2 (FindCurses: Drop search for deprecated HP-UX cur_colr
library, 2014-11-17) the result of the check is not used, so simply drop
it.
Since jsoncpp 0.7.0 (2014-11-20) the upstream may provide a CMake
package configuration file such that find_package(jsoncpp) will find a
jsoncppConfig.cmake file. In order to avoid conflicting with this
(especially on case-insensitive filesystems), and since we always prefer
projects to provide package config files (that they maintain), it is
better to not provide FindJsonCpp publicly.
Move FindJsonCpp into a private source directory that is not installed
so that we can still use it for building CMake itself.
Reported-by: Ryan Pavlik <ryan.pavlik@gmail.com>