allows other projects to easily leverage an installation or un-installed build of Google Test from their project's Autoconf script. This re-work specifically introduces the ability to provide a path as an argument to the resulting configure script option which can specify either an installation prefix or a build directory for Google Test. This change also makes a small portability tweak by using ``s instead of $() for command expansion. By Chandler Carruth. Reviewed by Benoit Sigoure.
		
			
				
	
	
		
			75 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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])])
 | 
						|
])
 |