我正在使用GNU autotools与团队中的其他人一起开展项目.在项目中,我们对每个非平凡的C++类使用单元测试.我发现有单元测试的支持.为此我使用这个结构:
./
+ tests/
+ Makefile.am
+ classA_test.cc
....
+ classB_test.cc
+ src/
+ lib/
+ Makefile.am
Run Code Online (Sandbox Code Playgroud)
问题出现了,因为我的主Makefile.am正在使用subdir-objects选项 - 注意我没有使用递归的makefile作为源文件 - 我无法将我的变量 - 例如AM_CPPFLAGS--导出到另一个Makefile.到目前为止,我使用它:
$ make check
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,我一直在为路径和选项遇到问题
$ make distcheck
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,处理单元测试的标准方法是什么?
编辑:
只要我从tests/Makefile.am中删除subdir-objects,我就可以使用它.现在它抛出一些警告,但它编译.仍然似乎不适合处理单元测试