从不同于cmake使用的构建目录的目录运行ctest



我希望能够以类似于的方式运行cmake

cmake --build <bld_directory>

运行类似的ctest

ctest --build <bld_directory>

显然,从CCD_ 5运行CCD_,但如果我能告诉ctest在哪里查找它的配置文件以及测试可执行文件的位置,那就太好了。

从文件来看,这是否可能还不太清楚(或者我可能没有看对地方)。

如果有人能阐明这是否可能,那就太好了?非常感谢,Jiri

由于CMake 3.20 ctest具有--test-dir选项。

--test-dir <dir> Specify the directory in which to look for tests.

对于3.20以上的CMake:

我找不到通过ctest选项实现这一点的方法,但使用链接到ctest的规则make test是可行的。

在您的构建文件夹中cmake生成的Makefile中,您可以找到规则:

#Special rule for the target test
test:
    @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
    /usr/bin/ctest --force-new-ctest-process $(ARGS)
.PHONY : test

make-C /path/to/build_directory/提供了您想要的选项,并且您可以使用ARGS='your ctest options here' 添加任何ctest选项

例如,在系统中的任何目录中,您都可以写入:

make test -C /path/to/build_folder ARGS='-R SpecificTestIWantToRun -VV'

cmake --build <bld_directory> --target test -- ARGS="<ctest_args>"

另一种没有make的方法是在终端中使用括号来创建子shell。这将在不更改当前shell的文件夹的情况下执行命令。

(cd $build_folder; ctest -V)

相关内容

  • 没有找到相关文章

最新更新