プロジェクトで使用する必要がありlog4cpp
、このライブラリを biicode ブロックとして追加したいと考えています。
ドキュメントを読み、ライブラリを biicode 用に準備しようとしました。
sourceforge の git herelog4cpp
からソースを取得します。
はすでに持っているのですが、ubuntu Linux で cmake でコンパイルしようとすると、エラーが発生しました: .log4cpp
CMakeLists.txt
missing file log4cpp/config.h
どうやら、log4cpp
autotools ベースのプロジェクトであり、実行する必要が./autogen.sh
あり、./configure
Ubuntu Linux でコンパイルするためにプロジェクトを準備する必要があります。このコマンドを呼び出すと、log4cpp/config.h
ファイルが表示され、cmake でプロジェクトをコンパイルできました。
次に、このコードを CMakeLists.txt に追加しました。
if (BIICODE)
include(biicode.cmake)
return()
endif()
そしてbiicode.cmakeに次のコードを追加しました:
# remove tests targets
LIST(REMOVE_ITEM BII_BLOCK_EXES tests_testCategory tests_testConfig tests_testDLL tests_testDailyRollingFileAppender tests_testErrorCollision tests_testFilter tests_testFixedContextCategory tests_testNDC tests_testNDCMain tests_testNTEventLog tests_testPattern tests_testPriority tests_testPropConfig tests_testProperties tests_testPropertyConfig tests_testRollingFileAppender tests_test_convenience tests_testbench tests_testmain)
# remove unnecessary files from lib
LIST(REMOVE_ITEM BII_LIB_SRC
tests/Clock.cpp
tests/Clock.hh
tests/NDCTest.hh
)
ADD_BII_TARGETS()
でブロックを作ることができるようになりましたbii build
。しかし、このブロックを biicode に公開して、他のサンプル プロジェクトで使用しようとすると、実行するbii find
と、biicode は log4cpp をダウンロードしますが、すべてのソースではありません (たとえば、RollingFileAppender.cpp はダウンロード後に使用できません)。
log4cpp を使用する私のサンプル プロジェクト:
#include "log4cpp/Category.hh"
int main()
{
log4cpp::Category::getInstance("application");
return 0;
}
そして、このセクションをサンプル プロジェクトの biicode.conf ファイルに追加する必要がありました。
[includes]
log4cpp/*: halex2005/log4cpp/include
だから、私の質問は次のとおりです。
- autotools ベースのプロジェクトを正しい方法で biicode ブロックにするにはどうすればよいですか?
- コマンド
./auto-gen.sh
で実行する方法は./configure
?bii configure
- biicode に biicode ブロックのソースの完全なリストを強制的にダウンロードさせる方法は?
前もって感謝します!