Awesome
rez: C/C++ task runner
`_~----====-.
\ <.+|*-*| '
/&( ``
\3
SUMMARY
rez runs C/C++ tasks.
Where other runners depend on managing secondary DSL's, rez collapses the software stack. Implement your build scripts in the same language as your application.
Maximize expressiveness, minimize bloat.
DEMO
$ cd examples/athena
$ rez
... * . _ .
* . * . * (_) *
. |* .. * ..
. * \| * ___ . . *
* \/ |/ \/{0,Q} .
_\_\ | / /) )* _/_ *
\ \| /,--"-"--- ..
_-----` |(,__,__/__/_ .
\ || ..
||| . *
|||
|||
, -=-~' .-^- _
Must be expensive.
See the full TUTORIAL.md.
ABOUT
rez allows developers to write build tasks in pure C/C++ code. This streamlines software builds. For example, common shell-outs to rm
/ del
... become std::filesystem::remove_all
in C++. As you migrate from shell scripts to native code, you are rewarded with faster, more reliable builds.
rez is build tool agnostic. rez simply wraps your traditional build tool of choice. For example, rez tasks can invoke direct compiler commands like gcc
, or invoke an underlying build tool like cmake
, make
, ./configure
, msbuild
, etc.
DOCUMENTATION
https://mcandre.github.io/rez/
DOWNLOAD
https://github.com/mcandre/rez/releases
LICENSE
BSD-2-Clause
RUNTIME REQUIREMENTS
- a C/C++ compiler
rez is regularly tested for cross-platform support on Linux, macOS, and Windows.
Recommended
- direnv / posh-direnv
- cmake 3+
- make or ninja
CONTRIBUTING
For information about developing rez itself, see DEVELOPMENT.md.
SEE ALSO
- batsch, a preprocessing language that compiles to bash and MS-DOS bat files (somewhat defunct)
- beltaloada, a guide to writing build systems for (POSIX) sh
- booty for JS/Node.js/altJS
- cling, a C++ interpreter
- cmake, a preiminent cross-platform build system
- dale, a D task runner
- ejm98 for Athena's prior artwork
- GNU autotools, a build system for Linux C/C++ projects
- Gradle, a build system for JVM projects
- jelly, a JSON task runner
- lake, a Lua task runner
- Leiningen + lein-exec, a Clojure task runner
- lichen, a sed task runner
- Mage, a task runner for Go projects
- mian, a task runner for (Chicken) Scheme Lisp
- npm, Grunt, Node.js task runners
- nobuild, another freeform C/C++ task runner
- POSIX make, a task runner standard for C/C++ and various other software projects
- Rake, a task runner for Ruby projects
- Rebar3, a build system for Erlang projects
- Not to be confused with Rezz, the DJ
- sail, a fast C/C++ source file identifier
- sbt, a build system for Scala projects
- Shake, a preiminent Haskell task runner
- stank, a collection of POSIX-y shell script linter tools
- tinyrick, a Rust task runner
- WSL / Cygwin / MinGW / MSYS2 / Git Bash / Strawberry Perl provide shims for many GNU/Linux components on Windows hosts
- yao, a task runner for Common LISP projects
Generate and retire artifacts, like so many tears in the rain...