A clean, pythonic, DAG-based C/C++ build system.
Project description
Zero - Super Easy Build System
Zero is a C/C++ build system designed to be as easy as possible to use, without lacking any features. Written in python!
The only reason Zero exists is because I hate CMake syntax.
Usage
First, create a zero.py file in your project root and import zero
from zero import *
Create a Build object named build.
build = Build()
Configure the build object by specifying the compiler and the build directory.
build.compiler = "gcc"
build.directory = "build" # or Path("build") also works!
To create an executable, create an Executable object! Specify the sources an arguments!
main = Executable()
main.source = Source(
"src/main.c",
"src/utils.c" # or Path("src") / "utils.c" also works!
)
main.arguments = "-Wall", "-O3"
And you are done! Yes that's all.
Run the zero cli tool to make your executable.
zero make
A binary named main can now be found at build/bin/main
Installation
Zero is still in its infant stage. Proper installation does not exist. To still install, run:
git clone https://github.com/kxmtkw/Zero.git zero
cd zero
pip install --break-system-packages -e .
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
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 zero_build-0.1.0.tar.gz.
File metadata
- Download URL: zero_build-0.1.0.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
185a310c3b7b306993ff2e6dd96a52dae3aca9ed7439a960173b22d5b46dcc54
|
|
| MD5 |
44c5deda8b9fd526e9c3c56a91c0f470
|
|
| BLAKE2b-256 |
9ac08a39817043771653ba77ea368c7168d67ba8b73adf1be39ccea0f4fc15aa
|
File details
Details for the file zero_build-0.1.0-py3-none-any.whl.
File metadata
- Download URL: zero_build-0.1.0-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
070e2166d4803dc2a885cd3e59d566702cc27dd9812787e5f129621d8e1ae867
|
|
| MD5 |
59472c48d2f18246091a48c8ebcd4a7c
|
|
| BLAKE2b-256 |
7c597ebbe38bce6f59649c1110038bbcd5268b7a9dbb8db0223fdea9a1a89550
|