我有一个 C++ 项目,它通过 CppUnit 进行单元测试,并具有以下目录结构:
.
|-- bin
| `-- tests
|-- src
| `-- include
`-- test
`-- include
我的 Makefile.am 文件位于顶级目录中。我想使用非递归 Makefile。我已经能够在 bin 文件夹中构建我的项目的可执行文件,并在bin/tests文件夹中构建用于make check的测试。
问题如下:当make check运行测试时,当前工作目录仍然是顶级目录(即我运行make check的目录)。是否可以专门为测试套件更改工作目录?
我的 Makefile.am 文件中的相关部分如下:
$(TESTDIR)=./bin/tests
check_PROGRAMS = $(TESTS)
TESTS = $(TESTDIR)clocktest
__TESTDIR_clocktest_SOURCES = test/clocktest.cpp test/unittest.cpp src/clock.cpp
__TESTDIR_clocktest_CPPFLAGS = $(AM_CPPFLAGS) $(CPPUNIT_CFLAGS) $(TESTCPPFLAGS)
__TESTDIR_clocktest_LDADD = $(CPPUNIT_LIBS)