使用autotools与单元测试共享文件

时间:2010-11-12 11:59:17

标签: c++ linux autotools

我有一个使用autoconf和automake的项目,结构如下:

  • /
    • 的src /
      • class.h
      • class.cpp
    • 测试/
      • class_unittest.cpp

在class_unittest.cpp中,我在源文件中包含class.h,在编译时也包含class.cpp文件。在用于测试的automake配置中,我将../src添加为AM_CPPFLAGS = -I ../src / definition中的新包含路径,并在SOURCES定义中相对引用class.cpp。

当我从根目录构建软件时它很有用,但是如果我尝试通过在root和dir调用中创建dir foo来进行VPATH构建../configure&&在尝试编译class_unittest.cpp时,我将丢失标头class.h错误。

那么如何共享标题以进行测试以避免此问题?

1 个答案:

答案 0 :(得分:4)

您可以使用srcdir变量来引用VPATH构建中的等效源目录。

AM_CPPFLAGS = -I$(srcdir)/../src