Skip to main content

Broken Mouse Studios' build solution

Project description

bmgen - Broken Mouse Studios' build solution

DISCLAIMER

This project is currently in it's beta phase!

It needs to be cleaned up and does not yet have it's full set of features. You may quickly hit it's limits.

You should expect API changes and are welcome to give feedback via https://git.brokenmouse.studio/bms/bmgen/issues

Features

  • build scripts written in Python
  • incremental builds
  • temporary build directories
  • colorful and easy to read output
  • simple build commands

Installation

  • Install bmgen via pip install bmgen or python3 -m pip install bmgen

Building a simple C project

This example shows a script which builds two files named main.c and game.c into a binary named mygame with SDL2.

The following is a breakdown of the script.

  1. First import the clang command:
from bmgen.commands.clang import clang
  1. Then set the output directory -- which will also instantly get created -- and tell the clang command to create it's object directory inside the output directory:
inst.set_output_dir('bin')
clang.update_object_dir()
  1. Build the program via clang:
clang('mygame', ['main.c', 'game.c'], ['sdl2'])

The final bmgen.py looks like this:

from bmgen.commands.clang import clang

inst.set_output_dir('bin')
clang.update_object_dir()

clang('mygame', ['main.c', 'game.c'], ['sdl2'])

Building the program is now as easy as running bmgen in your terminal!

License

This software and it's accompanying files are licensed under the Mozilla Public License Version 2.0.

For the license's contents, see LICENSE or go to https://mozilla.org/MPL/2.0/.

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

bmgen-2023.4.0b1.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bmgen-2023.4.0b1-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file bmgen-2023.4.0b1.tar.gz.

File metadata

  • Download URL: bmgen-2023.4.0b1.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for bmgen-2023.4.0b1.tar.gz
Algorithm Hash digest
SHA256 954456c90a1d70dc1731b2021e29639b2750543a59312feecaf2ba97628176b4
MD5 91e6adf2aab88599906d8c67b7b94f93
BLAKE2b-256 8fc3d199e26b1dd8b4b2ca8965b4a92928bb8a216662fe54bcd6622a55e09a70

See more details on using hashes here.

File details

Details for the file bmgen-2023.4.0b1-py3-none-any.whl.

File metadata

  • Download URL: bmgen-2023.4.0b1-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for bmgen-2023.4.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 955a224d9b2fd4a77f1ab990cbe9123995ec04aa02578997b5ffea140c2f672a
MD5 a30ecff04a8b08443d6b29246a559a3a
BLAKE2b-256 8d94c994bbe385d89971dc0f0b8fa647834451c682db6d9ea857962b4cb77631

See more details on using hashes here.

Supported by

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