cbt

cbt (C++ Build Tool) is a postmodern build tool intended towards developing applications in C++ effortlessly.

Description

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

Issues & Pull Requests Thread
No issues or pull requests added.