2016-04-13 10 views
0

私はAutotoolsが新しく、Autestoolsを使用しているプロジェクトにgtestユニットテストを追加しようとしています。他の変数に依存するautomakeの汎用SOURCES定義

私はシンプルなディレクトリ構造を有する: -
./srcメイン - ソース
./testsから
.テストを
./paths - testsディレクトリにパス

私がテストしたクラスごとに1つのcppのファイルを持っているとしてgitのサブモジュール私のMakefile.amは次のようになります:

AUTOMAKE_OPTIONS = serial-tests 

AM_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/paths -DUNIT_TEST 
AM_LDFLAGS = -pthread 
LDADD = -lgtest -lgtest_main 

TESTS = test_networkconfig test_dummy ### depending on content of this variable 
check_PROGRAMS = $(TESTS) 

test_networkconfig_SOURCES = test_networkconfig.cpp    ### generate this 
test_networkconfig_LDADD = $(top_srcdir)/src/networkconfig.o \ 
          -lgtest \ 
          -lgtest_main 

test_networkconfig_CPPFLAGS = $(somelibrary_CFLAGS) 

test_dummy_SOURCES = test_dummy.cpp       ### and this variable 

私が自動的に生成したいと思います:

test_networkconfig_SOURCES = test_networkconfig.cpp 
test_dummy_SOURCES = test_dummy.cpp 

TESTS変数によって保持されている各値の変数<some_name>_SOURCES = <some_name>.cppを作成する方法はありますか?

答えて

1

Automakeでは、これは限られた方法でしか行うことができません。特に、プログラムPの場合、P_SOURCESが定義されていない場合、Automakeはプログラム名とAM_DEFAULT_SOURCE_EXT(デフォルトは.c)の値を使用してデフォルトを計算します。だからあなたの場合

AM_DEFAULT_SOURCE_EXT = .cpp 

はトリックを行う必要があります。

関連する問題