1# Automake file
2
3ACLOCAL_AMFLAGS = -I m4
4
5# Nonstandard package files for distribution
6EXTRA_DIST = \
7  CHANGES \
8  CONTRIBUTORS \
9  include/gtest/gtest-param-test.h.pump \
10  include/gtest/internal/gtest-param-util-generated.h.pump \
11  include/gtest/internal/gtest-tuple.h.pump \
12  include/gtest/internal/gtest-type-util.h.pump \
13  make/Makefile \
14  scripts/fuse_gtest_files.py \
15  scripts/gen_gtest_pred_impl.py \
16  scripts/pump.py \
17  scripts/test/Makefile
18
19# gtest source files that we don't compile directly.  They are
20# #included by gtest-all.cc.
21GTEST_SRC = \
22  src/gtest-death-test.cc \
23  src/gtest-filepath.cc \
24  src/gtest-internal-inl.h \
25  src/gtest-port.cc \
26  src/gtest-printers.cc \
27  src/gtest-test-part.cc \
28  src/gtest-typed-test.cc \
29  src/gtest.cc
30
31EXTRA_DIST += $(GTEST_SRC)
32
33# Sample files that we don't compile.
34EXTRA_DIST += \
35  samples/prime_tables.h \
36  samples/sample2_unittest.cc \
37  samples/sample3_unittest.cc \
38  samples/sample4_unittest.cc \
39  samples/sample5_unittest.cc \
40  samples/sample6_unittest.cc \
41  samples/sample7_unittest.cc \
42  samples/sample8_unittest.cc \
43  samples/sample9_unittest.cc
44
45# C++ test files that we don't compile directly.
46EXTRA_DIST += \
47  test/gtest-death-test_ex_test.cc \
48  test/gtest-death-test_test.cc \
49  test/gtest-filepath_test.cc \
50  test/gtest-linked_ptr_test.cc \
51  test/gtest-listener_test.cc \
52  test/gtest-message_test.cc \
53  test/gtest-options_test.cc \
54  test/gtest-param-test2_test.cc \
55  test/gtest-param-test2_test.cc \
56  test/gtest-param-test_test.cc \
57  test/gtest-param-test_test.cc \
58  test/gtest-param-test_test.h \
59  test/gtest-port_test.cc \
60  test/gtest-printers_test.cc \
61  test/gtest-test-part_test.cc \
62  test/gtest-tuple_test.cc \
63  test/gtest-typed-test2_test.cc \
64  test/gtest-typed-test_test.cc \
65  test/gtest-typed-test_test.h \
66  test/gtest-unittest-api_test.cc \
67  test/gtest_break_on_failure_unittest_.cc \
68  test/gtest_catch_exceptions_test_.cc \
69  test/gtest_color_test_.cc \
70  test/gtest_env_var_test_.cc \
71  test/gtest_environment_test.cc \
72  test/gtest_filter_unittest_.cc \
73  test/gtest_help_test_.cc \
74  test/gtest_list_tests_unittest_.cc \
75  test/gtest_main_unittest.cc \
76  test/gtest_no_test_unittest.cc \
77  test/gtest_output_test_.cc \
78  test/gtest_pred_impl_unittest.cc \
79  test/gtest_prod_test.cc \
80  test/gtest_repeat_test.cc \
81  test/gtest_shuffle_test_.cc \
82  test/gtest_sole_header_test.cc \
83  test/gtest_stress_test.cc \
84  test/gtest_throw_on_failure_ex_test.cc \
85  test/gtest_throw_on_failure_test_.cc \
86  test/gtest_uninitialized_test_.cc \
87  test/gtest_unittest.cc \
88  test/gtest_unittest.cc \
89  test/gtest_xml_outfile1_test_.cc \
90  test/gtest_xml_outfile2_test_.cc \
91  test/gtest_xml_output_unittest_.cc \
92  test/production.cc \
93  test/production.h
94
95# Python tests that we don't run.
96EXTRA_DIST += \
97  test/gtest_break_on_failure_unittest.py \
98  test/gtest_catch_exceptions_test.py \
99  test/gtest_color_test.py \
100  test/gtest_env_var_test.py \
101  test/gtest_filter_unittest.py \
102  test/gtest_help_test.py \
103  test/gtest_list_tests_unittest.py \
104  test/gtest_output_test.py \
105  test/gtest_output_test_golden_lin.txt \
106  test/gtest_shuffle_test.py \
107  test/gtest_test_utils.py \
108  test/gtest_throw_on_failure_test.py \
109  test/gtest_uninitialized_test.py \
110  test/gtest_xml_outfiles_test.py \
111  test/gtest_xml_output_unittest.py \
112  test/gtest_xml_test_utils.py
113
114# CMake script
115EXTRA_DIST += \
116  CMakeLists.txt \
117  cmake/internal_utils.cmake
118
119# MSVC project files
120EXTRA_DIST += \
121  msvc/gtest-md.sln \
122  msvc/gtest-md.vcproj \
123  msvc/gtest.sln \
124  msvc/gtest.vcproj \
125  msvc/gtest_main-md.vcproj \
126  msvc/gtest_main.vcproj \
127  msvc/gtest_prod_test-md.vcproj \
128  msvc/gtest_prod_test.vcproj \
129  msvc/gtest_unittest-md.vcproj \
130  msvc/gtest_unittest.vcproj
131
132# xcode project files
133EXTRA_DIST += \
134  xcode/Config/DebugProject.xcconfig \
135  xcode/Config/FrameworkTarget.xcconfig \
136  xcode/Config/General.xcconfig \
137  xcode/Config/ReleaseProject.xcconfig \
138  xcode/Config/StaticLibraryTarget.xcconfig \
139  xcode/Config/TestTarget.xcconfig \
140  xcode/Resources/Info.plist \
141  xcode/Scripts/runtests.sh \
142  xcode/Scripts/versiongenerate.py \
143  xcode/gtest.xcodeproj/project.pbxproj
144
145# xcode sample files
146EXTRA_DIST += \
147  xcode/Samples/FrameworkSample/Info.plist \
148  xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj \
149  xcode/Samples/FrameworkSample/runtests.sh \
150  xcode/Samples/FrameworkSample/widget.cc \
151  xcode/Samples/FrameworkSample/widget.h \
152  xcode/Samples/FrameworkSample/widget_test.cc
153
154# C++Builder project files
155EXTRA_DIST += \
156  codegear/gtest.cbproj \
157  codegear/gtest.groupproj \
158  codegear/gtest_all.cc \
159  codegear/gtest_link.cc \
160  codegear/gtest_main.cbproj \
161  codegear/gtest_unittest.cbproj
162
163# Distribute and install M4 macro
164m4datadir = $(datadir)/aclocal
165m4data_DATA = m4/gtest.m4
166EXTRA_DIST += $(m4data_DATA)
167
168# We define the global AM_CPPFLAGS as everything we compile includes from these
169# directories.
170AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/include
171
172# Modifies compiler and linker flags for pthreads compatibility.
173if HAVE_PTHREADS
174  AM_CXXFLAGS = @PTHREAD_CFLAGS@ -DGTEST_HAS_PTHREAD=1
175  AM_LIBS = @PTHREAD_LIBS@
176else
177  AM_CXXFLAGS = -DGTEST_HAS_PTHREAD=0
178endif
179
180# Build rules for libraries.
181lib_LTLIBRARIES = lib/libgtest.la lib/libgtest_main.la
182
183lib_libgtest_la_SOURCES = src/gtest-all.cc
184
185pkginclude_HEADERS = \
186  include/gtest/gtest-death-test.h \
187  include/gtest/gtest-message.h \
188  include/gtest/gtest-param-test.h \
189  include/gtest/gtest-printers.h \
190  include/gtest/gtest-spi.h \
191  include/gtest/gtest-test-part.h \
192  include/gtest/gtest-typed-test.h \
193  include/gtest/gtest.h \
194  include/gtest/gtest_pred_impl.h \
195  include/gtest/gtest_prod.h
196
197pkginclude_internaldir = $(pkgincludedir)/internal
198pkginclude_internal_HEADERS = \
199  include/gtest/internal/gtest-death-test-internal.h \
200  include/gtest/internal/gtest-filepath.h \
201  include/gtest/internal/gtest-internal.h \
202  include/gtest/internal/gtest-linked_ptr.h \
203  include/gtest/internal/gtest-param-util-generated.h \
204  include/gtest/internal/gtest-param-util.h \
205  include/gtest/internal/gtest-port.h \
206  include/gtest/internal/gtest-string.h \
207  include/gtest/internal/gtest-tuple.h \
208  include/gtest/internal/gtest-type-util.h
209
210lib_libgtest_main_la_SOURCES = src/gtest_main.cc
211lib_libgtest_main_la_LIBADD = lib/libgtest.la
212
213# Bulid rules for samples and tests. Automake's naming for some of
214# these variables isn't terribly obvious, so this is a brief
215# reference:
216#
217# TESTS -- Programs run automatically by "make check"
218# check_PROGRAMS -- Programs built by "make check" but not necessarily run
219
220noinst_LTLIBRARIES = samples/libsamples.la
221
222samples_libsamples_la_SOURCES = \
223  samples/sample1.cc \
224  samples/sample1.h \
225  samples/sample2.cc \
226  samples/sample2.h \
227  samples/sample3-inl.h \
228  samples/sample4.cc \
229  samples/sample4.h
230
231TESTS=
232TESTS_ENVIRONMENT = GTEST_SOURCE_DIR="$(srcdir)/test" \
233                    GTEST_BUILD_DIR="$(top_builddir)/test"
234check_PROGRAMS=
235
236# A simple sample on using gtest.
237TESTS += samples/sample1_unittest
238check_PROGRAMS += samples/sample1_unittest
239samples_sample1_unittest_SOURCES = samples/sample1_unittest.cc
240samples_sample1_unittest_LDADD = lib/libgtest_main.la \
241                                 lib/libgtest.la \
242                                 samples/libsamples.la
243
244# Another sample.  It also verifies that libgtest works.
245TESTS += samples/sample10_unittest
246check_PROGRAMS += samples/sample10_unittest
247samples_sample10_unittest_SOURCES = samples/sample10_unittest.cc
248samples_sample10_unittest_LDADD = lib/libgtest.la
249
250# This tests most constructs of gtest and verifies that libgtest_main
251# and libgtest work.
252TESTS += test/gtest_all_test
253check_PROGRAMS += test/gtest_all_test
254test_gtest_all_test_SOURCES = test/gtest_all_test.cc
255test_gtest_all_test_LDADD = lib/libgtest_main.la \
256                            lib/libgtest.la
257
258# Tests that fused gtest files compile and work.
259FUSED_GTEST_SRC = \
260  fused-src/gtest/gtest-all.cc \
261  fused-src/gtest/gtest.h \
262  fused-src/gtest/gtest_main.cc
263
264if HAVE_PYTHON
265TESTS += test/fused_gtest_test
266check_PROGRAMS += test/fused_gtest_test
267test_fused_gtest_test_SOURCES = $(FUSED_GTEST_SRC) \
268                                samples/sample1.cc samples/sample1_unittest.cc
269test_fused_gtest_test_CPPFLAGS = -I"$(srcdir)/fused-src"
270
271# Build rules for putting fused Google Test files into the distribution
272# package. The user can also create those files by manually running
273# scripts/fuse_gtest_files.py.
274$(test_fused_gtest_test_SOURCES): fused-gtest
275
276fused-gtest: $(pkginclude_HEADERS) $(pkginclude_internal_HEADERS) \
277             $(GTEST_SRC) src/gtest-all.cc src/gtest_main.cc \
278             scripts/fuse_gtest_files.py
279	mkdir -p "$(srcdir)/fused-src"
280	chmod -R u+w "$(srcdir)/fused-src"
281	rm -f "$(srcdir)/fused-src/gtest/gtest-all.cc"
282	rm -f "$(srcdir)/fused-src/gtest/gtest.h"
283	"$(srcdir)/scripts/fuse_gtest_files.py" "$(srcdir)/fused-src"
284	cp -f "$(srcdir)/src/gtest_main.cc" "$(srcdir)/fused-src/gtest/"
285
286maintainer-clean-local:
287	rm -rf "$(srcdir)/fused-src"
288endif
289
290# Death tests may produce core dumps in the build directory. In case
291# this happens, clean them to keep distcleancheck happy.
292CLEANFILES = core
293
294# Disables 'make install' as installing a compiled version of Google
295# Test can lead to undefined behavior due to violation of the
296# One-Definition Rule.
297
298install-exec-local:
299	echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Test into your build system."
300	false
301
302install-data-local:
303	echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Test into your build system."
304	false
305