A lightweight Lua-based build engine that interprets dependency rules for cross-platform compilation and automation.
Lake is a Lua-based build engine that interprets dependency rules to automate compilation and other tasks. It serves as a lightweight alternative to traditional build tools like make, offering cross-platform support for C/C++ compilers and specialized features for building Lua extensions. The tool focuses on direct dependency evaluation without generating intermediate makefiles.
Developers working with Lua or C/C++ projects who need a portable, scriptable build system. It's particularly useful for those building cross-platform applications or Lua extensions.
Lake stands out due to its small size, embedded Lua DSL for flexibility, and native support for both GCC and Visual C++ compilers. Unlike makefile generators, it directly interprets dependencies, simplifying build logic and reducing overhead.
A Lua-based Build Tool
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
At about 70K of pure Lua code, Lake is highly portable and can be easily embedded in projects, as highlighted in the README for its small footprint.
Lake natively supports both GCC and Microsoft Visual C++ compilers, enabling seamless builds on Unix and Windows without additional configuration.
It provides specialized rules for building C/C++ extensions for Lua, simplifying the process for developers working with Lua modules.
As an embedded DSL, Lake allows full use of Lua's functionality within lakefiles, offering high flexibility in scripting build and automation tasks.
Lake is primarily focused on C/C++ and Lua; it lacks built-in rules for other programming languages, requiring custom scripting for broader use.
The project was last updated in 2013 and has a small community, meaning it misses modern features like parallel builds or extensive plugins compared to tools like CMake.
Lake requires LuaFileSystem for file operations, adding an external dependency that can complicate setup in environments where it's not readily available.
Lake is an open-source alternative to the following products: