| dnl GTEST_LIB_CHECK([minimum version [, |
| dnl action if found [,action if not found]]]) |
| dnl |
| dnl Check for the presence of the Google Test library, optionally at a minimum |
| dnl version, and indicate a viable version with the HAVE_GTEST flag. It defines |
| dnl standard variables for substitution including GTEST_CPPFLAGS, |
| dnl GTEST_CXXFLAGS, GTEST_LDFLAGS, and GTEST_LIBS. It also defines |
| dnl GTEST_VERSION as the version of Google Test found. Finally, it provides |
| dnl optional custom action slots in the event GTEST is found or not. |
| AC_DEFUN([GTEST_LIB_CHECK], |
| [ |
| dnl Provide a flag to enable or disable Google Test usage. |
| AC_ARG_ENABLE([gtest], |
| [AS_HELP_STRING([--enable-gtest], |
| [Enable tests using the Google C++ Testing Framework.] |
| [(Default is enabled.)])], |
| [], |
| [enable_gtest=check]) |
| AC_ARG_VAR([GTEST_CONFIG], |
| [The exact path of Google Test's 'gtest-config' script.]) |
| AC_ARG_VAR([GTEST_CPPFLAGS], |
| [C-like preprocessor flags for Google Test.]) |
| AC_ARG_VAR([GTEST_CXXFLAGS], |
| [C++ compile flags for Google Test.]) |
| AC_ARG_VAR([GTEST_LDFLAGS], |
| [Linker path and option flags for Google Test.]) |
| AC_ARG_VAR([GTEST_LIBS], |
| [Library linking flags for Google Test.]) |
| AC_ARG_VAR([GTEST_VERSION], |
| [The version of Google Test available.]) |
| HAVE_GTEST="no" |
| AS_IF([test "x$enable_gtest" != "xno"], |
| [AC_PATH_PROG([GTEST_CONFIG], [gtest-config]) |
| AS_IF([test -x "$GTEST_CONFIG"], |
| [AS_IF([test "x$1" != "x"], |
| [_min_version="--min-version=$1" |
| AC_MSG_CHECKING([for Google Test at least version >= $1])], |
| [_min_version="--min-version=0" |
| AC_MSG_CHECKING([for Google Test])]) |
| AS_IF([$GTEST_CONFIG $_min_version], |
| [AC_MSG_RESULT([yes]) |
| HAVE_GTEST="yes"], |
| [AC_MSG_RESULT([no])])]) |
| AS_IF([test "x$HAVE_GTEST" = "xyes"], |
| [GTEST_CPPFLAGS=$($GTEST_CONFIG --cppflags) |
| GTEST_CXXFLAGS=$($GTEST_CONFIG --cxxflags) |
| GTEST_LDFLAGS=$($GTEST_CONFIG --ldflags) |
| GTEST_LIBS=$($GTEST_CONFIG --libs) |
| GTEST_VERSION=$($GTEST_CONFIG --version) |
| AC_DEFINE([HAVE_GTEST],[1],[Defined when Google Test is available.])], |
| [AS_IF([test "x$enable_gtest" = "xyes"], |
| [AC_MSG_ERROR([ |
| The Google C++ Testing Framework was explicitly enabled, but a viable version |
| could not be found on the system. |
| ])])])]) |
| AC_SUBST([HAVE_GTEST]) |
| AM_CONDITIONAL([HAVE_GTEST],[test "x$HAVE_GTEST" = "xyes"]) |
| AS_IF([test "x$HAVE_GTEST" = "xyes"], |
| [AS_IF([test "x$2" != "x"],[$2],[:])], |
| [AS_IF([test "x$3" != "x"],[$3],[:])]) |
| ]) |