source: gtest-1.7.0/Makefile.am@ 12766

Last change on this file since 12766 was 12746, checked in by hock@…, 11 years ago

integrated the Google Testing Framework (gtest)

and wrote an Hello World test, to ensure the framework is working..

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