我正在尝试使用biicode来管理我的项目的依赖关系,这样我就可以自动化诸如boost或sqlite之类的事情,并使用travis ci
据我所知,bii希望你的源文件位于你的块的根文件夹中,就像他们的教程中提到的那样:
|-- my_project
| +-- bii
| +-- bin
| +-- blocks
| | +-- myuser
| | | +-- my_block
| | | | |-- main.cpp
| | | | |-- biicode.conf
但在我的情况下,源文件就像这个
|-- my_project
| +-- bii
| +-- bin
| +-- blocks
| | +-- myuser
| | | +-- my_block
| | | | |-- src
| | | | | +--folderA
| | | | | | +--core
| | | | | | |-- various .cpp
| | | | | | +--impl
| | | | | | |-- various .cpp
| | | | | |-- various .cpp
| | | | |-- biicode.conf
和运行配置保持丢失这些文件夹
bii cpp:configure
我已经阅读了关于biicode.conf的文档,但它没有提到源文件的替代路径。
所以我的问题是,我真的需要把所有东西都放在一个平面目录中吗?在这个目录中,每个源文件都在同一个文件夹中,才能使用biicode?
编辑:我忘了提到我正在尝试构建一个库(用于另一个bii项目),而不是一个可执行的
您可以在blocks/my_user/my_block
中按照自己的意愿对块进行排序。例如,看看这个区块:
fenix/flatbuffers阻断
这里有一个没有任何图案的结构。
由于[paths]
部分,biicode.conf
可以帮助您告诉biicode您的头文件(而不是源文件)在哪里,因为源文件biicode会自动检测它们,否则您可以使用[dependencies]
部分自定义依赖关系。
以这种布局为例:
|-- my_project
| +-- bii
| +-- bin
| +-- blocks
| | +-- myuser
| | | +-- my_block
| | | | |-- src
| | | | | +--folderA
| | | | | | +--core
| | | | | | |-- core.h
| | | | | | |-- core.cpp
| | | | | | +--impl
| | | | | | |-- impl_ext.h
| | | | | | |-- impl.h
| | | | | | +--src
| | | | | | |-- impl.cpp
| | | | | | |-- impl_ext.cpp
| | | | | |-- CMakeLists.txt
| | | | |-- biicode.conf
| | | | |-- CMakeLists.txt
然后,你的.cpp
文件可能有相对的包含,比如:
#include "core/core.h"
#include "impl/impl.h"
#include "impl/impl_ext.h"
假设你的CMakeLists.txt文件是正确的,你只需要告诉biicode它必须在哪里搜索这个"相对"标题,所以写到biicode.conf
:
[paths]
folderA/core
folderA/impl
我希望它能解决你的疑虑!)