Name | zetsubou JSON |
Version |
0.8.1
JSON |
| download |
home_page | |
Summary | FASTbuild generator for the helpless |
upload_time | 2024-02-11 13:19:54 |
maintainer | |
docs_url | None |
author | BentouDev |
requires_python | >=3.7 |
license | |
keywords |
fastbuild
c++
cpp
c/c++
developer
tool
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Zetsubou
[![CI (ubuntu-latest)](https://github.com/BentouDev/Zetsubou/actions/workflows/python-ci.yml/badge.svg)](https://github.com/BentouDev/Zetsubou/actions/workflows/python-ci.yml) [![PyPI version](https://badge.fury.io/py/zetsubou.svg)](https://badge.fury.io/py/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
```cmd
zetsubou [COMMAND] [PROJECT] [OPTIONS...]
```
```cmd
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
```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
```yml
target: 'MyApp'
config:
kind: EXECUTABLE
source:
paths: 'src'
patterns:
- '*.cpp'
```
### Directory structure
```ini
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
```
Raw data
{
"_id": null,
"home_page": "",
"name": "zetsubou",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "fastbuild,C++,cpp,C/C++,developer,tool",
"author": "BentouDev",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/7c/f8/8eff01d3e2ec09a344d1331fee2b0f35712178372d123e6078bf8f6654b4/zetsubou-0.8.1.tar.gz",
"platform": null,
"description": "# Zetsubou\n\n[![CI (ubuntu-latest)](https://github.com/BentouDev/Zetsubou/actions/workflows/python-ci.yml/badge.svg)](https://github.com/BentouDev/Zetsubou/actions/workflows/python-ci.yml) [![PyPI version](https://badge.fury.io/py/zetsubou.svg)](https://badge.fury.io/py/zetsubou)\n\n### FASTbuild project generator for the helpless\n\nHigh 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).\n\n_Currently only Windows and msvc are supported, but clang and Linux are planned._\n\n\n---\n\n## Install\n```\npip install zetsubou\n```\n\n### Development\nLocal install in editable mode\n```\npython -m pip install -e .\n```\nDeploy conan generator\n```\ndeploy_generator.bat\n```\nor\n```\nconan export zetsubou/zetsubou_conan_toolchain.py --user=bentou --channel=stable\n```\n\n## Usage\n```cmd\nzetsubou [COMMAND] [PROJECT] [OPTIONS...]\n```\n\n```cmd\nzetsubou regen project.yml --verbose\n```\n\n## Commands\n- clean - removes all generated build folder and sln\n- install - setups virtual environment based on your build_tools.ini\n- gen - generates bff files, creates visual studio project and solution\n- regen - clean, install and gen in one command\n- build - build generated project\n- create - (WiP) emit new project from template\n\n---\n\n## Example Project\n### project.yml\n```yml\nproject: MyTest\n\nconfig:\n verbose_build: false\n platforms:\n - 'platform/windows.yml'\n rules:\n - 'configurations/MsvcRules.yml'\n configurations:\n - 'configurations/Debug.yml'\n - 'configurations/Release.yml'\n config_string: '{platform}-{configuration}-{toolchain}'\n\nconan:\n build_tools: build_tools.ini\n dependencies: dependencies.ini\n\ntargets:\n - 'my_app/my_app.yml'\n```\n\n### my_app.yml\n```yml\ntarget: 'MyApp'\n\nconfig:\n kind: EXECUTABLE\n\nsource:\n paths: 'src'\n patterns:\n - '*.cpp'\n```\n\n### Directory structure\n```ini\nmy_project/\n\u251c\u2500\u2500 build/ # generated\n\u2502 \u251c\u2500\u2500 conan/ # conan dependencies install output\n\u2502 \u251c\u2500\u2500 fbuild/ # generated fastbuild files (bff)\n\u2502 \u251c\u2500\u2500 projects/ # generated vcxproj files\n\u2502 \u251c\u2500\u2500 scripts/ # command scripts\n\u2502 \u2514\u2500\u2500 venv/ # virtual environment, with activate and deactivate scripts\n\u2502\n\u251c\u2500\u2500 my_app/\n\u2502 \u251c\u2500\u2500 src/\n\u2502 \u2502 \u2514\u2500\u2500 main.cpp\n\u2502 \u2514\u2500\u2500 my_app.yml\n\u2502\n\u251c\u2500\u2500 my_project.sln # generated\n\u251c\u2500\u2500 build_tools.ini\n\u251c\u2500\u2500 dependencies.ini\n\u2514\u2500\u2500 project.yml\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "FASTbuild generator for the helpless",
"version": "0.8.1",
"project_urls": {
"Homepage": "https://github.com/BentouDev/Zetsubou"
},
"split_keywords": [
"fastbuild",
"c++",
"cpp",
"c/c++",
"developer",
"tool"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7929629c0efa44c595dee8a4c8035b2c15424b5edec75714641578556065038f",
"md5": "6d6c6f6b3373e246461a7ac9d5845085",
"sha256": "d8280097ac2027e6b0fadd92d39ad8ba945a1e317f737252b2aca60d4e51140f"
},
"downloads": -1,
"filename": "zetsubou-0.8.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6d6c6f6b3373e246461a7ac9d5845085",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 88023,
"upload_time": "2024-02-11T13:19:51",
"upload_time_iso_8601": "2024-02-11T13:19:51.480933Z",
"url": "https://files.pythonhosted.org/packages/79/29/629c0efa44c595dee8a4c8035b2c15424b5edec75714641578556065038f/zetsubou-0.8.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7cf88eff01d3e2ec09a344d1331fee2b0f35712178372d123e6078bf8f6654b4",
"md5": "9d48d7b5027e2626a5b8923119f98563",
"sha256": "4137aa64969dd8b7767a9a26ad1e1dcadcac287f4ffaa55107c9a021418def8f"
},
"downloads": -1,
"filename": "zetsubou-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "9d48d7b5027e2626a5b8923119f98563",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 66304,
"upload_time": "2024-02-11T13:19:54",
"upload_time_iso_8601": "2024-02-11T13:19:54.184455Z",
"url": "https://files.pythonhosted.org/packages/7c/f8/8eff01d3e2ec09a344d1331fee2b0f35712178372d123e6078bf8f6654b4/zetsubou-0.8.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-11 13:19:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "BentouDev",
"github_project": "Zetsubou",
"github_not_found": true,
"lcname": "zetsubou"
}