cbt (C++ Build Tool) is a postmodern build tool intended towards developing applications in C++ effortlessly.
cbt or "C++ Build Tool" is a postmodern build tool intended towards developing applications in C++ effortlessly. It is similar in spirit to npm and package.json, except it is more about making software development with C++ more approachable to beginners and seasoned developers alike; and equally not raising C++ to such higher abstraction language(s) like Java, C#, etc.
cbt is a very simple build tool made from first principles:
Entirely command driven, e.g. cbt create-application my_app, cbt create-library my_lib, cbt create-file some_module/some_util
Simple commands to compile, test and build the project
Native support for timestamp-aware compilation and testing without any extra involvement/effort from developer's end
Simple, intuitive and maintainable project configuration through project.cfg
Unlike an npm project, ensure that all projects created with cbt strictly have the same directory structure
Automatically create proper scaffold upon invocation of cbt create-file <file_name> (descriptions given below), and thereby reduce cognitive load
First-class (and type-safe) support for env file(s)
Decentralised dependency management via cbt resolve-dependencies
Unobtrusive and transparent cbt_tools offered to bring quality-of-life improvements as well as enable flexible customisation(s) as per project requirements