Skip to main content

eons Basic Build System

Project description

eons Basic Build System

build

This project derives from eons to improve ease-of-hacking ;)

Supported Languages

Currently supporting:

  • C++
  • Python (yes, this repository is circularly dependent on itself)

Prerequisites

  • python >= 3.6.3
  • eons >= 0.1.0

Prerequisites for C++

  • cmake >= 3.1.1
  • make >= whatever
  • g++ or equivalent for cmake

Installation

pip install ebbs

Usage

ebbs assumes that your project is named in accordance with eons naming conventions as well as eons directory conventions

This usually means your project has the name of bin_my-project, lib_my-project, test_my-project, etc.

Specific usage is language specific

C++

Instead of writing and managing cmake files throughout your directory tree, you can use ebbs -l cpp from a build folder and all .h and .cpp files in your source tree will be discovered and added to a CMakeLists.txt.

Supported project types:

  • bin
  • lib
  • test (alias for bin)

Python

Do you hate having empty __init__.py files and other nonsense strewn about your project? This fixes that. Somehow.
To build a python library or binary, go to the root of your project and run ebbs -l py -d build.
This will copy all *.py files out of src and compile them into a single PROJECT_NAME.py in a dependency-aware fashion.
It will also copy all files and directories from inc and add them to the build folder.
Then, it creates python project files, like __main__.py and __init__.pys.
Lastly, it invokes python's build package and pip to build and install your code. This will fail if the necessary dependencies are not installed.

Supported project types:

  • bin
  • lib

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

ebbs-1.1.1.tar.gz (2.7 kB view hashes)

Uploaded Source

Built Distribution

ebbs-1.1.1-py3-none-any.whl (3.1 kB view hashes)

Uploaded Python 3

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