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. That's how you know it's stable!)

Prerequisites

  • python >= 3.6.3
  • eons >= 1.1.0

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 but will generally be ebbs -l LANGUAGE BUILD_PATH.
Use ebbs --help for help ;)

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, which is then built with cmake and make, so you get the compiled product you want.

Supported project types:

  • lib
  • bin
  • test (alias for bin)

Prerequisites:

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

Currently lacking support for auto-discovered tool chains and build targets - only compiles for the system it is run on.

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 generated.
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.

IMPORTANT: DO NOT USE THIS IN A build FOLDER!
Building packages from a folder named "build" with python -m build (and setuptools?) will result in an empty package as all *.py files in that directory are ignored. Someone please fix this...

Supported project types:

  • bin
  • lib

Prerequisites:

  • build python package
  • valid setup and pyproject.toml files

See how to package python projects for information on required files.
NOTE: Setup files are not created for you, since there is some variability in what you might want.

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.6.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

ebbs-1.1.6-py3-none-any.whl (9.9 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