Project manager & builder for GCC
please star pygnu, it really help
creates a new project is the working directory if not other directory path is given
builds the project in the working or directory (pygnu.json
) if not other directory path is given
the help
initiates a video call with alex & teather, also shows the descriptions and uses of other commands/flags
you can specify the build configuration ('mode') by passing -M<build config name> (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
the project metadata as a json file (subject to change) self documented, easy to understand:
{
"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": []
}
}
}
- pygnu is in early development, so you might see a bug here and there
- C/C++ are the most supported, others can build but it might be hassle
masha'a alah