A CLI project building tool.
I was fed up with current C++ building tools, so I created my own. I borrowed the interface from Git so it would be somewhat familiar for everyone to use.
Not production ready yet. You can test the tool with the example usage below.
$ builds add hello.cpp
Builds not initialized. Do you want to initialize a new builds file in the current directory? (y/N) y
+ hello.cpp
Added 1 file(s)
$ builds project rename hello
$ builds add-library memmanage -p libs
+ path libs
+ memmanage
$ builds build
compile hello.cpp
build hello
$ ./hello
Hello, world!
- Python 3.5 or newer
- Clone the repo
pip install -r requirements.txtln -s /path/to/builds.py /usr/local/bin/builds- Try the example usage with a hello.cpp of your own
- Manage projects
- Manage C++ project files
- Build C++ projects
- Add include paths
- Add libraries and paths
- Add shared libraries and paths
- Modular support for multiple project types (i.e. other than C++)
- Watch project files and run specific build steps on them
- Python 3.4 support
- Manage project folder structure
- Import make or cmake files
- Export make or cmake files
- Support for older versions of python
With a lack of better documentation, here are some commands:
builds.py build [--rebuild] [--verbose] [--jobs n] [--run] [--target release] [projectname]build current or named projectbuilds.py project showshow active project namebuilds.py project rename [-p projectname] newprojectnamerename a project or a current project with a new namebuilds.py add filenameadd a filebuilds.py add --interactiveadd files interactivelybuilds.py remove filenameremove a filebuilds.py add-library libraryname [--path librarypath]add a library and/or a library pathbuilds.py add-include includepathadd a include pathbuilds.py add-shared-library sharedlibrary [--path sharedlibrarypath]add a shared library and/or runtime shared library pathbuilds.py settings printprint the current settings as json to the stdout