blob: a17a3fbb616f13fc94554643d397dc9993232174 [file] [log] [blame]
Roger Meierd3b9dca2011-06-24 14:01:10 +00001#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
Kevin Wojniaka3925662019-07-01 11:07:45 -070019AUTOMAKE_OPTIONS = subdir-objects serial-tests nostdinc
Roger Meier81a1f992014-10-22 14:09:43 +020020
Nobuaki Sukegawaa0c5ab72015-02-01 00:27:12 +090021BUILT_SOURCES = gen-cpp/ThriftTest.cpp \
22 gen-cpp/ThriftTest_types.cpp \
23 gen-cpp/ThriftTest_constants.cpp \
James E. King, III58402ff2017-11-17 14:41:46 -050024 gen-cpp/SecondService.cpp \
Copilot1e09a042026-01-29 10:36:28 -080025 gen-cpp/Service.cpp \
26 gen-cpp-forward/ThriftTest_types.cpp \
27 gen-cpp-forward/ThriftTest_constants.cpp \
28 gen-cpp-private/ThriftTest_types.cpp \
29 gen-cpp-private/ThriftTest_constants.cpp \
30 gen-cpp-enumclass/ThriftTest_types.cpp \
copilot-swe-agent[bot]c3cdacf2026-02-09 21:30:16 +000031 gen-cpp-enumclass/ThriftTest_constants.cpp \
32 gen-cpp-templatestreamop/ThriftTest_types.cpp \
33 gen-cpp-templatestreamop/ThriftTest_types.tcc \
Copilot13cdb442026-03-17 15:08:29 -070034 gen-cpp-templatestreamop/ThriftTest_constants.cpp \
35 gen-cpp-private-templatestreamop/ThriftTest_types.cpp \
36 gen-cpp-private-templatestreamop/ThriftTest_types.tcc \
37 gen-cpp-private-templatestreamop/ThriftTest_constants.cpp
Nobuaki Sukegawaa0c5ab72015-02-01 00:27:12 +090038
Roger Meierd3b9dca2011-06-24 14:01:10 +000039noinst_LTLIBRARIES = libtestgencpp.la libstresstestgencpp.la
40nodist_libtestgencpp_la_SOURCES = \
James E. King, III58402ff2017-11-17 14:41:46 -050041 gen-cpp/SecondService.cpp \
42 gen-cpp/SecondService.h \
43 gen-cpp/SecondService.tcc \
Jens Geyer79f988c2014-10-03 20:42:54 +020044 gen-cpp/ThriftTest_constants.cpp \
45 gen-cpp/ThriftTest_constants.h \
46 gen-cpp/ThriftTest_types.cpp \
47 gen-cpp/ThriftTest_types.h \
48 gen-cpp/ThriftTest_types.tcc \
49 gen-cpp/ThriftTest.cpp \
50 gen-cpp/ThriftTest.h \
51 gen-cpp/ThriftTest.tcc \
52 src/ThriftTest_extras.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +000053
54libtestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
55
Copilot1e09a042026-01-29 10:36:28 -080056# Libraries for option-specific tests
57noinst_LTLIBRARIES += \
58 libforwardsettertestgencpp.la \
59 libprivateoptonaltestgencpp.la \
copilot-swe-agent[bot]c3cdacf2026-02-09 21:30:16 +000060 libenumclasstestgencpp.la \
Copilot13cdb442026-03-17 15:08:29 -070061 libtemplatestreamoptestgencpp.la \
62 libprivateopttemplstreamoptestgencpp.la
Copilot1e09a042026-01-29 10:36:28 -080063
64nodist_libforwardsettertestgencpp_la_SOURCES = \
65 gen-cpp-forward/ThriftTest_types.cpp \
66 gen-cpp-forward/ThriftTest_types.h \
67 gen-cpp-forward/ThriftTest_types.tcc \
68 gen-cpp-forward/ThriftTest_constants.cpp \
69 gen-cpp-forward/ThriftTest_constants.h \
70 src/ThriftTest_extras.cpp
71
72libforwardsettertestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
73
74nodist_libprivateoptonaltestgencpp_la_SOURCES = \
75 gen-cpp-private/ThriftTest_types.cpp \
76 gen-cpp-private/ThriftTest_types.h \
77 gen-cpp-private/ThriftTest_constants.cpp \
78 gen-cpp-private/ThriftTest_constants.h \
79 src/ThriftTest_extras.cpp
80
81libprivateoptonaltestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
82
83nodist_libenumclasstestgencpp_la_SOURCES = \
84 gen-cpp-enumclass/ThriftTest_types.cpp \
85 gen-cpp-enumclass/ThriftTest_types.h \
86 gen-cpp-enumclass/ThriftTest_constants.cpp \
87 gen-cpp-enumclass/ThriftTest_constants.h \
88 src/ThriftTest_extras.cpp
89
90libenumclasstestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
91
copilot-swe-agent[bot]c3cdacf2026-02-09 21:30:16 +000092nodist_libtemplatestreamoptestgencpp_la_SOURCES = \
93 gen-cpp-templatestreamop/ThriftTest_types.cpp \
94 gen-cpp-templatestreamop/ThriftTest_types.h \
95 gen-cpp-templatestreamop/ThriftTest_types.tcc \
96 gen-cpp-templatestreamop/ThriftTest_constants.cpp \
97 gen-cpp-templatestreamop/ThriftTest_constants.h \
98 src/ThriftTest_extras.cpp
99
100libtemplatestreamoptestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
101
Copilot13cdb442026-03-17 15:08:29 -0700102nodist_libprivateopttemplstreamoptestgencpp_la_SOURCES = \
103 gen-cpp-private-templatestreamop/ThriftTest_types.cpp \
104 gen-cpp-private-templatestreamop/ThriftTest_types.h \
105 gen-cpp-private-templatestreamop/ThriftTest_types.tcc \
106 gen-cpp-private-templatestreamop/ThriftTest_constants.cpp \
107 gen-cpp-private-templatestreamop/ThriftTest_constants.h \
108 src/ThriftTest_extras.cpp
109
110libprivateopttemplstreamoptestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
111
Roger Meierd3b9dca2011-06-24 14:01:10 +0000112nodist_libstresstestgencpp_la_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200113 gen-cpp/StressTest_types.h \
114 gen-cpp/Service.cpp \
115 gen-cpp/Service.h
Roger Meierd3b9dca2011-06-24 14:01:10 +0000116
117libstresstestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
118
Roger Meier41ad4342015-03-24 22:30:40 +0100119precross: TestServer TestClient
120
Roger Meierd3b9dca2011-06-24 14:01:10 +0000121check_PROGRAMS = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200122 TestServer \
123 TestClient \
124 StressTest \
Copilot1e09a042026-01-29 10:36:28 -0800125 StressTestNonBlocking \
126 ForwardSetterTest \
127 PrivateOptionalTest \
copilot-swe-agent[bot]c3cdacf2026-02-09 21:30:16 +0000128 EnumClassTest \
Copilot13cdb442026-03-17 15:08:29 -0700129 TemplateStreamOpTest \
130 PrivateOptionalTemplateStreamOpTest
Roger Meierd3b9dca2011-06-24 14:01:10 +0000131
132# we currently do not run the testsuite, stop c++ server issue
133# TESTS = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200134# $(check_PROGRAMS)
Roger Meierd3b9dca2011-06-24 14:01:10 +0000135
136TestServer_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200137 src/TestServer.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +0000138
139TestServer_LDADD = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200140 libtestgencpp.la \
141 $(top_builddir)/lib/cpp/libthrift.la \
142 $(top_builddir)/lib/cpp/libthriftz.la \
143 $(top_builddir)/lib/cpp/libthriftnb.la \
Dave Watson792db4e2015-01-16 11:22:01 -0800144 -levent -lboost_program_options -lboost_system -lboost_filesystem $(ZLIB_LIBS)
Roger Meierd3b9dca2011-06-24 14:01:10 +0000145
146TestClient_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200147 src/TestClient.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +0000148
149TestClient_LDADD = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200150 libtestgencpp.la \
151 $(top_builddir)/lib/cpp/libthrift.la \
152 $(top_builddir)/lib/cpp/libthriftz.la \
153 $(top_builddir)/lib/cpp/libthriftnb.la \
Dave Watson792db4e2015-01-16 11:22:01 -0800154 -levent -lboost_program_options -lboost_system -lboost_filesystem $(ZLIB_LIBS)
Roger Meierd3b9dca2011-06-24 14:01:10 +0000155
156StressTest_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200157 src/StressTest.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +0000158
159StressTest_LDADD = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200160 libstresstestgencpp.la \
161 $(top_builddir)/lib/cpp/libthrift.la
Roger Meierd3b9dca2011-06-24 14:01:10 +0000162
163StressTestNonBlocking_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200164 src/StressTestNonBlocking.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +0000165
166StressTestNonBlocking_LDADD = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200167 libstresstestgencpp.la \
168 $(top_builddir)/lib/cpp/libthriftnb.la \
169 -levent
Copilot1e09a042026-01-29 10:36:28 -0800170
171ForwardSetterTest_SOURCES = \
172 src/ForwardSetterTest.cpp
173
174ForwardSetterTest_CPPFLAGS = -Igen-cpp-forward $(AM_CPPFLAGS)
175ForwardSetterTest_LDADD = \
176 libforwardsettertestgencpp.la \
177 $(top_builddir)/lib/cpp/libthrift.la
178
179PrivateOptionalTest_SOURCES = \
180 src/PrivateOptionalTest.cpp
181
182PrivateOptionalTest_CPPFLAGS = -Igen-cpp-private $(AM_CPPFLAGS)
183PrivateOptionalTest_LDADD = \
184 libprivateoptonaltestgencpp.la \
185 $(top_builddir)/lib/cpp/libthrift.la
186
187EnumClassTest_SOURCES = \
188 src/EnumClassTest.cpp
189
190EnumClassTest_CPPFLAGS = -Igen-cpp-enumclass $(AM_CPPFLAGS)
191EnumClassTest_LDADD = \
192 libenumclasstestgencpp.la \
193 $(top_builddir)/lib/cpp/libthrift.la
194
copilot-swe-agent[bot]c3cdacf2026-02-09 21:30:16 +0000195TemplateStreamOpTest_SOURCES = \
196 src/TemplateStreamOpTest.cpp
197
198TemplateStreamOpTest_CPPFLAGS = -Igen-cpp-templatestreamop $(AM_CPPFLAGS)
199TemplateStreamOpTest_LDADD = \
200 libtemplatestreamoptestgencpp.la \
201 $(top_builddir)/lib/cpp/libthrift.la
202
Copilot13cdb442026-03-17 15:08:29 -0700203PrivateOptionalTemplateStreamOpTest_SOURCES = \
204 src/PrivateOptionalTemplateStreamOpTest.cpp
205
206PrivateOptionalTemplateStreamOpTest_CPPFLAGS = -Igen-cpp-private-templatestreamop $(AM_CPPFLAGS)
207PrivateOptionalTemplateStreamOpTest_LDADD = \
208 libprivateopttemplstreamoptestgencpp.la \
209 $(top_builddir)/lib/cpp/libthrift.la
210
Roger Meierd3b9dca2011-06-24 14:01:10 +0000211#
212# Common thrift code generation rules
213#
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200214gen-cpp/ThriftTest.cpp gen-cpp/ThriftTest_types.cpp gen-cpp/ThriftTest_constants.cpp gen-cpp/SecondService.cpp gen-cpp/SecondService.h gen-cpp/SecondService.tcc: $(top_srcdir)/test/ThriftTest.thrift $(THRIFT)
Jens Geyer79f988c2014-10-03 20:42:54 +0200215 $(THRIFT) --gen cpp:templates,cob_style -r $<
Roger Meierd3b9dca2011-06-24 14:01:10 +0000216
Copilot1e09a042026-01-29 10:36:28 -0800217# Generate ThriftTest with forward_setter option
218gen-cpp-forward/ThriftTest_types.cpp gen-cpp-forward/ThriftTest_types.h gen-cpp-forward/ThriftTest_types.tcc gen-cpp-forward/ThriftTest_constants.cpp: $(top_srcdir)/test/ThriftTest.thrift $(THRIFT)
219 $(MKDIR_P) gen-cpp-forward
220 $(THRIFT) --gen cpp:moveable_types=forward_setter -out gen-cpp-forward $<
221
222# Generate ThriftTest with private_optional option
223gen-cpp-private/ThriftTest_types.cpp gen-cpp-private/ThriftTest_types.h gen-cpp-private/ThriftTest_constants.cpp: $(top_srcdir)/test/ThriftTest.thrift $(THRIFT)
224 $(MKDIR_P) gen-cpp-private
225 $(THRIFT) --gen cpp:private_optional -out gen-cpp-private $<
226
227# Generate ThriftTest with enum_class option
228gen-cpp-enumclass/ThriftTest_types.cpp gen-cpp-enumclass/ThriftTest_types.h gen-cpp-enumclass/ThriftTest_constants.cpp: $(top_srcdir)/test/ThriftTest.thrift $(THRIFT)
229 $(MKDIR_P) gen-cpp-enumclass
230 $(THRIFT) --gen cpp:pure_enums=enum_class -out gen-cpp-enumclass $<
231
copilot-swe-agent[bot]c3cdacf2026-02-09 21:30:16 +0000232# Generate ThriftTest with template_streamop option
233gen-cpp-templatestreamop/ThriftTest_types.cpp gen-cpp-templatestreamop/ThriftTest_types.h gen-cpp-templatestreamop/ThriftTest_types.tcc gen-cpp-templatestreamop/ThriftTest_constants.cpp: $(top_srcdir)/test/ThriftTest.thrift $(THRIFT)
234 $(MKDIR_P) gen-cpp-templatestreamop
235 $(THRIFT) --gen cpp:template_streamop -out gen-cpp-templatestreamop $<
236
Copilot13cdb442026-03-17 15:08:29 -0700237# Generate ThriftTest with private_optional,template_streamop options
238gen-cpp-private-templatestreamop/ThriftTest_types.cpp gen-cpp-private-templatestreamop/ThriftTest_types.h gen-cpp-private-templatestreamop/ThriftTest_types.tcc gen-cpp-private-templatestreamop/ThriftTest_constants.cpp: $(top_srcdir)/test/ThriftTest.thrift $(THRIFT)
239 $(MKDIR_P) gen-cpp-private-templatestreamop
240 $(THRIFT) --gen cpp:private_optional,template_streamop -out gen-cpp-private-templatestreamop $<
241
zeshuai00757c25072020-04-09 11:17:05 +0800242gen-cpp/Service.cpp: $(top_srcdir)/test/StressTest.thrift $(THRIFT)
Jens Geyer79f988c2014-10-03 20:42:54 +0200243 $(THRIFT) --gen cpp $<
Roger Meierd3b9dca2011-06-24 14:01:10 +0000244
Zezeng Wang371d92f2020-04-28 14:23:15 +0800245gen-cpp/SpecificNameTest_types.cpp gen-cpp/EchoService.cpp: $(top_srcdir)/test/SpecificName.thrift $(THRIFT)
246 $(THRIFT) --gen cpp $<
247
Kevin Wojniaka3925662019-07-01 11:07:45 -0700248AM_CPPFLAGS = $(BOOST_CPPFLAGS) $(LIBEVENT_CPPFLAGS) -I$(top_srcdir)/lib/cpp/src -Igen-cpp -I.
James E. King, IIId7142b72017-09-01 13:00:36 -0700249AM_CXXFLAGS = -Wall -Wextra -pedantic -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
Roger Meier051ea1c2014-12-20 22:43:24 +0100250AM_LDFLAGS = $(BOOST_LDFLAGS) $(LIBEVENT_LDFLAGS) $(ZLIB_LIBS)
Roger Meierd3b9dca2011-06-24 14:01:10 +0000251
252clean-local:
Copilot13cdb442026-03-17 15:08:29 -0700253 $(RM) -r gen-cpp/ gen-cpp-forward/ gen-cpp-private/ gen-cpp-enumclass/ gen-cpp-templatestreamop/ gen-cpp-private-templatestreamop/
Roger Meierd3b9dca2011-06-24 14:01:10 +0000254
Konrad Grochowski16a23a62014-11-13 15:33:38 +0100255style-local:
256 $(CPPSTYLE_CMD)
257
Thomas63f04582024-03-21 22:51:07 +0900258distdir:
259 $(MAKE) $(AM_MAKEFLAGS) distdir-am
260
Roger Meierd3b9dca2011-06-24 14:01:10 +0000261EXTRA_DIST = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200262 src/TestClient.cpp \
263 src/TestServer.cpp \
264 src/StressTest.cpp \
Copilot1e09a042026-01-29 10:36:28 -0800265 src/StressTestNonBlocking.cpp \
266 src/ForwardSetterTest.cpp \
267 src/PrivateOptionalTest.cpp \
copilot-swe-agent[bot]c3cdacf2026-02-09 21:30:16 +0000268 src/EnumClassTest.cpp \
Copilot13cdb442026-03-17 15:08:29 -0700269 src/TemplateStreamOpTest.cpp \
270 src/PrivateOptionalTemplateStreamOpTest.cpp