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 標頭檔的目錄
以下函式庫變數設定為一般變數。當找到偵錯函式庫時,這些變數包含 debug/optimized 關鍵字。
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()
巨集。