BUSY
xmake
BUSY | xmake | |
---|---|---|
24 | 166 | |
80 | 9,371 | |
- | 5.9% | |
3.7 | 10.0 | |
about 1 year ago | about 20 hours ago | |
C | Lua | |
GNU General Public License v3.0 only | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BUSY
-
Xz Backdoor and Autotools Insanity
CMake - as autotools - is a meta build system; it e.g. generates make files, which are essentially scripts. Also CMake itself is essentially a VM with a scripting language. Both CMake and Make are Turing complete (and dynamically typed, as mentioned). And yes, not all build systems are the same; e.g. https://github.com/rochus-keller/BUSY has a statically typed specification language and intentionally avoids a Turing complete language.
-
New build system for C/C++
> Have you coded the lexer/parser from scratch
Yes. Here is the lexer: https://github.com/rochus-keller/BUSY/blob/main/bslex.c
and here is the parser: https://github.com/rochus-keller/BUSY/blob/main/bsparser.c
and here is the specification: http://software.rochus-keller.ch/busy_spec.html
I also developed and checked the EBNF in parallel using my EbnfStudio tool; this tool could also generate a parser, but since I'm using much of the Lua VM infrastructure a manual parser implementation was more straight-forward .
- What should be used to build the CPython of tomorrow?
- A simple shell based build tool for C/C++
-
Knit: Making a Better Make
If you haven't seen it: https://github.com/rochus-keller/BUSY
> BUSY is a lean, statically typed, cross-platform, easily bootstrappable build system for GCC, CLANG and MSVC inspired by Google GN
It uses lua and config files that are mostly directories and filenames.
-
Using Qt 6 under LGPLv3
> Instead of qmake the BUSY build system (see https://github.com/rochus-keller/BUSY) is used
It must be a rite of passage to make(!) one's own build system, damn
- BUSY lean build system with new Qmake backend
- Show HN: Busy build system now has a Qmake back end
- New BUSY build system, MVP release
xmake
- Xmake: A modern C/C++ build tool
- Cpp2 and cppfront – An experimental 'C++ syntax 2' and its first compiler
- An Introduction to Modern CMake
-
How to Structure C Projects: These Best Practices Worked for Me
In recent times I prefer Xmake[0] to CMake.
[0] https://xmake.io
- xmake: Fast and lightweight build tools with dependency package integration
- Xmake v2.8.5 released, Support for link sorting and unit testing
- Xmake v2.8.3 Released, Improve Wasm and Support Xmake Source Debugging
- Xmake v2.8.2 Released, Official package repository count over 1k
What are some alternatives?
scratch - Personal scratch code
meson - The Meson Build System
remake - Enhanced GNU Make - tracing, error reporting, debugging, profiling and more
cmake-init - The missing CMake project initializer
shellb - Simple Shell based build tool
conan - Conan - The open-source C and C++ package manager
GnTools - GN meta-build system parser, static code model and navigable code browser
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
gtec-demo-framework
ninja - a small build system with a focus on speed
nappgui - SDK for building cross-platform desktop apps in ANSI-C
wxWidgets - Cross-Platform C++ GUI Library