用cmake分离googletest测试用例
separating googletest test cases with cmake
我正在开发一个使用 CMake 构建的项目,该项目使用 Google test 进行测试。我测试的 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)
我正在开发一个使用 CMake 构建的项目,该项目使用 Google test 进行测试。我测试的 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)