我从事一个使用 CMake 构建的项目,该项目使用 Google 测试进行测试。我测试的 CMakeLists.txt 文件如下所示:
add_executable(run_tests
testcase_a.cpp
dependency_a.cpp
testcase_b.cpp
dependency_b.cpp
)
target_link_libraries(run_tests gtest gtest_main)
随着测试用例数量的增加,这变得相当困惑。我想分别编译每个测试用例,然后使用单个二进制文件运行它们。这可以使用 CMake 和 gtest_main 来完成吗?还是有我缺少的更好的方法?
最佳答案
这是基本的想法:-
add_library(testcase_a.o OBJECT testcase_a.cpp dependency_a.cpp)
add_library(testcase_b.o OBJECT testcase_b.cpp dependency_b.cpp)
add_executable(run_tests $<TARGET_OBJECTS:testcase_a.o> $<TARGET_OBJECTS:testcase_b.o>)
target_link_libraries(run_tests gtest gtest_main)
关于c++ - 用cmake分离googletest测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35322769/