我将单元测试放在源代码的同一目录中。但是如何在Makefile.am中设置LDADD以便所有这些单元测试使用特定的库(例如google test)?
答案 0 :(得分:2)
LDADD
的内容用于所有目标,除非使用target_LDADD
覆盖此变量。因此,如果您有许多单元测试,并且只有少数实际程序,您可以使用LDADD
进行单元测试,并为具有不同链接要求的每个程序覆盖它。
LDADD = libtest.a # Used by default for all targets
# Unit tests, using above LDADD
check_PROGRAMS = one two three
one_SOURCES = one.c
two_SOURCES = two.c
three_SOURCES = three.c
# Main program
bin_PROGRAMS = main
main_SOURCES = main.c
main_LDADD = # Override the LDADD setting.
可以在the documentation of LDADD
中找到类似的示例。