FASTbuild generator for the helpless
Project description
Zetsubou
FASTbuild project generator for the helpless
High level wrapper around FASTbuild build system, written in python. Generates Visual Studio solution from simple yaml description. Supports Conan package manager. Provides commands for common operations, like setting up dev environment, building or clean (and many more in future).
Currently only Windows and msvc are supported, but clang and Linux are planned.
Install
pip install zetsubou
Development
Local install in editable mode
python -m pip install -e .
Deploy conan generator
deploy_generator.bat
or
conan export zetsubou/zetsubou_conan_toolchain.py --user=bentou --channel=stable
Usage
zetsubou [COMMAND] [PROJECT] [OPTIONS...]
zetsubou regen project.yml --verbose
Commands
- clean - removes all generated build folder and sln
- install - setups virtual environment based on your build_tools.ini
- gen - generates bff files, creates visual studio project and solution
- regen - clean, install and gen in one command
- build - build generated project
- create - (WiP) emit new project from template
Example Project
project.yml
project: MyTest
config:
verbose_build: false
platforms:
- 'platform/windows.yml'
rules:
- 'configurations/MsvcRules.yml'
configurations:
- 'configurations/Debug.yml'
- 'configurations/Release.yml'
config_string: '{platform}-{configuration}-{toolchain}'
conan:
build_tools: build_tools.ini
dependencies: dependencies.ini
targets:
- 'my_app/my_app.yml'
my_app.yml
target: 'MyApp'
config:
kind: EXECUTABLE
source:
paths: 'src'
patterns:
- '*.cpp'
Directory structure
my_project/
├── build/ # generated
│ ├── conan/ # conan dependencies install output
│ ├── fbuild/ # generated fastbuild files (bff)
│ ├── projects/ # generated vcxproj files
│ ├── scripts/ # command scripts
│ └── venv/ # virtual environment, with activate and deactivate scripts
│
├── my_app/
│ ├── src/
│ │ └── main.cpp
│ └── my_app.yml
│
├── my_project.sln # generated
├── build_tools.ini
├── dependencies.ini
└── project.yml
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 zetsubou-0.8.1.tar.gz.
File metadata
- Download URL: zetsubou-0.8.1.tar.gz
- Upload date:
- Size: 66.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4137aa64969dd8b7767a9a26ad1e1dcadcac287f4ffaa55107c9a021418def8f
|
|
| MD5 |
9d48d7b5027e2626a5b8923119f98563
|
|
| BLAKE2b-256 |
7cf88eff01d3e2ec09a344d1331fee2b0f35712178372d123e6078bf8f6654b4
|
File details
Details for the file zetsubou-0.8.1-py3-none-any.whl.
File metadata
- Download URL: zetsubou-0.8.1-py3-none-any.whl
- Upload date:
- Size: 88.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8280097ac2027e6b0fadd92d39ad8ba945a1e317f737252b2aca60d4e51140f
|
|
| MD5 |
6d6c6f6b3373e246461a7ac9d5845085
|
|
| BLAKE2b-256 |
7929629c0efa44c595dee8a4c8035b2c15424b5edec75714641578556065038f
|