df85ba805b97b1922cfe8ec8ff9e62c58a7e77c2
[cvc5.git] / test / unit / Makefile.am
1 # all unit tests
2 UNIT_TESTS = \
3 expr/node_white \
4 expr/node_black \
5 parser/parser_black
6
7 # things that aren't tests but that tests rely on and need to
8 # go into the distribution
9 TEST_DEPS =
10
11 if HAVE_CXXTESTGEN
12
13 AM_CPPFLAGS = \
14 -I. "-I@CXXTEST@" "-I@top_srcdir@/src/include" "-I@top_srcdir@/src" \
15 $(TEST_CPPFLAGS)
16 AM_CXXFLAGS = $(TEST_CXXFLAGS)
17 AM_LDFLAGS = $(TEST_LDFLAGS)
18
19 AM_CXXFLAGS_WHITE = -fno-access-control
20 AM_CXXFLAGS_BLACK =
21 AM_CXXFLAGS_PUBLIC =
22 AM_LDFLAGS_WHITE = \
23 @abs_top_builddir@/src/parser/libcvc4parser_noinst.la \
24 @abs_top_builddir@/src/libcvc4_noinst.la
25 AM_LDFLAGS_BLACK = \
26 @abs_top_builddir@/src/parser/libcvc4parser_noinst.la \
27 @abs_top_builddir@/src/libcvc4_noinst.la
28 AM_LDFLAGS_PUBLIC = \
29 @abs_top_builddir@/src/libcvc4.la
30
31 TESTS = $(UNIT_TESTS)
32
33 EXTRA_DIST = \
34 no_cxxtest \
35 $(TEST_DEPS)
36
37 # without these here, LTCXXCOMPILE, CXXLINK, etc., aren't set :-(
38 noinst_LTLIBRARIES = libdummy.la
39 libdummy_la_SOURCES = expr/node_black.cpp
40 libdummy_la_LIBADD = @abs_top_builddir@/src/libcvc4.la
41
42 $(TESTS:%=%.cpp): %.cpp: %.h
43 mkdir -p `dirname "$@"`
44 @CXXTESTGEN@ --have-eh --have-std --error-printer -o "$@" "$<"
45 $(filter %_white,$(TESTS)): %_white: %_white.cpp
46 $(LTCXXCOMPILE) $(AM_CXXFLAGS_WHITE) -c -o $@.lo $<
47 $(CXXLINK) $(AM_LDFLAGS_WHITE) $@.lo
48 $(filter %_black,$(TESTS)): %_black: %_black.cpp
49 $(LTCXXCOMPILE) $(AM_CXXFLAGS_BLACK) -c -o $@.lo $<
50 $(CXXLINK) $(AM_LDFLAGS_BLACK) $@.lo
51 $(filter %_public,$(TESTS)): %_public: %_public.cpp
52 $(LTCXXCOMPILE) $(AM_CXXFLAGS_PUBLIC) -c -o $@.lo $<
53 $(CXXLINK) $(AM_LDFLAGS_PUBLIC) $@.lo
54
55 MOSTLYCLEANFILES = $(TESTS) $(TESTS:%=%.cpp)
56
57 else
58
59 # force a user-visible failure for "make check"
60 TESTS = no_cxxtest
61
62 EXTRA_DIST = \
63 $(UNIT_TESTS) \
64 $(TEST_DEPS)
65
66 endif