From: Modestas Vainius Date: Fri, 2 Jul 2010 02:11:24 +0000 (+0300) Subject: Add support for running tests in parallel to the cmake build system. X-Git-Tag: 8.9.4~4 X-Git-Url: https://git.donarmstrong.com/?p=debhelper.git;a=commitdiff_plain;h=0f5a8c3b6f2c0687b55468edc0f26bf2a4df95e9 Add support for running tests in parallel to the cmake build system. Pass appropriate -jN option to ctest (via ARGS variable in the Makefile) to enable support for running tests in parallel. Similarly to makefile build system, ctest -j1 mode is enforced even when parallel mode in debhelper is not explicitly enabled. Unlike make, CTest does not have "unlimited parallel" setting (-j implies -j1). So in order to simulate unlimited parallel, allow to fork a huge number of threads instead. --- diff --git a/Debian/Debhelper/Buildsystem/cmake.pm b/Debian/Debhelper/Buildsystem/cmake.pm index 9e40cb7..cddd4b4 100644 --- a/Debian/Debhelper/Buildsystem/cmake.pm +++ b/Debian/Debhelper/Buildsystem/cmake.pm @@ -58,8 +58,12 @@ sub configure { sub test { my $this=shift; + # Unlike make, CTest does not have "unlimited parallel" setting (-j implies + # -j1). So in order to simulate unlimited parallel, allow to fork a huge + # number of threads instead. + my $parallel = ($this->get_parallel() > 0) ? $this->get_parallel() : 999; $ENV{CTEST_OUTPUT_ON_FAILURE} = 1; - return $this->SUPER::test(@_); + return $this->SUPER::test(@_, "ARGS+=-j$parallel"); } 1