Skip to main content

Meta build system based on Ninja and Python

Project description

CII Best Practices

Note: Craftr 2.x is different from the initial Craftr version in many ways and can not be used interchangibly. The latest version of Craftr 1.x can be found under the v1.1.4-unreleased tag.

Craftr is a meta build system based on Python 3 scripts which produces Ninja build manifests. It enforces the use of modular build definitions that can be re-used easily. Craftr provides a standard library to support various programming languages and common libraries out of the box:

  • C/C++ (cURL, DLib, GoogleTest, GoogleBenchmark, tiny-dnn, Qt5, Boost, getopt)

  • Cython

  • C#

  • Java

  • Vala

Check out the Documentation and the Getting Started page.

Features

  • [x] Moduler build scripts (Craftr packages) with dependency management

  • [x] Loaders: if required, automatically download and build libraries from source!

  • [ ] Package manager (hosted on Craftr.net)

  • [ ] Embed actual Python functions into the build graph

  • [ ] Dependency-version lockfiles

Installation

Craftr 2.x is currently not on PyPI so you have to install it from the Git repository. Note that the most recent version of Craftr might also require an unreleased version of the nr module, thus it is recommended to install it from the Git repository as well.

$ virtualenv -p python3 env && source env/bin/activate
$ git clone https://github.com/NiklasRosenstein/py-nr.git
$ pip install -e py-nr
$ git clone https://github.com/craftr-build/craftr.git
$ pip install -e craftr
$ craftr version
2.0.0-dev

Requirements

Python

License

The Craftr build system
Copyright (C) 2016  Niklas Rosenstein

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

For more information, see the LICENSE.txt file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

craftr-build-2.0.0.dev2.tar.gz (66.8 kB view details)

Uploaded Source

File details

Details for the file craftr-build-2.0.0.dev2.tar.gz.

File metadata

File hashes

Hashes for craftr-build-2.0.0.dev2.tar.gz
Algorithm Hash digest
SHA256 ee32e520bf66aef52fa0366cd8db1a50770ce72719d8a569f7cc381f54b2e21c
MD5 cb00d4402ecdcbbf15c6adc26c78ba7e
BLAKE2b-256 27934c8f929210cd32e61758c6aab04d542b33fb33bdcd1e34a60c05ab612c7f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page