为什么我不需要在 cmake 中调用 `add_test`?

Why do I not need a call to `add_test` in cmake?

我在 cmake 中见过 add_test 几次,我很困惑,因为我正在使用 googletest 并且我不需要一次调用 add_test。有人可以解释为什么吗?这是由 googletest 直接处理的,还是在您使用 googletest 时不使用此调用?

该命令将目标(或自定义命令)添加到 CTest。所以当你在构建目录中执行 ctest 时,所有添加的测试都会被执行。如果您不想使用 CTest 而只是手动执行测试二进制文件,则无需使用 add_test.

在较大的项目中,测试通常由多个二进制文件组成,使用单个命令执行所有测试会更方便(尤其是当您的构建管道是自动化的时候)。

从 CMake 3.10 开始,gtest_discover_tests()...

参考:https://cmake.org/cmake/help/latest/module/GoogleTest.html