我正在编写一个小型库,希望使用带有automake 1.11的autotools来访问它。唯一有趣的结果是库libfoo.so。
我为库编写了一个单元测试,我希望在make过程中或运行make check
时执行该测试。我不希望单元测试出现在$PREFIX/foo/bin/
。
我如何实现这些目标?
答案 0 :(得分:6)
正如automake手册所述,您使用"check_"
前缀。假设库是在src/
目录下构建的,单元测试在tests/
下 - 然后在tests/Makefile.am
文件中:
check_PROGRAMS = unit_test
unit_test_SOURCES = unit_test.c
unit_test_LDADD = $(top_builddir)/src/libfoo.la
我认为你当然正在使用libtool
。如果您正在构建共享库,这将处理链接,动态路径等。
您还应该看看在automake中使用TESTS
变量。