我希望能够以类似于的方式运行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)