An open API service indexing awesome lists of open source software.

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

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*