Merge pull request #23092 from webosbrew/feature/webOS
[xbmc.git] / cmake / modules / buildtools / FindGtest.cmake
blobeba6adc6bcfd5999d7c5d5a6daa5030c37367b89
1 #.rst:
2 # FindGtest
3 # --------
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)
19   set(MODULE_LC gtest)
21   SETUP_BUILD_VARS()
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
29                  -DINSTALL_GTEST=ON
30                  -DBUILD_SHARED_LIBS=OFF
31                  -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>)
33   BUILD_DEP_TARGET()
34 else()
35   if(PKG_CONFIG_FOUND)
36     pkg_check_modules(PC_GTEST gtest>=1.10.0 QUIET)
37     set(GTEST_VERSION ${PC_GTEST_VERSION})
38   elseif(WIN32)
39     set(GTEST_VERSION 1.10.0)
40   endif()
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)
52 endif()
54 include(FindPackageHandleStandardArgs)
55 find_package_handle_standard_args(Gtest
56                                   REQUIRED_VARS GTEST_LIBRARY GTEST_INCLUDE_DIR
57                                   VERSION_VAR GTEST_VERSION)
59 if(GTEST_FOUND)
60   set(GTEST_LIBRARIES ${GTEST_LIBRARY})
61   set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
62 endif()
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}")
69 endif()
71 mark_as_advanced(GTEST_INCLUDE_DIR GTEST_LIBRARY)