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.txt
ln -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 show
show active project namebuilds.py project rename [-p projectname] newprojectname
rename a project or a current project with a new namebuilds.py add filename
add a filebuilds.py add --interactive
add files interactivelybuilds.py remove filename
remove a filebuilds.py add-library libraryname [--path librarypath]
add a library and/or a library pathbuilds.py add-include includepath
add a include pathbuilds.py add-shared-library sharedlibrary [--path sharedlibrarypath]
add a shared library and/or runtime shared library pathbuilds.py settings print
print the current settings as json to the stdout