FindGTest

Locate the Google C++ Testing Framework.

Imported targets

This module defines the following IMPORTED targets:

GTest::GTest
The Google Test gtest library, if found; adds Thread::Thread automatically
GTest::Main
The Google Test gtest_main library, if found

Result variables

This module will set the following variables in your project:

GTEST_FOUND
Found the Google Testing framework
GTEST_INCLUDE_DIRS
the directory containing the Google Test headers

The library variables below are set as normal variables. These contain debug/optimized keywords when a debugging library is found.

GTEST_LIBRARIES
The Google Test gtest library; note it also requires linking with an appropriate thread library
GTEST_MAIN_LIBRARIES
The Google Test gtest_main library
GTEST_BOTH_LIBRARIES
Both gtest and gtest_main

Cache variables

The following cache variables may also be set:

GTEST_ROOT
The root directory of the Google Test installation (may also be set as an environment variable)
GTEST_MSVC_SEARCH
If compiling with MSVC, this variable can be set to MT or MD (the default) to enable searching a GTest build tree

Example usage

enable_testing()
find_package(GTest REQUIRED)

add_executable(foo foo.cc)
target_link_libraries(foo GTest::GTest GTest::Main)

add_test(AllTestsInFoo foo)

Deeper integration with CTest

See GoogleTest for information on the gtest_add_tests() and gtest_discover_tests() commands.