6634e86666b1e73ed7283bca25ffbdc2c4dd5037
[platform/upstream/gtest.git] / Makefile.am
1 # Automake file
2
3 ACLOCAL_AMFLAGS = -I m4
4
5 # Nonstandard package files for distribution
6 EXTRA_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.
21 GTEST_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
31 EXTRA_DIST += $(GTEST_SRC)
32
33 # Sample files that we don't compile.
34 EXTRA_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.
46 EXTRA_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.
96 EXTRA_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
115 EXTRA_DIST += \
116   CMakeLists.txt \
117   cmake/internal_utils.cmake
118
119 # MSVC project files
120 EXTRA_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
133 EXTRA_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
146 EXTRA_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
155 EXTRA_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
164 m4datadir = $(datadir)/aclocal
165 m4data_DATA = m4/gtest.m4
166 EXTRA_DIST += $(m4data_DATA)
167
168 # We define the global AM_CPPFLAGS as everything we compile includes from these
169 # directories.
170 AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/include
171
172 # Modifies compiler and linker flags for pthreads compatibility.
173 if HAVE_PTHREADS
174   AM_CXXFLAGS = @PTHREAD_CFLAGS@ -DGTEST_HAS_PTHREAD=1
175   AM_LIBS = @PTHREAD_LIBS@
176 else
177   AM_CXXFLAGS = -DGTEST_HAS_PTHREAD=0
178 endif
179
180 # Build rules for libraries.
181 lib_LTLIBRARIES = lib/libgtest.la lib/libgtest_main.la
182
183 lib_libgtest_la_SOURCES = src/gtest-all.cc
184
185 pkginclude_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
197 pkginclude_internaldir = $(pkgincludedir)/internal
198 pkginclude_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
210 lib_libgtest_main_la_SOURCES = src/gtest_main.cc
211 lib_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
220 noinst_LTLIBRARIES = samples/libsamples.la
221
222 samples_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
231 TESTS=
232 TESTS_ENVIRONMENT = GTEST_SOURCE_DIR="$(srcdir)/test" \
233                     GTEST_BUILD_DIR="$(top_builddir)/test"
234 check_PROGRAMS=
235
236 # A simple sample on using gtest.
237 TESTS += samples/sample1_unittest
238 check_PROGRAMS += samples/sample1_unittest
239 samples_sample1_unittest_SOURCES = samples/sample1_unittest.cc
240 samples_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.
245 TESTS += samples/sample10_unittest
246 check_PROGRAMS += samples/sample10_unittest
247 samples_sample10_unittest_SOURCES = samples/sample10_unittest.cc
248 samples_sample10_unittest_LDADD = lib/libgtest.la
249
250 # This tests most constructs of gtest and verifies that libgtest_main
251 # and libgtest work.
252 TESTS += test/gtest_all_test
253 check_PROGRAMS += test/gtest_all_test
254 test_gtest_all_test_SOURCES = test/gtest_all_test.cc
255 test_gtest_all_test_LDADD = lib/libgtest_main.la \
256                             lib/libgtest.la
257
258 # Tests that fused gtest files compile and work.
259 FUSED_GTEST_SRC = \
260   fused-src/gtest/gtest-all.cc \
261   fused-src/gtest/gtest.h \
262   fused-src/gtest/gtest_main.cc
263
264 TESTS += test/fused_gtest_test
265 check_PROGRAMS += test/fused_gtest_test
266 test_fused_gtest_test_SOURCES = $(FUSED_GTEST_SRC) \
267                                 samples/sample1.cc samples/sample1_unittest.cc
268 test_fused_gtest_test_CPPFLAGS = -I"$(srcdir)/fused-src"
269
270 # Build rules for putting fused Google Test files into the distribution
271 # package. The user can also create those files by manually running
272 # scripts/fuse_gtest_files.py.
273 $(test_fused_gtest_test_SOURCES): fused-gtest
274
275 fused-gtest: $(pkginclude_HEADERS) $(pkginclude_internal_HEADERS) \
276              $(GTEST_SRC) src/gtest-all.cc src/gtest_main.cc \
277              scripts/fuse_gtest_files.py
278         mkdir -p "$(srcdir)/fused-src"
279         chmod -R u+w "$(srcdir)/fused-src"
280         rm -f "$(srcdir)/fused-src/gtest/gtest-all.cc"
281         rm -f "$(srcdir)/fused-src/gtest/gtest.h"
282         "$(srcdir)/scripts/fuse_gtest_files.py" "$(srcdir)/fused-src"
283         cp -f "$(srcdir)/src/gtest_main.cc" "$(srcdir)/fused-src/gtest/"
284
285 maintainer-clean-local:
286         rm -rf "$(srcdir)/fused-src"
287
288 # Death tests may produce core dumps in the build directory. In case
289 # this happens, clean them to keep distcleancheck happy.
290 CLEANFILES = core
291
292 # Disables 'make install' as installing a compiled version of Google
293 # Test can lead to undefined behavior due to violation of the
294 # One-Definition Rule.
295
296 install-exec-local:
297         echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Test into your build system."
298
299 install-data-local:
300         echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Test into your build system."