我希望能够以类似的方式,我可以运行cmake像
cmake -H<src-directory> -B<bld-directory>
cmake --build <bld_directory>
跑得ctest像
ctest --build <bld_directory>
显然是ctest从遗嘱运行,但如果我能告诉ctest在哪里查找其配置文件以及测试可执行文件所在的位置,那将会很好.
如果可能的话,那么从文档中就不太清楚(或者我可能没有找到正确的位置).
如果有人可以说明这是否可行,那会很棒吗?非常感谢,吉里
phc*_*dan 14
因为 CMake 3.20ctest有这个选项--test-dir。
--test-dir <dir> Specify the directory in which to look for tests.
Run Code Online (Sandbox Code Playgroud)
对于 3.20 之前的 CMake:
我找不到通过ctest选项来做到这一点的方法,但使用make test链接到 ctest的规则是可行的。
在Makefile由 cmake 生成的构建文件夹中,您可以找到规则:
#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
Run Code Online (Sandbox Code Playgroud)
make提供您想要的选项,您-C /path/to/build_directory/可以添加任何ctest选项ARGS='your ctest options here'
例如,您可以从系统中的任何目录编写:
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1769 次 |
| 最近记录: |