You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
3.1 KiB
74 lines
3.1 KiB
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=]) |
|
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([dnl |
|
Unable to locate either a built or installed Google Test. |
|
The specific location '${enable_gtest}' was provided for a built or installed |
|
Google 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([dnl |
|
Google 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])]) |
|
])
|
|
|