Makefile.am 9.62 KB
Newer Older
1
2
3
# Nonstandard package files for distribution.
EXTRA_DIST =

shiqian's avatar
shiqian committed
4
5
6
7
# We may need to build our internally packaged gtest. If so, it will be
# included in the 'subdirs' variable.
SUBDIRS = $(subdirs)

8
9
# Scripts and utilities to be installed by 'make install'.
dist_bin_SCRIPTS = scripts/gmock_doctor.py
shiqian's avatar
shiqian committed
10
11
12
13
bin_SCRIPTS = scripts/gmock-config

# This is generated by the configure script, so clean it for distribution.
DISTCLEANFILES = scripts/gmock-config
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

# We define the global AM_CPPFLAGS as everything we compile includes from these
# directories.
AM_CPPFLAGS = $(GTEST_CPPFLAGS) -I$(srcdir)/include

# Build rules for libraries.
lib_LTLIBRARIES = lib/libgmock.la lib/libgmock_main.la

lib_libgmock_la_SOURCES = 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

pkginclude_HEADERS = include/gmock/gmock.h \
                     include/gmock/gmock-actions.h \
                     include/gmock/gmock-cardinalities.h \
                     include/gmock/gmock-generated-actions.h \
                     include/gmock/gmock-generated-function-mockers.h \
                     include/gmock/gmock-generated-matchers.h \
                     include/gmock/gmock-generated-nice-strict.h \
                     include/gmock/gmock-matchers.h \
37
                     include/gmock/gmock-more-actions.h \
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
                     include/gmock/gmock-printers.h \
                     include/gmock/gmock-spec-builders.h

pkginclude_internaldir = $(pkgincludedir)/internal
pkginclude_internal_HEADERS = \
  include/gmock/internal/gmock-generated-internal-utils.h \
  include/gmock/internal/gmock-internal-utils.h \
  include/gmock/internal/gmock-port.h

lib_libgmock_main_la_SOURCES = src/gmock_main.cc
lib_libgmock_main_la_LIBADD = lib/libgmock.la

# Build rules for tests. Automake's naming for some of these variables isn't
# terribly obvious, so this is a brief reference:
#
# TESTS -- Programs run automatically by "make check"
# check_PROGRAMS -- Programs built by "make check" but not necessarily run

TESTS=
TESTS_ENVIRONMENT = GMOCK_SOURCE_DIR="$(srcdir)/test" \
                    GMOCK_BUILD_DIR="$(top_builddir)/test"
check_PROGRAMS=
AM_LDFLAGS = $(GTEST_LDFLAGS)

TESTS += test/gmock-actions_test
check_PROGRAMS += test/gmock-actions_test
test_gmock_actions_test_SOURCES = test/gmock-actions_test.cc
test_gmock_actions_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

TESTS += test/gmock-cardinalities_test
check_PROGRAMS += test/gmock-cardinalities_test
test_gmock_cardinalities_test_SOURCES = test/gmock-cardinalities_test.cc
test_gmock_cardinalities_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

TESTS += test/gmock-generated-actions_test
check_PROGRAMS += test/gmock-generated-actions_test
test_gmock_generated_actions_test_SOURCES = test/gmock-generated-actions_test.cc
test_gmock_generated_actions_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

TESTS += test/gmock-generated-function-mockers_test
check_PROGRAMS += test/gmock-generated-function-mockers_test
test_gmock_generated_function_mockers_test_SOURCES = \
  test/gmock-generated-function-mockers_test.cc
test_gmock_generated_function_mockers_test_LDADD = $(GTEST_LIBS) \
                                                   lib/libgmock_main.la

TESTS += test/gmock-generated-internal-utils_test
check_PROGRAMS += test/gmock-generated-internal-utils_test
test_gmock_generated_internal_utils_test_SOURCES = \
  test/gmock-generated-internal-utils_test.cc
test_gmock_generated_internal_utils_test_LDADD = $(GTEST_LIBS) \
                                                 lib/libgmock_main.la

TESTS += test/gmock-generated-matchers_test
check_PROGRAMS += test/gmock-generated-matchers_test
test_gmock_generated_matchers_test_SOURCES = \
  test/gmock-generated-matchers_test.cc
test_gmock_generated_matchers_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

TESTS += test/gmock-internal-utils_test
check_PROGRAMS += test/gmock-internal-utils_test
test_gmock_internal_utils_test_SOURCES = test/gmock-internal-utils_test.cc
test_gmock_internal_utils_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

TESTS += test/gmock_link_test
check_PROGRAMS += test/gmock_link_test
test_gmock_link_test_SOURCES = test/gmock_link_test.cc \
105
106
                               test/gmock_link2_test.cc \
                               test/gmock_link_test.h
107
108
109
110
111
112
113
test_gmock_link_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

TESTS += test/gmock-matchers_test
check_PROGRAMS += test/gmock-matchers_test
test_gmock_matchers_test_SOURCES = test/gmock-matchers_test.cc
test_gmock_matchers_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

114
115
116
117
118
TESTS += test/gmock-more-actions_test
check_PROGRAMS += test/gmock-more-actions_test
test_gmock_more_actions_test_SOURCES = test/gmock-more-actions_test.cc
test_gmock_more_actions_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
TESTS += test/gmock-nice-strict_test
check_PROGRAMS += test/gmock-nice-strict_test
test_gmock_nice_strict_test_SOURCES = test/gmock-nice-strict_test.cc
test_gmock_nice_strict_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

TESTS += test/gmock-port_test
check_PROGRAMS += test/gmock-port_test
test_gmock_port_test_SOURCES = test/gmock-port_test.cc
test_gmock_port_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

