A new way to build, test and distribute your C/C++ projects and libraries.
litemake is a cross-platform CLI that aims to simplify the building, testing and distribution process of your C/C++ code.
By configuration a simple package.litemake.toml
file, litemake will be able to automatically:
- Download required dependencies and build you project
- Build only changed files to reduce compile time (similar to Make)
- Build and run your tests
- And more!
With additional (simple and short) configuration files like settings.litemake.toml
and package.litemake.toml
you will be able to publish your package or project, and make it avaliable to other users and developers.
There is a common phrase among the C/C++ developer community: "(The convention) doesn't matter, just be consistent" 1. I however, strongly believe that a good convention is one that allows the developer to implement whatever he wants, but also allows others easily understand the intensions of the former. A good convention won't limit the developer, but will guide him.
Other programming languages (mostly high-level ones like Python or JavaScript), have established package managers, build systems, and other tools to distribute your code, all all of that as a part of the programming language itself. Those tools allow developers to publish and download, build or install their package/library/project using a single command. Furthermore, developers can use other dependencies in their projects, and use other tools to improve their development including testing environments for example.
litemake aims to bring the described above to the C/C++ community. By writing a simple configuration file package.litemake.toml
and placing it in your project's root directory, users will be able to download all required dependencies, build and install your application just by using one command: litemake
.
Furthermore, with tools like [nanotest] you will be able to automatically build and run your tests. The sky is really the limit!
Currently, supporting multiple platforms is not our main focus. Litemake is mainly designed for the Linux operation system and the Gnu compiler collection (GCC, G++). However, litemake is not designed to work only on Linux with those compilers, and thus it works on Windows, MacOS and with the Clang compiler family. That means that it is possible to run litemake with those compilers and on those systems, however you may encounter some errors and it is not recommended.