Делитесь файлами с юнит-тестами с помощью автоинструментов - PullRequest
2 голосов
/ 12 ноября 2010

У меня есть проект, использующий autoconf и automake со следующей структурой:

  • /
    • SRC /
      • class.h
      • class.cpp
    • тест /
      • class_unittest.cpp

В class_unittest.cpp я включаю class.h в исходный файл и при компиляции также файл class.cpp. В config для теста я добавляю ../src как новый путь включения в AM_CPPFLAGS = -I ../ src / definition и ссылаюсь на class.cpp относительно определения SOURCES.

Это прекрасно работает, когда я собираю программное обеспечение из корневого каталога, но если я попытаюсь сделать сборку VPATH, создав dir foo в root и в вызове dir ../configure && make, я получу отсутствующий заголовок Ошибки class.h при попытке скомпилировать class_unittest.cpp.

Так как же поделиться заголовком для тестирования, чтобы избежать этой проблемы?

1 Ответ

4 голосов
/ 12 ноября 2010

Вы можете использовать переменную srcdir для ссылки на эквивалентный исходный каталог в сборке VPATH.

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