blob: f2d07ecc92632d9d17cdb1344098c1f7b7d69f7f [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 \
31 gen-cpp-enumclass/ThriftTest_constants.cpp
Nobuaki Sukegawaa0c5ab72015-02-01 00:27:12 +090032
Roger Meierd3b9dca2011-06-24 14:01:10 +000033noinst_LTLIBRARIES = libtestgencpp.la libstresstestgencpp.la
34nodist_libtestgencpp_la_SOURCES = \
James E. King, III58402ff2017-11-17 14:41:46 -050035 gen-cpp/SecondService.cpp \
36 gen-cpp/SecondService.h \
37 gen-cpp/SecondService.tcc \
Jens Geyer79f988c2014-10-03 20:42:54 +020038 gen-cpp/ThriftTest_constants.cpp \
39 gen-cpp/ThriftTest_constants.h \
40 gen-cpp/ThriftTest_types.cpp \
41 gen-cpp/ThriftTest_types.h \
42 gen-cpp/ThriftTest_types.tcc \
43 gen-cpp/ThriftTest.cpp \
44 gen-cpp/ThriftTest.h \
45 gen-cpp/ThriftTest.tcc \
46 src/ThriftTest_extras.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +000047
48libtestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
49
Copilot1e09a042026-01-29 10:36:28 -080050# Libraries for option-specific tests
51noinst_LTLIBRARIES += \
52 libforwardsettertestgencpp.la \
53 libprivateoptonaltestgencpp.la \
54 libenumclasstestgencpp.la
55
56nodist_libforwardsettertestgencpp_la_SOURCES = \
57 gen-cpp-forward/ThriftTest_types.cpp \
58 gen-cpp-forward/ThriftTest_types.h \
59 gen-cpp-forward/ThriftTest_types.tcc \
60 gen-cpp-forward/ThriftTest_constants.cpp \
61 gen-cpp-forward/ThriftTest_constants.h \
62 src/ThriftTest_extras.cpp
63
64libforwardsettertestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
65
66nodist_libprivateoptonaltestgencpp_la_SOURCES = \
67 gen-cpp-private/ThriftTest_types.cpp \
68 gen-cpp-private/ThriftTest_types.h \
69 gen-cpp-private/ThriftTest_constants.cpp \
70 gen-cpp-private/ThriftTest_constants.h \
71 src/ThriftTest_extras.cpp
72
73libprivateoptonaltestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
74
75nodist_libenumclasstestgencpp_la_SOURCES = \
76 gen-cpp-enumclass/ThriftTest_types.cpp \
77 gen-cpp-enumclass/ThriftTest_types.h \
78 gen-cpp-enumclass/ThriftTest_constants.cpp \
79 gen-cpp-enumclass/ThriftTest_constants.h \
80 src/ThriftTest_extras.cpp
81
82libenumclasstestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
83
Roger Meierd3b9dca2011-06-24 14:01:10 +000084nodist_libstresstestgencpp_la_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +020085 gen-cpp/StressTest_types.h \
86 gen-cpp/Service.cpp \
87 gen-cpp/Service.h
Roger Meierd3b9dca2011-06-24 14:01:10 +000088
89libstresstestgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
90
Roger Meier41ad4342015-03-24 22:30:40 +010091precross: TestServer TestClient
92
Roger Meierd3b9dca2011-06-24 14:01:10 +000093check_PROGRAMS = \
Jens Geyer79f988c2014-10-03 20:42:54 +020094 TestServer \
95 TestClient \
96 StressTest \
Copilot1e09a042026-01-29 10:36:28 -080097 StressTestNonBlocking \
98 ForwardSetterTest \
99 PrivateOptionalTest \
100 EnumClassTest
Roger Meierd3b9dca2011-06-24 14:01:10 +0000101
102# we currently do not run the testsuite, stop c++ server issue
103# TESTS = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200104# $(check_PROGRAMS)
Roger Meierd3b9dca2011-06-24 14:01:10 +0000105
106TestServer_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200107 src/TestServer.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +0000108
109TestServer_LDADD = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200110 libtestgencpp.la \
111 $(top_builddir)/lib/cpp/libthrift.la \
112 $(top_builddir)/lib/cpp/libthriftz.la \
113 $(top_builddir)/lib/cpp/libthriftnb.la \
Dave Watson792db4e2015-01-16 11:22:01 -0800114 -levent -lboost_program_options -lboost_system -lboost_filesystem $(ZLIB_LIBS)
Roger Meierd3b9dca2011-06-24 14:01:10 +0000115
116TestClient_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200117 src/TestClient.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +0000118
119TestClient_LDADD = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200120 libtestgencpp.la \
121 $(top_builddir)/lib/cpp/libthrift.la \
122 $(top_builddir)/lib/cpp/libthriftz.la \
123 $(top_builddir)/lib/cpp/libthriftnb.la \
Dave Watson792db4e2015-01-16 11:22:01 -0800124 -levent -lboost_program_options -lboost_system -lboost_filesystem $(ZLIB_LIBS)
Roger Meierd3b9dca2011-06-24 14:01:10 +0000125
126StressTest_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200127 src/StressTest.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +0000128
129StressTest_LDADD = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200130 libstresstestgencpp.la \
131 $(top_builddir)/lib/cpp/libthrift.la
Roger Meierd3b9dca2011-06-24 14:01:10 +0000132
133StressTestNonBlocking_SOURCES = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200134 src/StressTestNonBlocking.cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +0000135
136StressTestNonBlocking_LDADD = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200137 libstresstestgencpp.la \
138 $(top_builddir)/lib/cpp/libthriftnb.la \
139 -levent
Copilot1e09a042026-01-29 10:36:28 -0800140
141ForwardSetterTest_SOURCES = \
142 src/ForwardSetterTest.cpp
143
144ForwardSetterTest_CPPFLAGS = -Igen-cpp-forward $(AM_CPPFLAGS)
145ForwardSetterTest_LDADD = \
146 libforwardsettertestgencpp.la \
147 $(top_builddir)/lib/cpp/libthrift.la
148
149PrivateOptionalTest_SOURCES = \
150 src/PrivateOptionalTest.cpp
151
152PrivateOptionalTest_CPPFLAGS = -Igen-cpp-private $(AM_CPPFLAGS)
153PrivateOptionalTest_LDADD = \
154 libprivateoptonaltestgencpp.la \
155 $(top_builddir)/lib/cpp/libthrift.la
156
157EnumClassTest_SOURCES = \
158 src/EnumClassTest.cpp
159
160EnumClassTest_CPPFLAGS = -Igen-cpp-enumclass $(AM_CPPFLAGS)
161EnumClassTest_LDADD = \
162 libenumclasstestgencpp.la \
163 $(top_builddir)/lib/cpp/libthrift.la
164
Roger Meierd3b9dca2011-06-24 14:01:10 +0000165#
166# Common thrift code generation rules
167#
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200168gen-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 +0200169 $(THRIFT) --gen cpp:templates,cob_style -r $<
Roger Meierd3b9dca2011-06-24 14:01:10 +0000170
Copilot1e09a042026-01-29 10:36:28 -0800171# Generate ThriftTest with forward_setter option
172gen-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)
173 $(MKDIR_P) gen-cpp-forward
174 $(THRIFT) --gen cpp:moveable_types=forward_setter -out gen-cpp-forward $<
175
176# Generate ThriftTest with private_optional option
177gen-cpp-private/ThriftTest_types.cpp gen-cpp-private/ThriftTest_types.h gen-cpp-private/ThriftTest_constants.cpp: $(top_srcdir)/test/ThriftTest.thrift $(THRIFT)
178 $(MKDIR_P) gen-cpp-private
179 $(THRIFT) --gen cpp:private_optional -out gen-cpp-private $<
180
181# Generate ThriftTest with enum_class option
182gen-cpp-enumclass/ThriftTest_types.cpp gen-cpp-enumclass/ThriftTest_types.h gen-cpp-enumclass/ThriftTest_constants.cpp: $(top_srcdir)/test/ThriftTest.thrift $(THRIFT)
183 $(MKDIR_P) gen-cpp-enumclass
184 $(THRIFT) --gen cpp:pure_enums=enum_class -out gen-cpp-enumclass $<
185
zeshuai00757c25072020-04-09 11:17:05 +0800186gen-cpp/Service.cpp: $(top_srcdir)/test/StressTest.thrift $(THRIFT)
Jens Geyer79f988c2014-10-03 20:42:54 +0200187 $(THRIFT) --gen cpp $<
Roger Meierd3b9dca2011-06-24 14:01:10 +0000188
Zezeng Wang371d92f2020-04-28 14:23:15 +0800189gen-cpp/SpecificNameTest_types.cpp gen-cpp/EchoService.cpp: $(top_srcdir)/test/SpecificName.thrift $(THRIFT)
190 $(THRIFT) --gen cpp $<
191
Kevin Wojniaka3925662019-07-01 11:07:45 -0700192AM_CPPFLAGS = $(BOOST_CPPFLAGS) $(LIBEVENT_CPPFLAGS) -I$(top_srcdir)/lib/cpp/src -Igen-cpp -I.
James E. King, IIId7142b72017-09-01 13:00:36 -0700193AM_CXXFLAGS = -Wall -Wextra -pedantic -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
Roger Meier051ea1c2014-12-20 22:43:24 +0100194AM_LDFLAGS = $(BOOST_LDFLAGS) $(LIBEVENT_LDFLAGS) $(ZLIB_LIBS)
Roger Meierd3b9dca2011-06-24 14:01:10 +0000195
196clean-local:
Copilot1e09a042026-01-29 10:36:28 -0800197 $(RM) -r gen-cpp/ gen-cpp-forward/ gen-cpp-private/ gen-cpp-enumclass/
Roger Meierd3b9dca2011-06-24 14:01:10 +0000198
Konrad Grochowski16a23a62014-11-13 15:33:38 +0100199style-local:
200 $(CPPSTYLE_CMD)
201
Thomas63f04582024-03-21 22:51:07 +0900202distdir:
203 $(MAKE) $(AM_MAKEFLAGS) distdir-am
204
Roger Meierd3b9dca2011-06-24 14:01:10 +0000205EXTRA_DIST = \
Jens Geyer79f988c2014-10-03 20:42:54 +0200206 src/TestClient.cpp \
207 src/TestServer.cpp \
208 src/StressTest.cpp \
Copilot1e09a042026-01-29 10:36:28 -0800209 src/StressTestNonBlocking.cpp \
210 src/ForwardSetterTest.cpp \
211 src/PrivateOptionalTest.cpp \
212 src/EnumClassTest.cpp