使用 biicode 指定替代源文件目录
Specifying an alternative source file directory with biicode
我正在尝试使用 biicode 来管理我的 project 的依赖项cies,这样我就可以自动化诸如 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
中按照自己的意愿对块进行排序。例如,看看这个块:
这里有一个没有任何模式的结构
biicode.conf
,除其他外,帮助您告诉 biicode 您的 header 文件(但不是源文件)在哪里,感谢 [paths]
部分,因为源文件 biicode自动检测它们,否则您可以使用 [dependencies]
section.
自定义您的依赖项
使用此布局制作示例:
|-- 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 它必须在哪里搜索这个 "relative" headers,所以写入 biicode.conf
:
[paths]
folderA/core
folderA/impl
希望能解决您的疑惑! ;)
我正在尝试使用 biicode 来管理我的 project 的依赖项cies,这样我就可以自动化诸如 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
中按照自己的意愿对块进行排序。例如,看看这个块:
这里有一个没有任何模式的结构
biicode.conf
,除其他外,帮助您告诉 biicode 您的 header 文件(但不是源文件)在哪里,感谢 [paths]
部分,因为源文件 biicode自动检测它们,否则您可以使用 [dependencies]
section.
使用此布局制作示例:
|-- 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 它必须在哪里搜索这个 "relative" headers,所以写入 biicode.conf
:
[paths]
folderA/core
folderA/impl
希望能解决您的疑惑! ;)