https://github.com/bezarhere/pygnu
Project manager & builder for GCC
https://github.com/bezarhere/pygnu
build-tool c cpp gcc gcc-builds gcc-complier
Last synced: about 2 months ago
JSON representation
Project manager & builder for GCC
- Host: GitHub
- URL: https://github.com/bezarhere/pygnu
- Owner: BezarHere
- License: apache-2.0
- Created: 2024-01-22T07:48:55.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-16T12:26:41.000Z (about 2 years ago)
- Last Synced: 2025-03-09T05:54:52.472Z (over 1 year ago)
- Topics: build-tool, c, cpp, gcc, gcc-builds, gcc-complier
- Language: Python
- Homepage:
- Size: 45.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pygnu
Project manager & builder for GCC
*please star pygnu, it really help*
## arguments
### new
creates a new project is the working directory if not other directory path is given
### build
builds the project in the working or directory (`pygnu.json`) if not other directory path is given
### help
the `help` initiates a video call with *alex & teather*, also shows the descriptions and uses of other commands/flags
## multiple build configurations
you can specify the build configuration ('mode') by passing -M\ (a single argument, can use quots for spaces)
not specifying the build mode will default to `debug`; if there is no build mode of name `debug`, an error message will be displayed
## pygnu.json?
the project metadata as a json file (subject to change)
self documented, easy to understand:
```json
{
"output_dir": ".",
"output_cache_dir": ".",
"output_name": "output",
"source_selectors": [
"**/*.c",
"**/*.cpp",
"**/*.cc",
"**/*.cxx"
],
"build_configurations": {
"debug": {
"predefines": {
"_DEBUG": null
},
"optimization_lvl": 2,
"optimization_type": 2,
"standard": "c17",
"warning_level": 2,
"warning_pedantic": false,
"print_includes": false,
"catch_typos": true,
"exit_on_errors": true,
"dynamicly_linkable": true,
"print_stats": true,
"simd_type": "sse",
"include_dirs": [],
"lib_dirs": [],
"lib_names": [],
"assempler_args": [],
"linker_args": [],
"preprocessor_args": []
},
"release": {
"predefines": {
"NDEBUG": null,
"_RELEASE": null
},
"optimization_lvl": 4,
"optimization_type": 4,
"standard": "c17",
"warning_level": 2,
"warning_pedantic": false,
"print_includes": false,
"catch_typos": true,
"exit_on_errors": true,
"dynamicly_linkable": true,
"print_stats": true,
"simd_type": "sse",
"include_dirs": [],
"lib_dirs": [],
"lib_names": [],
"assempler_args": [],
"linker_args": [],
"preprocessor_args": []
}
}
}
```
### NOTES
1. pygnu is in early development, so you might see a bug here and there
2. C/C++ are the most supported, others can build but it might be hassle
---
*masha'a alah*