| 中文版 | English | 文档 | Documents | LICENSE |
Carbin is the ci\cd
tool in the EA
system. Carbin can not only integrate and install the cmake package, but also the binary package. At the same time, carbin quickly generates cmake
project templates to facilitate quick construction of projects.
The advantages of carbin
are:
- provide cmake template easy to build a project, see
carbin
create
- Non-intrusive: There is no need to write special hooks in cmake to use
carbin
. One cmake file is written and can be used to install a package withcarbin
or standalone. - Works out of the box: Since it uses the standard build and install of cmake, it already works with almost all cmake packages. There is no need to wait for packages to convert over to support
carbin
. Standard cmake packages can be already installed immediately. - Decentralized: Packages can be installed from anywhere, from github, urls, or local files.
some comparison with other tools:
carbin | conda | cmake | CPM | conan | bazel | |
---|---|---|---|---|---|---|
complexity | easy | middle | hard | middle | hard | hard |
Installation | pip easy | binary easy | NA easy | cmake | pip easy | binary hard |
dependency mode | source/binary | binary | source | source | source/binary | source |
dependency tree | support | support | support | support | support | support |
local source | support | NA | support | support | NA | support |
compatibility | good | middle | good | good | good | poor |
speed | good | middle | poor | poor | good | poor |
carbin
can be simply installed using pip
(you can get pip from here):
pip install carbin
Or installed directly with python:
python setup.py install
run carbin
in a container
docker run -it lijippy/ea_inf:c7_base_v1
We can create a cmake
build system project by carbin
carbin create --name jeff --test --benchmark --examples --requirements
We can also install cmake packages directly from source files, for example zlib:
carbin install http://zlib.net/zlib-1.2.11.tar.gz
However, its much easier to install recipes so we don't have to remember urls:
carbin install gottingen/carbin-recipes
Then we can install packages such as boost:
carbin install boost
Or curl:
carbin install curl
See here for the latest documentation.
This is supported on python 3.8 or higher.