[CMAKE] Replace the test runner with a test wrapper
Summary:
This is a simplification of the current design for running the tests in
parallel.
The current solution involves a runner template and 2 stages of
replacement, one for than cmake variables at configure time and one for
the generator expressions. The last one is using cmake's
file(GENERATE) and causes each runner script to be added as a
dependency to the default target.
The new version removes the runner template in favor of a wrapper
script, called by the custom target. Since this is called at build time,
it doesn't create the unnecessary dependencies, and still allows the use
of the generator expressions (required to get the full path to the
executable).
Test Plan:
ninja check-bitcoin
Tested on Linux with ninja and make, and on OSX with ninja and
Xcode.
ninja -t query build.ninja
Check the runner scripts are no longer added as dependencies.
Reviewers: #bitcoin_abc, deadalnix
Reviewed By: #bitcoin_abc, deadalnix
Differential Revision: https://reviews.bitcoinabc.org/D5619