我在Makefile.am
中定义并使用了以下变量:
GTEST_ROOT=$(top_srcdir)/third_party/googletest/googletest
GMOCK_ROOT=$(top_srcdir)/third_party/googletest/googlemock
TEST_FLAGS = -I$(top_srcdir)/src \
-I${GTEST_ROOT} -I${GMOCK_ROOT} \
-I${GTEST_ROOT}/include -I${GMOCK_ROOT}/include
# -DGTEST_HAS_PTHREAD=1
TEST_LIBS = ${LIBS} -lcnl-cpp ${BOOST_SYSTEM_LIB} ${BOOST_FILESYSTEM_LIBS}
TEST_COMMON_SOURCE = $(GMOCK_ROOT)/src/gmock-all.cc $(GTEST_ROOT)/src/gtest-all.cc
然后我将它们用作
tests_test_prefix_match_SOURCES = ${TEST_COMMON_SOURCE} tests/test_prefix_match.cc src/storage/storage-engine.cpp
运行./configure --prefix=$(pwd)/build
后,将创建两个名为 $ {GMOCK_ROOT} 和 $ {GTEST_ROOT} 的文件夹,其中包含.deps
子文件夹。
这使我无法执行make
命令-因为它抱怨缺少.Po
个文件(显然,它们不是应该在的位置,而是在这些生成的文件夹中)。
为什么这些变量没有扩展?
相同的Makefile.am
在macOS系统上有效,但在Ubuntu 14.04上无效。
一些其他信息:
autoconf (GNU Autoconf) 2.69
autoreconf (GNU Autoconf) 2.69
automake (GNU automake) 1.14.1