我需要使用一个文件进行使用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 :(得分:0)
我发现问题在于$top_srcdir
未在配置时设置。相反,我在测试-DTESTS_DIR="\"$(top_srcdir)/tests/\""
中将AM_CFLAGS
添加到Makefile.am
,并将包含测试文件的所有目录添加到EXTRA_DIST
。