makefile.am可以为一组目标设置LDADD吗?

时间:2011-07-13 00:56:23

标签: c++ unit-testing automake googletest

我将单元测试放在源代码的同一目录中。但是如何在Makefile.am中设置LDADD以便所有这些单元测试使用特定的库(例如google test)?

1 个答案:

答案 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中找到类似的示例。