build system written in python for projects in C and C++
Project description
burn-build 🚀
build system written in python for projects in C and C++
Explore the docs »
Getting Started
·
Basic Usage
·
License
🚀 Getting Started
burn-build is available on PyPI. Simply install the package into your project environment with PIP:
pip install pyburn_build
Once installed, you can start using the library in your Python projects.
💻 Usage Examples
Create project_config.json:
{
"metadata": {
"name": "Example",
"version": "0.1.0",
"description": "Hello World app",
"language": "cpp",
"use_cmake": false,
"cache_file": "cache.json",
"features": ["pyechonext"]
},
"compiler": {
"name": "g++",
"base_compiler_flags": ["-Wall"]
}
}
Create toolchain_config.json:
{
"prelude_commands": [],
"targets": {
"target1": {
"compiler_options": ["-O2", "-pedantic"],
"sources": ["src/main.c"],
"output": "out/target1.out",
"includes": [],
"objects": [],
"compiler": "gcc"
},
"target2": {
"compiler_options": ["-O3", "-pedantic"],
"sources": ["src/main2.cpp"],
"output": "out/target2.out",
"includes": [],
"objects": []
}
},
"post_commands": []
}
And create project:
python3 -m pyburn_build create --project-config example_configs/project_config.json --toolchain-config example_configs/toolchain_config.json
And build project:
python3 -m pyburn_build build --project-config example_configs/project_config.json --toolchain-config example_configs/toolchain_config.json
Specification
Project
Basic project information
Metadata
Meta information and other general characteristics of the project.
- name - project name
- version - project version
- description - short project description
- language - main project language
- use_cmake - use cmake flag (experimental)
- cache_file - path to cache json file
- features - list of enabled features (supported: pyechonext)
Compiler
Information about the compiler, basic flags.
- name - main compiler name
- base_compiler_flags - list of compiler flags
Toolchain
Setting up tools, build chain, commands.
- prelude_commands - Commands to execute before build
- post_commands - Commands to execute after build
- targets - dict with targets
Targets
Targets list
- compiler_options - additional compiler flags
- sources - list with sources for target
- output - output filename
- includes - include-files (C/C++)
- objects - .o files
- compiler - compiler command
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
File details
Details for the file pyburn_build-0.3.7.tar.gz
.
File metadata
- Download URL: pyburn_build-0.3.7.tar.gz
- Upload date:
- Size: 22.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.7 Linux/6.11.5-2-cachyos
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53ec77f9f91b0b799b947c515e0a6f605f0cab10a8adfda9590713b695c9cecf |
|
MD5 | d98c3a5f9e9451d92b7ae3a364e23a0d |
|
BLAKE2b-256 | 3102507f49fbd76d8a4e5177a059a995dfe207dfb943861ed57fc666b379fddb |
File details
Details for the file pyburn_build-0.3.7-py3-none-any.whl
.
File metadata
- Download URL: pyburn_build-0.3.7-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.7 Linux/6.11.5-2-cachyos
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3b454c7981eb507c5d16fa2292813c30d3322a71942b430cffc71bc4e9c732c |
|
MD5 | 6751cf6702105ba08f1bed0258eab065 |
|
BLAKE2b-256 | 53371c0bac6b2e1b8bdd806e49875cb7539ed739c04771a9fecfef34e5e5e735 |