############################################################################## 00002 # @file FindGTest.cmake 00003 # @brief Find Google Test package. 00004 # 00005 # @par Input variables: 00006 # 00007 # 00008 # @tp @b GTest_DIR @endtp 00009 # 00013 # 00014 # 00015 # @tp @b GTEST_DIR @endtp 00016 # 00017 # 00018 # 00019 # @tp @b GTest_SHARED_LIBRARIES @endtp 00020 # 00022 # 00023 #
The Google Test package files are searched under the specified 00010 # root directory. If they are not found there, the default search 00011 # paths are considered. 00012 # This variable can also be set as environment variable.
Alternative environment variable for @p GTest_DIR.
Forces this module to search for shared libraries. 00021 # Otherwise, static libraries are preferred.
00024 # 00025 # @par Output variables: 00026 # 00027 # 00028 # @tp @b GTest_FOUND @endtp 00029 # 00030 # 00031 # 00032 # @tp @b GTest_INCLUDE_DIR @endtp 00033 # 00034 # 00035 # 00036 # @tp @b GTest_INCLUDES @endtp 00037 # 00038 # 00039 # 00040 # @tp @b GTest_LIBRARY @endtp 00041 # 00042 # 00043 # 00044 # @tp @b GTest_main_LIBRARY @endtp 00045 # 00046 # 00047 # 00048 # @tp @b GTest_LIBRARIES @endtp 00049 # 00050 # 00051 #
Whether the package was found and the following CMake variables are valid.
Package include directories.
Include directories including prerequisite libraries.
Path of @c gtest library.
Path of @c gtest_main library (optional).
Package libraries and prerequisite libraries.
00052 # 00053 # Copyright (c) 2011, 2012 University of Pennsylvania. All rights reserved.
00054 # See http://www.rad.upenn.edu/sbia/software/license.html or COPYING file. 00055 # 00056 # Contact: SBIA Group 00057 # 00058 # @ingroup CMakeFindModules 00059 ############################################################################## 00060 00061 # ---------------------------------------------------------------------------- 00062 # initialize search 00063 if (NOT GTest_DIR) 00064 if ($ENV{GTEST_DIR}) 00065 set (GTest_DIR "$ENV{GTEST_DIR}" CACHE PATH "Installation prefix for Google Test") 00066 else () 00067 set (GTest_DIR "$ENV{GTest_DIR}" CACHE PATH "Installation prefix for Google Test") 00068 endif () 00069 endif () 00070 00071 set (GTest_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) 00072 00073 if (GTest_SHARED_LIBRARIES) 00074 if (WIN32) 00075 set (CMAKE_FIND_LIBRARY_SUFFIXES .dll) 00076 else () 00077 set (CMAKE_FIND_LIBRARY_SUFFIXES .so) 00078 endif() 00079 else () 00080 if (WIN32) 00081 set (CMAKE_FIND_LIBRARY_SUFFIXES .lib) 00082 else () 00083 set (CMAKE_FIND_LIBRARY_SUFFIXES .a) 00084 endif() 00085 endif () 00086 00087 # ---------------------------------------------------------------------------- 00088 # find paths/files 00089 if (GTest_DIR) 00090 00091 find_path ( 00092 GTest_INCLUDE_DIR 00093 NAMES gtest.h 00094 HINTS "${GTest_DIR}" 00095 PATH_SUFFIXES "include/gtest" 00096 DOC "Include directory for Google Test." 00097 NO_DEFAULT_PATH 00098 ) 00099 00100 find_library ( 00101 GTest_LIBRARY 00102 NAMES gtest 00103 HINTS "${GTest_DIR}" 00104 PATH_SUFFIXES "lib" 00105 DOC "Link library for Google Test (gtest)." 00106 NO_DEFAULT_PATH 00107 ) 00108 00109 find_library ( 00110 GTest_main_LIBRARY 00111 NAMES gtest_main 00112 HINTS "${GTest_DIR}" 00113 PATH_SUFFIXES "lib" 00114 DOC "Link library for Google Test's automatic main () definition (gtest_main)." 00115 NO_DEFAULT_PATH 00116 ) 00117 00118 else () 00119 00120 find_path ( 00121 GTest_INCLUDE_DIR 00122 NAMES gtest.h 00123 HINTS ENV C_INCLUDE_PATH ENV CXX_INCLUDE_PATH 00124 DOC "Include directory for Google Test." 00125 ) 00126 00127 find_library ( 00128 GTest_LIBRARY 00129 NAMES gtest 00130 HINTS ENV LD_LIBRARY_PATH 00131 DOC "Link library for Google Test (gtest)." 00132 ) 00133 00134 find_library ( 00135 GTest_main_LIBRARY 00136 NAMES gtest_main 00137 HINTS ENV LD_LIBRARY_PATH 00138 DOC "Link library for Google Test's automatic main () definition (gtest_main)." 00139 ) 00140 00141 endif () 00142 00143 mark_as_advanced (GTest_INCLUDE_DIR) 00144 mark_as_advanced (GTest_LIBRARY) 00145 mark_as_advanced (GTest_main_LIBRARY) 00146 00147 # ---------------------------------------------------------------------------- 00148 # add prerequisites 00149 set (GTest_INCLUDES "${GTest_INCLUDE_DIR}") 00150 00151 set (GTest_LIBRARIES) 00152 if (GTest_LIBRARY) 00153 list (APPEND GTest_LIBRARIES "${GTest_LIBRARY}") 00154 endif () 00155 if (GTest_main_LIBRARY) 00156 list (APPEND GTest_LIBRARIES "${GTest_main_LIBRARY}") 00157 endif () 00158 00159 # ---------------------------------------------------------------------------- 00160 # reset CMake variables 00161 set (CMAKE_FIND_LIBRARY_SUFFIXES ${GTest_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) 00162 00163 # ---------------------------------------------------------------------------- 00164 # aliases / backwards compatibility 00165 set (GTest_INCLUDE_DIRS "${GTest_INCLUDES}") 00166 00167 # ---------------------------------------------------------------------------- 00168 # handle the QUIETLY and REQUIRED arguments and set *_FOUND to TRUE 00169 # if all listed variables are found or TRUE 00170 include (FindPackageHandleStandardArgs) 00171 00172 find_package_handle_standard_args ( 00173 GTest 00174 REQUIRED_VARS 00175 GTest_INCLUDE_DIR 00176 GTest_LIBRARY 00177 ) 00178 00179 set (GTest_FOUND "${GTEST_FOUND}") 00180 00181 # ---------------------------------------------------------------------------- 00182 # set GTest_DIR 00183 if (NOT GTest_DIR AND GTest_FOUND) 00184 string (REGEX REPLACE "include(/gtest)?/?" "" GTest_PREFIX "${GTest_INCLUDE_DIR}") 00185 set (GTest_DIR "${GTest_PREFIX}" CACHE PATH "Installation prefix for GTest." FORCE) 00186 unset (GTest_PREFIX) 00187 endif ()