2010-09-03 22 views
0

我需要使用文件来执行我使用Check编写的测试之一。我最初硬编码的路径,工作正常。但是,当代码在源目录之外构建时,这不起作用。我想出了以下解决方案,它有点作用。 (我那么路径名的前缀与TESTS_DIR在检查测试用例中使用文件

# Set correct directory for test files 
AS_IF([test "x$srcdir" = x.], 
     [TESTS_DIR=""], 
     [TESTS_DIR="$srcdir/tests/"]) 
AC_DEFINE_UNQUOTED([TESTS_DIR], ["$TESTS_DIR"], [directory for test files]) 

不幸的是,这一次失败了make distcheck。我可以发布特定的路径布局和结构,但是我想知道在所有这些情况下是否有一种“简单”的方式来引用源目录中的文件。谢谢!

更新:我试图使用绝对路径,但似乎$abs_top_srcdir当我试图更新configure.ac的定义未设置。任何想法,为什么这将不胜感激。

+0

相对路径? – dirkgently 2010-09-03 18:43:17

+0

如何?正如你所看到的,我试图想出一个适用于所有场景的相对路径。没有骰子。事实上,我可能会对绝对路径感到高兴。如果用户在移动目录时需要重新配置,这不是世界末日。但使用相对路径的适当解决方案将是理想的。 – 2010-09-03 18:57:57

回答

0

我发现问题是在配置时没有设置$top_srcdir。相反,我在我的测试Makefile.am中添加了-DTESTS_DIR="\"$(top_srcdir)/tests/\""AM_CFLAGS,并且还将包含测试文件的所有目录添加到EXTRA_DIST

相关问题