Index: testing/gmock/Makefile.am |
diff --git a/testing/gmock/Makefile.am b/testing/gmock/Makefile.am |
index 30941d4f0d1a2e33bc01a5fb7576f76b8a72b4e9..e2a467306fdabf2951ebd561eb1935d901bcda3d 100644 |
--- a/testing/gmock/Makefile.am |
+++ b/testing/gmock/Makefile.am |
@@ -38,7 +38,6 @@ pkginclude_HEADERS = include/gmock/gmock.h \ |
include/gmock/gmock-generated-nice-strict.h \ |
include/gmock/gmock-matchers.h \ |
include/gmock/gmock-more-actions.h \ |
- include/gmock/gmock-printers.h \ |
include/gmock/gmock-spec-builders.h |
pkginclude_internaldir = $(pkgincludedir)/internal |
@@ -76,15 +75,26 @@ test_gmock_link_test_SOURCES = test/gmock_link_test.cc \ |
test/gmock_link_test.h |
test_gmock_link_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la |
+# Tests that fused gmock files compile and work. |
+TESTS += test/gmock_fused_test |
+check_PROGRAMS += test/gmock_fused_test |
+test_gmock_fused_test_SOURCES = fused-src/gmock-gtest-all.cc \ |
+ fused-src/gmock_main.cc \ |
+ fused-src/gmock/gmock.h \ |
+ fused-src/gtest/gtest.h \ |
+ test/gmock_test.cc |
+test_gmock_fused_test_CPPFLAGS = -I"$(srcdir)/fused-src" |
+ |
# Google Mock source files that we don't compile directly. |
-EXTRA_DIST += \ |
+GMOCK_SOURCE_INGLUDES = \ |
src/gmock.cc \ |
src/gmock-cardinalities.cc \ |
src/gmock-internal-utils.cc \ |
src/gmock-matchers.cc \ |
- src/gmock-printers.cc \ |
src/gmock-spec-builders.cc |
+EXTRA_DIST += $(GMOCK_SOURCE_INGLUDES) |
+ |
# C++ tests that we don't compile using autotools. |
EXTRA_DIST += \ |
test/gmock_all_test.cc \ |
@@ -98,9 +108,7 @@ EXTRA_DIST += \ |
test/gmock-matchers_test.cc \ |
test/gmock-more-actions_test.cc \ |
test/gmock-nice-strict_test.cc \ |
- test/gmock-port_test.cc \ |
- test/gmock-printers_test.cc \ |
- test/gmock_test.cc |
+ test/gmock-port_test.cc |
# Python tests, which we don't run using autotools. |
EXTRA_DIST += \ |
@@ -126,9 +134,7 @@ EXTRA_DIST += include/gmock/gmock-generated-actions.h.pump \ |
include/gmock/internal/gmock-generated-internal-utils.h.pump |
# Script for fusing Google Mock and Google Test source files. |
-EXTRA_DIST += \ |
- scripts/fuse_gmock_files.py \ |
- scripts/test/Makefile |
+EXTRA_DIST += scripts/fuse_gmock_files.py |
# The Google Mock Generator tool from the cppclean project. |
EXTRA_DIST += \ |
@@ -152,3 +158,30 @@ EXTRA_DIST += \ |
msvc/gmock_main.vcproj \ |
msvc/gmock-spec-builders_test.vcproj \ |
msvc/gmock_test.vcproj |
+ |
+# gmock_test.cc does not really depend on files generated by the |
+# fused-gmock-internal rule. However, gmock_test.o does, and it is |
+# important to include test/gmock_test.cc as part of this rule in order to |
+# prevent compiling gmock_test.o until all dependent files have been |
+# generated. |
+$(test_gmock_fused_test_SOURCES): fused-gmock-internal |
+ |
+# TODO(vladl@google.com): Find a way to add Google Tests's sources here. |
+fused-gmock-internal: $(pkginclude_HEADERS) $(pkginclude_internal_HEADERS) \ |
+ $(lib_libgmock_la_SOURCES) $(GMOCK_SOURCE_INGLUDES) \ |
+ $(lib_libgmock_main_la_SOURCES) \ |
+ scripts/fuse_gmock_files.py |
+ mkdir -p "$(srcdir)/fused-src" |
+ chmod -R u+w "$(srcdir)/fused-src" |
+ rm -f "$(srcdir)/fused-src/gtest/gtest.h" |
+ rm -f "$(srcdir)/fused-src/gmock/gmock.h" |
+ rm -f "$(srcdir)/fused-src/gmock-gtest-all.cc" |
+ "$(srcdir)/scripts/fuse_gmock_files.py" "$(srcdir)/fused-src" |
+ cp -f "$(srcdir)/src/gmock_main.cc" "$(srcdir)/fused-src" |
+ |
+maintainer-clean-local: |
+ rm -rf "$(srcdir)/fused-src" |
+ |
+# Death tests may produce core dumps in the build directory. In case |
+# this happens, clean them to keep distcleancheck happy. |
+CLEANFILES = core |