# 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.