gottingen / carbin

build tool helper

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

carbin

中文版  |  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 with carbin 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

Getting carbin

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

Quickstart

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

Documentation

See here for the latest documentation.

Supported platforms

This is supported on python 3.8 or higher.

About

build tool helper

License:Apache License 2.0


Languages

Language:Python 59.9%Language:CMake 38.6%Language:C++ 0.6%Language:C 0.6%Language:Shell 0.4%