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 bmgenorpython3 -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.
- First import the
clangcommand:
from bmgen.commands.clang import clang
- Then set the output directory -- which will also instantly get created -- and tell the
clangcommand to create it's object directory inside the output directory:
inst.set_output_dir('bin')
clang.update_object_dir()
- 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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
954456c90a1d70dc1731b2021e29639b2750543a59312feecaf2ba97628176b4
|
|
| MD5 |
91e6adf2aab88599906d8c67b7b94f93
|
|
| BLAKE2b-256 |
8fc3d199e26b1dd8b4b2ca8965b4a92928bb8a216662fe54bcd6622a55e09a70
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
955a224d9b2fd4a77f1ab990cbe9123995ec04aa02578997b5ffea140c2f672a
|
|
| MD5 |
a30ecff04a8b08443d6b29246a559a3a
|
|
| BLAKE2b-256 |
8d94c994bbe385d89971dc0f0b8fa647834451c682db6d9ea857962b4cb77631
|