# Copyright (c) 2013-2016 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

bin_PROGRAMS += qt/test/test_bitcoin-qt
TESTS += qt/test/test_bitcoin-qt

TEST_QT_MOC_CPP = \
  qt/test/moc_compattests.cpp \
  qt/test/moc_rpcnestedtests.cpp \
  qt/test/moc_uritests.cpp

if ENABLE_WALLET
TEST_QT_MOC_CPP += \
  qt/test/moc_paymentservertests.cpp \
  qt/test/moc_wallettests.cpp
endif

TEST_QT_H = \
  qt/test/compattests.h \
  qt/test/rpcnestedtests.h \
  qt/test/uritests.h \
  qt/test/paymentrequestdata.h \
  qt/test/paymentservertests.h \
  qt/test/wallettests.h

TEST_BITCOIN_CPP = \
  test/test_bitcoin.cpp

TEST_BITCOIN_H = \
  test/test_bitcoin.h

qt_test_test_bitcoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \
  $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS)

qt_test_test_bitcoin_qt_SOURCES = \
  qt/test/compattests.cpp \
  qt/test/rpcnestedtests.cpp \
  qt/test/test_main.cpp \
  qt/test/uritests.cpp \
  $(TEST_QT_H) \
  $(TEST_BITCOIN_CPP) \
  $(TEST_BITCOIN_H)
if ENABLE_WALLET
qt_test_test_bitcoin_qt_SOURCES += \
  qt/test/paymentservertests.cpp \
  qt/test/wallettests.cpp \
  wallet/test/wallet_test_fixture.cpp
endif

nodist_qt_test_test_bitcoin_qt_SOURCES = $(TEST_QT_MOC_CPP)

qt_test_test_bitcoin_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER)
if ENABLE_WALLET
qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_WALLET)
endif
if ENABLE_ZMQ
qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
endif
qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) \
  $(LIBLEVELDB_SSE42) $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \
  $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \
  $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS)
qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
qt_test_test_bitcoin_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS)

CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno

CLEANFILES += $(CLEAN_BITCOIN_QT_TEST)

test_bitcoin_qt : qt/test/test_bitcoin-qt$(EXEEXT)

test_bitcoin_qt_check : qt/test/test_bitcoin-qt$(EXEEXT) FORCE
	$(MAKE) check-TESTS TESTS=$^

test_bitcoin_qt_clean: FORCE
	rm -f $(CLEAN_BITCOIN_QT_TEST) $(qt_test_test_bitcoin_qt_OBJECTS)
