cmake如何使用"--rerun-failed --output-on-failure"
时间: 2024-05-09 19:15:07 浏览: 19
在CMake中使用`--rerun-failed`和`--output-on-failure`选项通常是通过测试框架来完成的,例如CTest或Google Test。
对于CTest,可以使用以下命令启用这些选项:
```
ctest -j <num_jobs> --rerun-failed --output-on-failure
```
其中`<num_jobs>`是指并行运行测试的作业数。
对于Google Test,可以在CMakeLists.txt中添加以下行:
```
add_test(NAME my_test COMMAND my_test --gtest_output=xml:test_results.xml)
```
然后,在终端中使用以下命令运行测试:
```
./my_test --gtest_output=xml:test_results.xml --gtest_rerun_failed_tests --gtest_output=xml:test_results.xml
```
这将会重新运行失败的测试,并在控制台输出失败的日志。
相关问题
怎么使用cmake --install
`cmake --install` 是 CMake 3.15 版本引入的一个新命令,用于将项目安装到指定的目录中。它可以自动执行构建、测试、打包和安装等操作,并生成相应的安装规则。
使用 `cmake --install` 命令需要在 CMakeLists.txt 文件中定义安装规则,例如:
```
install(TARGETS myapp DESTINATION bin)
install(FILES myconfig.ini DESTINATION etc)
```
上面的代码定义了将 `myapp` 目标文件安装到 `bin` 目录中,将 `myconfig.ini` 配置文件安装到 `etc` 目录中。
使用 `cmake --install` 命令将项目安装到指定的目录中,例如:
```
cmake --build . --target install --prefix /usr/local
```
上面的命令将当前项目构建并安装到 `/usr/local` 目录中。
需要注意的是,`cmake --install` 命令需要在项目构建完成后执行,且需要提前在 CMakeLists.txt 文件中定义好安装规则。
cmake --build . -- -j12
cmake --build . -- -j12命令的作用是使用CMake构建项目并指定并行编译的线程数为12[^1]。
具体步骤如下:
1. 首先,在命令行中进入到项目的build文件夹中,可以使用cd命令切换到该目录下。
2. 接着,使用cmake --build . -- -j12命令执行构建操作。其中,"."表示当前目录,"-j12"表示并行编译的线程数为12。
这个命令会自动调用适合的构建工具来编译项目,例如make或者ninja。通过指定并行编译的线程数,可以加快编译过程的速度。
需要注意的是,命令中的"--"是用来分隔cmake命令和构建工具命令的,确保构建工具能够正确解析后续的参数。