FindGTest¶
找到 Google C++ 测试框架。
版本 3.20 中添加: 尽可能使用上游 GTestConfig.cmake
。
导入目标¶
版本 3.20 中添加: 此模块定义了以下 IMPORTED
目标
GTest::gtest
如果找到,则返回 Google 测试
gtest
库;自动添加 Thread::ThreadGTest::gtest_main
如果找到,则返回 Google 测试
gtest_main
库
在版本 3.23 中添加。
GTest::gmock
如果找到,则返回 Google Mock
gmock
库;自动添加 Thread::ThreadGTest::gmock_main
如果找到,则返回 Google Mock
gmock_main
库
自版本 3.20 起不推荐使用: 为了向后兼容,此模块另外定义了以下不推荐使用的 IMPORTED
目标(自 3.5 起可用)
GTest::GTest
如果找到,则返回 Google 测试
gtest
库;自动添加 Thread::ThreadGTest::Main
如果找到,则返回 Google 测试
gtest_main
库
结果变量¶
此模块将在项目中设置以下变量
GTest_FOUND
找到 Google 测试框架
GTEST_INCLUDE_DIRS
包含 Google 测试头的目录
将以下库变量设置为普通变量。当找到调试库时,其中包含调试/优化关键字。
GTEST_LIBRARIES
Google 测试
gtest
库;请注意,它还需要链接到适当的线程库GTEST_MAIN_LIBRARIES
Google 测试
gtest_main
库GTEST_BOTH_LIBRARIES
gtest
和gtest_main
缓存变量¶
以下缓存变量也可能设置
GTEST_ROOT
Google 测试安装的根目录(也可以设置为环境变量)
GTEST_MSVC_SEARCH
如果使用 MSVC 编译,此变量可以设置为
MT
或MD
(默认值)以启用搜索 GTest 构建树
示例用法¶
enable_testing()
find_package(GTest REQUIRED)
add_executable(foo foo.cc)
target_link_libraries(foo GTest::gtest GTest::gtest_main)
add_test(AllTestsInFoo foo)
与 CTest 的更深入集成¶
请参见 GoogleTest
,了解有关命令 gtest_add_tests()
和 gtest_discover_tests()
的信息。
版本 3.9 中已更改: 以前的 CMake 版本在该模块中定义了 gtest_add_tests()
宏。