aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos O'Ryan <coryan@users.noreply.github.com>2017-12-03 14:07:35 -0500
committerCarlos O'Ryan <coryan@users.noreply.github.com>2017-12-03 14:07:35 -0500
commitaea8580ecf448bc9d783181996139cae60ce44c9 (patch)
tree66fb79b90b978a99fc3e3118eefe65a68bce6a8f
parent247a3d8e5e5d403f7fcacdb8ccc71e5059f15daa (diff)
downloadgoogletest-aea8580ecf448bc9d783181996139cae60ce44c9.tar.gz
googletest-aea8580ecf448bc9d783181996139cae60ce44c9.tar.bz2
googletest-aea8580ecf448bc9d783181996139cae60ce44c9.zip
Run autoconf from top-level directory.
This is part (hopefully all) of the fixes for #776. The top-level configure.ac configures googletest first and then googlemock. With this changes it is possible to embed googletest into another project that uses autoconf. For an example (though it is WIP), see the commits (and soon PR) referenced from google/protobuf#236.
-rw-r--r--.gitignore16
-rw-r--r--Makefile.am14
-rw-r--r--configure.ac16
-rw-r--r--googlemock/configure.ac2
-rw-r--r--googletest/Makefile.am89
5 files changed, 106 insertions, 31 deletions
diff --git a/.gitignore b/.gitignore
index 4cea432f..b294d3b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,19 @@ Win32-Debug/
Win32-Release/
x64-Debug/
x64-Release/
+
+# Ignore autoconf / automake files
+Makefile.in
+aclocal.m4
+configure
+build-aux/
+autom4te.cache/
+googletest/m4/libtool.m4
+googletest/m4/ltoptions.m4
+googletest/m4/ltsugar.m4
+googletest/m4/ltversion.m4
+googletest/m4/lt~obsolete.m4
+
+# Ignore generated directories.
+googlemock/fused-src/
+googletest/fused-src/
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 00000000..433eefeb
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to produce Makefile.in
+ACLOCAL_AMFLAGS = -I m4
+
+AUTOMAKE_OPTIONS = foreign
+
+# Build . before src so that our all-local and clean-local hooks kicks in at
+# the right time.
+SUBDIRS = googletest googlemock
+
+EXTRA_DIST = \
+ BUILD.bazel \
+ CMakeLists.txt \
+ README.md \
+ WORKSPACE
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 00000000..751b9ba8
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,16 @@
+AC_INIT([Google C++ Mocking and Testing Frameworks],
+ [1.8.0],
+ [googlemock@googlegroups.com],
+ [googletest])
+
+# Provide various options to initialize the Autoconf and configure processes.
+AC_PREREQ([2.59])
+AC_CONFIG_SRCDIR([./README.md])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_SUBDIRS([googletest googlemock])
+
+AM_INIT_AUTOMAKE
+
+# Output the generated files. No further autoconf macros may be used.
+AC_OUTPUT
diff --git a/googlemock/configure.ac b/googlemock/configure.ac
index c23ed455..cb5e1a6a 100644
--- a/googlemock/configure.ac
+++ b/googlemock/configure.ac
@@ -129,7 +129,7 @@ AS_IF([test "x${HAVE_BUILT_GTEST}" = "xyes"],
GTEST_LDFLAGS=`${GTEST_CONFIG} --ldflags`
GTEST_LIBS=`${GTEST_CONFIG} --libs`
GTEST_VERSION=`${GTEST_CONFIG} --version`],
- [AC_CONFIG_SUBDIRS([../googletest])
+ [
# GTEST_CONFIG needs to be executable both in a Makefile environment and
# in a shell script environment, so resolve an absolute path for it here.
GTEST_CONFIG="`pwd -P`/../googletest/scripts/gtest-config"
diff --git a/googletest/Makefile.am b/googletest/Makefile.am
index dbc004de..b6c7232d 100644
--- a/googletest/Makefile.am
+++ b/googletest/Makefile.am
@@ -34,6 +34,7 @@ EXTRA_DIST += $(GTEST_SRC)
# Sample files that we don't compile.
EXTRA_DIST += \
samples/prime_tables.h \
+ samples/sample1_unittest.cc \
samples/sample2_unittest.cc \
samples/sample3_unittest.cc \
samples/sample4_unittest.cc \
@@ -120,16 +121,16 @@ EXTRA_DIST += \
# MSVC project files
EXTRA_DIST += \
- msvc/gtest-md.sln \
- msvc/gtest-md.vcproj \
- msvc/gtest.sln \
- msvc/gtest.vcproj \
- msvc/gtest_main-md.vcproj \
- msvc/gtest_main.vcproj \
- msvc/gtest_prod_test-md.vcproj \
- msvc/gtest_prod_test.vcproj \
- msvc/gtest_unittest-md.vcproj \
- msvc/gtest_unittest.vcproj
+ msvc/2010/gtest-md.sln \
+ msvc/2010/gtest-md.vcxproj \
+ msvc/2010/gtest.sln \
+ msvc/2010/gtest.vcxproj \
+ msvc/2010/gtest_main-md.vcxproj \
+ msvc/2010/gtest_main.vcxproj \
+ msvc/2010/gtest_prod_test-md.vcxproj \
+ msvc/2010/gtest_prod_test.vcxproj \
+ msvc/2010/gtest_unittest-md.vcxproj \
+ msvc/2010/gtest_unittest.vcxproj
# xcode project files
EXTRA_DIST += \
@@ -223,33 +224,61 @@ lib_libgtest_main_la_LIBADD = lib/libgtest.la
# TESTS -- Programs run automatically by "make check"
# check_PROGRAMS -- Programs built by "make check" but not necessarily run
-noinst_LTLIBRARIES = samples/libsamples.la
-
-samples_libsamples_la_SOURCES = \
- samples/sample1.cc \
- samples/sample1.h \
- samples/sample2.cc \
- samples/sample2.h \
- samples/sample3-inl.h \
- samples/sample4.cc \
- samples/sample4.h
-
TESTS=
TESTS_ENVIRONMENT = GTEST_SOURCE_DIR="$(srcdir)/test" \
GTEST_BUILD_DIR="$(top_builddir)/test"
check_PROGRAMS=
# A simple sample on using gtest.
-TESTS += samples/sample1_unittest
-check_PROGRAMS += samples/sample1_unittest
-samples_sample1_unittest_SOURCES = samples/sample1_unittest.cc
+TESTS += samples/sample1_unittest \
+ samples/sample2_unittest \
+ samples/sample3_unittest \
+ samples/sample4_unittest \
+ samples/sample5_unittest \
+ samples/sample6_unittest \
+ samples/sample7_unittest \
+ samples/sample8_unittest \
+ samples/sample9_unittest \
+ samples/sample10_unittest
+check_PROGRAMS += samples/sample1_unittest \
+ samples/sample2_unittest \
+ samples/sample3_unittest \
+ samples/sample4_unittest \
+ samples/sample5_unittest \
+ samples/sample6_unittest \
+ samples/sample7_unittest \
+ samples/sample8_unittest \
+ samples/sample9_unittest \
+ samples/sample10_unittest
+
+samples_sample1_unittest_SOURCES = samples/sample1_unittest.cc samples/sample1.cc
samples_sample1_unittest_LDADD = lib/libgtest_main.la \
- lib/libgtest.la \
- samples/libsamples.la
-
-# Another sample. It also verifies that libgtest works.
-TESTS += samples/sample10_unittest
-check_PROGRAMS += samples/sample10_unittest
+ lib/libgtest.la
+samples_sample2_unittest_SOURCES = samples/sample2_unittest.cc samples/sample2.cc
+samples_sample2_unittest_LDADD = lib/libgtest_main.la \
+ lib/libgtest.la
+samples_sample3_unittest_SOURCES = samples/sample3_unittest.cc
+samples_sample3_unittest_LDADD = lib/libgtest_main.la \
+ lib/libgtest.la
+samples_sample4_unittest_SOURCES = samples/sample4_unittest.cc samples/sample4.cc
+samples_sample4_unittest_LDADD = lib/libgtest_main.la \
+ lib/libgtest.la
+samples_sample5_unittest_SOURCES = samples/sample5_unittest.cc samples/sample1.cc
+samples_sample5_unittest_LDADD = lib/libgtest_main.la \
+ lib/libgtest.la
+samples_sample6_unittest_SOURCES = samples/sample6_unittest.cc
+samples_sample6_unittest_LDADD = lib/libgtest_main.la \
+ lib/libgtest.la
+samples_sample7_unittest_SOURCES = samples/sample7_unittest.cc
+samples_sample7_unittest_LDADD = lib/libgtest_main.la \
+ lib/libgtest.la
+samples_sample8_unittest_SOURCES = samples/sample8_unittest.cc
+samples_sample8_unittest_LDADD = lib/libgtest_main.la \
+ lib/libgtest.la
+
+# Also verify that libgtest works by itself.
+samples_sample9_unittest_SOURCES = samples/sample9_unittest.cc
+samples_sample9_unittest_LDADD = lib/libgtest.la
samples_sample10_unittest_SOURCES = samples/sample10_unittest.cc
samples_sample10_unittest_LDADD = lib/libgtest.la