FindGTest¶
尋找 Google C++ 測試框架。
新增於 3.20 版本: 如果可能,會使用上游的 GTestConfig.cmake
。
導入的目標¶
新增於 3.20 版本: 此模組定義了以下 IMPORTED
目標
GTest::gtest
如果找到 Google Test 的
gtest
函式庫,則會自動加入 Thread::ThreadGTest::gtest_main
如果找到 Google Test 的
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 Test 的
gtest
函式庫,則會自動加入 Thread::ThreadGTest::Main
如果找到 Google Test 的
gtest_main
函式庫
結果變數¶
此模組將在您的專案中設定以下變數
GTest_FOUND
是否找到 Google 測試框架
GTEST_INCLUDE_DIRS
包含 Google Test 標頭檔的目錄
以下的函式庫變數會設定為一般變數。當找到除錯函式庫時,這些變數會包含除錯/最佳化關鍵字。
GTEST_LIBRARIES
Google Test 的
gtest
函式庫;請注意,它也需要連結到適當的執行緒函式庫GTEST_MAIN_LIBRARIES
Google Test 的
gtest_main
函式庫GTEST_BOTH_LIBRARIES
gtest
和gtest_main
兩者
快取變數¶
以下快取變數也可以設定
GTEST_ROOT
Google Test 安裝的根目錄 (也可以設定為環境變數)
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()
巨集。