4 # Finds the gtest library
6 # This will define the following variables::
8 # GTEST_FOUND - system has gtest
9 # GTEST_INCLUDE_DIRS - the gtest include directories
10 # GTEST_LIBRARIES - the gtest libraries
12 # and the following imported targets:
14 # Gtest::Gtest - The gtest library
16 if(ENABLE_INTERNAL_GTEST)
17 include(cmake/scripts/common/ModuleHelpers.cmake)
23 set(GTEST_VERSION ${${MODULE}_VER})
25 # Override build type detection and always build as release
26 set(GTEST_BUILD_TYPE Release)
28 set(CMAKE_ARGS -DBUILD_GMOCK=OFF
30 -DBUILD_SHARED_LIBS=OFF
31 -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>)
36 pkg_check_modules(PC_GTEST gtest>=1.10.0 QUIET)
37 set(GTEST_VERSION ${PC_GTEST_VERSION})
39 set(GTEST_VERSION 1.10.0)
42 find_path(GTEST_INCLUDE_DIR NAMES gtest/gtest.h
43 PATHS ${PC_GTEST_INCLUDEDIR})
45 find_library(GTEST_LIBRARY_RELEASE NAMES gtest
46 PATHS ${PC_GTEST_LIBDIR})
47 find_library(GTEST_LIBRARY_DEBUG NAMES gtestd
48 PATHS ${PC_GTEST_LIBDIR})
50 include(SelectLibraryConfigurations)
51 select_library_configurations(GTEST)
54 include(FindPackageHandleStandardArgs)
55 find_package_handle_standard_args(Gtest
56 REQUIRED_VARS GTEST_LIBRARY GTEST_INCLUDE_DIR
57 VERSION_VAR GTEST_VERSION)
60 set(GTEST_LIBRARIES ${GTEST_LIBRARY})
61 set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
64 if(NOT TARGET Gtest::Gtest)
65 add_library(Gtest::Gtest UNKNOWN IMPORTED)
66 set_target_properties(Gtest::Gtest PROPERTIES
67 IMPORTED_LOCATION "${GTEST_LIBRARY}"
68 INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
71 mark_as_advanced(GTEST_INCLUDE_DIR GTEST_LIBRARY)