我需要log4cpp
在我的项目中使用,我想将此库添加为 biicode 块。
我阅读了文档并尝试为 biicode 准备库。
我log4cpp
从sourceforge 的 git here获得了来源。
log4cpp
已经有了CMakeLists.txt
,但是当我尝试在 ubuntu linux 上用 cmake 编译它时,出现了错误: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 块的完整源列表?
提前致谢!