From a92e49620ed85276824511302e9703a8093759e7 Mon Sep 17 00:00:00 2001 From: shiqian Date: Wed, 10 Dec 2008 18:34:33 +0000 Subject: [PATCH] More tweaks to the build systems. --- Makefile.am | 4 +++ configure.ac | 52 +++++++++++++++++++++++---------------- msvc/gmock_config.vsprops | 2 +- 3 files changed, 36 insertions(+), 22 deletions(-) diff --git a/Makefile.am b/Makefile.am index a0c3e9cf..e58f7fee 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,10 @@ # Nonstandard package files for distribution. EXTRA_DIST = +# We may need to build our internally packaged gtest. If so, it will be +# included in the 'subdirs' variable. +SUBDIRS = $(subdirs) + # Scripts and utilities to be installed by 'make install'. dist_bin_SCRIPTS = scripts/gmock_doctor.py diff --git a/configure.ac b/configure.ac index daacfdd8..60742504 100644 --- a/configure.ac +++ b/configure.ac @@ -48,8 +48,14 @@ AC_ARG_WITH([gtest], that prefix will be used.])], [], [with_gtest=yes]) +AC_ARG_ENABLE([external-gtest], + [AS_HELP_STRING([--disable-external-gtest], + [Disables any detection or use of a system + installed or user provided gtest. Any option to + '--with-gtest' is ignored. (Default is enabled.)]) + ], [], [enable_external_gtest=yes]) AS_IF([test "x$with_gtest" == "xno"], - [AC_MSG_ERROR([ + [AC_MSG_ERROR([dnl Support for GoogleTest was explicitly disabled. Currently GoogleMock has a hard dependency upon GoogleTest to build, please provide a version, or allow GoogleMock to use any installed version and fall back upon its internal @@ -78,35 +84,39 @@ HAVE_BUILT_GTEST="no" # at that point it will become more meaningful. GTEST_MIN_VERSION="1.0.0" -# Begin filling in variables as we are able. -AS_IF([test "x${with_gtest}" != "xyes"], - [AS_IF([test -x "${with_gtest}/scripts/gtest-config"], - [GTEST_CONFIG="${with_gtest}/scripts/gtest-config"], - [GTEST_CONFIG="${with_gtest}/bin/gtest-config"]) - AS_IF([test -x "${GTEST_CONFIG}"], [], - [AC_MSG_ERROR([ +AS_IF([test "x${enable_external_gtest}" = "xyes"], + [# Begin filling in variables as we are able. + AS_IF([test "x${with_gtest}" != "xyes"], + [AS_IF([test -x "${with_gtest}/scripts/gtest-config"], + [GTEST_CONFIG="${with_gtest}/scripts/gtest-config"], + [GTEST_CONFIG="${with_gtest}/bin/gtest-config"]) + AS_IF([test -x "${GTEST_CONFIG}"], [], + [AC_MSG_ERROR([dnl Unable to locate either a built or installed Google Test at '${with_gtest}'.]) - ])]) + ])]) -AS_IF([test -x "${GTEST_CONFIG}"], [], - [AC_PATH_PROG([GTEST_CONFIG], [gtest-config])]) -AS_IF([test -x "${GTEST_CONFIG}"], - [AC_MSG_CHECKING([for Google Test with version >= ${GTEST_MIN_VERSION}]) - AS_IF([${GTEST_CONFIG} --min-version=${GTEST_MIN_VERSION}], - [AC_MSG_RESULT([yes]) - HAVE_BUILT_GTEST="yes"], - [AC_MSG_RESULT([no])])]) + AS_IF([test -x "${GTEST_CONFIG}"], [], + [AC_PATH_PROG([GTEST_CONFIG], [gtest-config])]) + AS_IF([test -x "${GTEST_CONFIG}"], + [AC_MSG_CHECKING([for Google Test version >= ${GTEST_MIN_VERSION}]) + AS_IF([${GTEST_CONFIG} --min-version=${GTEST_MIN_VERSION}], + [AC_MSG_RESULT([yes]) + HAVE_BUILT_GTEST="yes"], + [AC_MSG_RESULT([no])])])]) -# TODO(chandlerc@google.com): Need to add support for passing a custom prefix -# into the gtest-config script.. AS_IF([test "x${HAVE_BUILT_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_MSG_ERROR([TODO(chandlerc@google.com): Need to add support for - building the internal gtest.])]) + [AC_CONFIG_SUBDIRS([gtest]) + GTEST_CONFIG='$(builddir)/gtest/scripts/gtest-config' + GTEST_CPPFLAGS='-I$(srcdir)/gtest/include -I$(srcdir)/gtest' + GTEST_CXXFLAGS='-g' + GTEST_LDFLAGS='' + GTEST_LIBS='$(builddir)/gtest/lib/libgtest.la' + GTEST_VERSION="${GTEST_MIN_VERSION}"]) # TODO(chandlerc@google.com) Check the types, structures, and other compiler # and architecture characteristics. diff --git a/msvc/gmock_config.vsprops b/msvc/gmock_config.vsprops index 93e28686..89b50aa7 100755 --- a/msvc/gmock_config.vsprops +++ b/msvc/gmock_config.vsprops @@ -15,6 +15,6 @@ />