summaryrefslogtreecommitdiff
path: root/test/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'test/Makefile.am')
-rw-r--r--test/Makefile.am36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
new file mode 100644
index 0000000..4809b51
--- /dev/null
+++ b/test/Makefile.am
@@ -0,0 +1,36 @@
+# Where to find the c-ares source code; needed because the tests use library-internal headers
+ARES_SRC_DIR = ..
+# Where to find the built c-ares static library
+ARES_BLD_DIR = ..
+AUTOMAKE_OPTIONS = foreign
+ACLOCAL_AMFLAGS = -I ../m4
+GMOCK_DIR = gmock-1.7.0
+GTEST_DIR = $(GMOCK_DIR)/gtest
+# Note use of -isystem to force use of local gMock/gTest even if there's an installed version.
+CPPFLAGS += -I$(ARES_SRC_DIR) -isystem $(GTEST_DIR)/include -isystem $(GMOCK_DIR)/include
+CXXFLAGS += -Wall $(PTHREAD_CFLAGS)
+
+# Makefile.inc provides the TESTSOURCES, TESTHEADERS and FUZZSOURCES defines
+include Makefile.inc
+
+TESTS = arestest
+
+noinst_PROGRAMS = arestest aresfuzz
+arestest_SOURCES = $(TESTSOURCES) $(TESTHEADERS)
+arestest_LDADD = libgmock.la libgtest.la $(ARES_BLD_DIR)/libcares.la $(PTHREAD_LIBS)
+
+# Not interested in coverage of test code, but linking the test binary needs the coverage option
+@CODE_COVERAGE_RULES@
+arestest_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+
+noinst_LTLIBRARIES = libgmock.la libgtest.la
+
+libgmock_la_SOURCES = $(GMOCK_DIR)/src/gmock-all.cc
+libgmock_la_CPPFLAGS = -isystem $(GTEST_DIR)/include -I$(GTEST_DIR) -isystem $(GMOCK_DIR)/include -I$(GMOCK_DIR)
+libgtest_la_SOURCES = $(GTEST_DIR)/src/gtest-all.cc
+libgtest_la_CPPFLAGS = -isystem $(GTEST_DIR)/include -I$(GTEST_DIR) -isystem $(GMOCK_DIR)/include -I$(GMOCK_DIR)
+
+aresfuzz_SOURCES = $(FUZZSOURCES)
+aresfuzz_LDADD = $(ARES_BLD_DIR)/libcares.la
+
+test: check