FindGTest

尋找 Google C++ 測試框架。

版本 3.20 新增: 如果可能,會使用上游的 GTestConfig.cmake

匯入目標

版本 3.20 新增: 此模組定義了以下 IMPORTED 目標

GTest::gtest

Google Test 的 gtest 函式庫(如果找到);自動新增 Thread::Thread

GTest::gtest_main

Google Test 的 gtest_main 函式庫(如果找到)

版本 3.23 新增。

GTest::gmock

Google Mock 的 gmock 函式庫(如果找到);自動新增 Thread::Thread

GTest::gmock_main

Google Mock 的 gmock_main 函式庫(如果找到)

版本 3.20 開始棄用: 為了向後相容性,此模組額外定義了以下已棄用的 IMPORTED 目標(自 3.5 版本起可用)

GTest::GTest

Google Test 的 gtest 函式庫(如果找到);自動新增 Thread::Thread

GTest::Main

Google Test 的 gtest_main 函式庫(如果找到)

結果變數

此模組將在您的專案中設定以下變數

GTest_FOUND

找到 Google 測試框架

GTEST_INCLUDE_DIRS

包含 Google Test 標頭檔的目錄

以下函式庫變數設定為一般變數。當找到偵錯函式庫時,這些變數包含 debug/optimized 關鍵字。

GTEST_LIBRARIES

Google Test gtest 函式庫;請注意,它也需要與適當的執行緒函式庫連結

GTEST_MAIN_LIBRARIES

Google Test gtest_main 函式庫

GTEST_BOTH_LIBRARIES

包含 gtestgtest_main

快取變數

也可以設定以下快取變數

GTEST_ROOT

Google Test 安裝的根目錄(也可以設定為環境變數)

GTEST_MSVC_SEARCH

如果使用 MSVC 編譯,則此變數可以設定為 MTMD(預設值)以啟用搜尋 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() 巨集。