TESTS += test/gmock-printers_test
check_PROGRAMS += test/gmock-printers_test
test_gmock_printers_test_SOURCES = test/gmock-printers_test.cc
test_gmock_printers_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

TESTS += test/gmock-spec-builders_test
check_PROGRAMS += test/gmock-spec-builders_test
test_gmock_spec_builders_test_SOURCES = test/gmock-spec-builders_test.cc
137
test_gmock_spec_builders_test_LDADD = $(GTEST_LIBS) lib/libgmock.la
138
139
140
141
142
143

TESTS += test/gmock_test
check_PROGRAMS += test/gmock_test
test_gmock_test_SOURCES = test/gmock_test.cc
test_gmock_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la

144
145
146
147
148
149
150
151
152
153
# A sanity test for verifying that Google Mock works when RTTI is
# disabled.  We pick gmock-spec-builders_test.cc as it exercises all
# components of Google Mock.
TESTS += test/gmock_no_rtti_test
check_PROGRAMS += test/gmock_no_rtti_test
test_gmock_no_rtti_test_SOURCES = test/gmock-spec-builders_test.cc \
                                  src/gmock-all.cc
test_gmock_no_rtti_test_CXXFLAGS = $(AM_CXXFLAGS) -fno-rtti -DGTEST_HAS_RTTI=0
test_gmock_no_rtti_test_LDADD = $(GTEST_LIBS)

154
155
156
157
158
159
160
161
162
163
164
165
# A sanity test for verifying that Google Mock works with Google
# Test's TR1 tuple implementation.  We pick
# gmock-spec-builders_test.cc as it exercises all components of Google
# Mock.
TESTS += test/gmock_use_own_tuple_test
check_PROGRAMS += test/gmock_use_own_tuple_test
test_gmock_use_own_tuple_test_SOURCES = test/gmock-spec-builders_test.cc \
                                        src/gmock-all.cc
test_gmock_use_own_tuple_test_CXXFLAGS = \
    $(AM_CXXFLAGS) -DGTEST_USE_OWN_TR1_TUPLE=1
test_gmock_use_own_tuple_test_LDADD = $(GTEST_LIBS)

166
167
168
169
170
171
172
173
174
175
176
177
# The following tests depend on the presence of a Python installation and are
# keyed off of it. We only add them to the TESTS variable when a Python
# interpreter is available. TODO(chandlerc@google.com): While we currently only
# attempt to build and execute these tests if Autoconf has found Python v2.3 on
# the system, we don't use the PYTHON variable it specified as the valid
# interpreter. The problem is that TESTS_ENVIRONMENT is a global variable, and
# thus we cannot distinguish between C++ unit tests and Python unit tests.
dist_check_SCRIPTS =

# Python modules used by multiple Python tests below.
dist_check_SCRIPTS += test/gmock_test_utils.py

178
179
180
181
182
check_PROGRAMS += test/gmock_leak_test_
test_gmock_leak_test__SOURCES = test/gmock_leak_test_.cc
test_gmock_leak_test__LDADD = $(GTEST_LIBS) lib/libgmock_main.la
dist_check_SCRIPTS += test/gmock_leak_test.py

183
184
185
186
187
188
189
190
check_PROGRAMS += test/gmock_output_test_
test_gmock_output_test__SOURCES = test/gmock_output_test_.cc
test_gmock_output_test__LDADD = $(GTEST_LIBS) lib/libgmock_main.la
dist_check_SCRIPTS += test/gmock_output_test.py
EXTRA_DIST += test/gmock_output_test_golden.txt

# Enable all the python driven tests when we can run them.
if HAVE_PYTHON
191
192
193
TESTS += \
    test/gmock_leak_test.py \
    test/gmock_output_test.py
194
195
196
197
endif

# Nonstandard package files for distribution.
EXTRA_DIST += \
198
199
200
201
    CHANGES \
    CONTRIBUTORS \
    make/Makefile \
    src/gmock-all.cc
202
203
204
205
206
207
208
209
210

# Pump scripts for generating Google Mock headers.
# TODO(chandlerc@google.com): automate the generation of *.h from *.h.pump.
EXTRA_DIST += include/gmock/gmock-generated-actions.h.pump \
              include/gmock/gmock-generated-function-mockers.h.pump \
              include/gmock/gmock-generated-matchers.h.pump \
              include/gmock/gmock-generated-nice-strict.h.pump \
              include/gmock/internal/gmock-generated-internal-utils.h.pump

211
212
213
214
215
# Script for fusing Google Mock and Google Test source files.
EXTRA_DIST += \
    scripts/fuse_gmock_files.py \
    scripts/test/Makefile

216
217
218
219
220
221
222
223
224
225
226
227
228
# The Google Mock Generator tool from the cppclean project.
EXTRA_DIST += \
    scripts/generator/COPYING \
    scripts/generator/README \
    scripts/generator/README.cppclean \
    scripts/generator/cpp/__init__.py \
    scripts/generator/cpp/ast.py \
    scripts/generator/cpp/gmock_class.py \
    scripts/generator/cpp/keywords.py \
    scripts/generator/cpp/tokenize.py \
    scripts/generator/cpp/utils.py \
    scripts/generator/gmock_gen.py

229
230
231
232
233
234
235
236
# Microsoft Visual Studio 2005 projects.
EXTRA_DIST += \
    msvc/gmock.sln \
    msvc/gmock.vcproj \
    msvc/gmock_config.vsprops \
    msvc/gmock_link_test.vcproj \
    msvc/gmock_main.vcproj \
    msvc/gmock_output_test_.vcproj \
237
    msvc/gmock-spec-builders_test.vcproj \
238
    msvc/gmock_test.vcproj