【发布时间】:2015-05-28 20:25:02
【问题描述】:
我正在与团队中的其他人一起使用 GNU 自动工具进行项目。在项目中,我们对每个重要的 C++ 类使用单元测试。我发现支持单元测试。为此,我正在使用这种结构:
./
+ tests/
+ Makefile.am
+ classA_test.cc
....
+ classB_test.cc
+ src/
+ lib/
+ Makefile.am
问题出现是因为我的主 Makefile.am 正在使用 subdir-objects 选项——请注意,我没有对源文件使用递归 makefile——,我无法导出我的变量——例如如,AM_CPPFLAGS-- 到另一个 Makefile。到目前为止,我使用:
$ make check
但是当我这样做时,我总是遇到路径和选项的问题
$ make distcheck
所以我的问题是,处理单元测试的标准方法是什么?
编辑:
只要我从测试/Makefile.am 中删除子目录对象,它就可以工作。现在它会抛出一些警告,但它会编译。似乎仍然不是处理单元测试的合适方法
【问题讨论】:
-
你现在如何设置
AM_CPPFLAGS?您是否使用AC_SUBST表示configure.ac中的变量? -
在主 Makefile.am 中我设置了全局 FLAGS 并使用 AC_SUBST 作为额外变量
标签: c++ unit-testing makefile autotools automake