Blame | Last modification | View Log | Download
dnl GTEST_LIB_CHECK([minimum version [,dnl action if found [,action if not found]]])dnldnl Check for the presence of the Google Test library, optionally at a minimumdnl version, and indicate a viable version with the HAVE_GTEST flag. It definesdnl standard variables for substitution including GTEST_CPPFLAGS,dnl GTEST_CXXFLAGS, GTEST_LDFLAGS, and GTEST_LIBS. It also definesdnl GTEST_VERSION as the version of Google Test found. Finally, it providesdnl 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=])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_MSG_CHECKING([for 'gtest-config'])AS_IF([test "x${enable_gtest}" != "xyes"],[AS_IF([test -x "${enable_gtest}/scripts/gtest-config"],[GTEST_CONFIG="${enable_gtest}/scripts/gtest-config"],[GTEST_CONFIG="${enable_gtest}/bin/gtest-config"])AS_IF([test -x "${GTEST_CONFIG}"], [],[AC_MSG_RESULT([no])AC_MSG_ERROR([dnlUnable to locate either a built or installed Google Test.The specific location '${enable_gtest}' was provided for a built or installedGoogle Test, but no 'gtest-config' script could be found at this location.])])],[AC_PATH_PROG([GTEST_CONFIG], [gtest-config])])AS_IF([test -x "${GTEST_CONFIG}"],[AC_MSG_RESULT([${GTEST_CONFIG}])m4_ifval([$1],[_gtest_min_version="--min-version=$1"AC_MSG_CHECKING([for Google Test at least version >= $1])],[_gtest_min_version="--min-version=0"AC_MSG_CHECKING([for Google Test])])AS_IF([${GTEST_CONFIG} ${_gtest_min_version}],[AC_MSG_RESULT([yes])HAVE_GTEST='yes'],[AC_MSG_RESULT([no])])],[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([dnlGoogle Test was enabled, but no viable version could be found.])])])])AC_SUBST([HAVE_GTEST])AM_CONDITIONAL([HAVE_GTEST],[test "x$HAVE_GTEST" = "xyes"])AS_IF([test "x$HAVE_GTEST" = "xyes"],[m4_ifval([$2], [$2])],[m4_ifval([$3], [$3])])])