From 49eaf6bc452e3a01c67aee461edcd637867fceb6 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Fri, 14 Jun 2024 16:58:35 -0400 Subject: [PATCH] xo-jit: + README --- README.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..e2c4cbb3 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# xo-jit library + +A library for representing abstract syntax trees for EGAD (a small jit-based language). + +## Getting Started + +### build + install `xo-cmake` dependency + +- [github/Rconybea/xo-cmake](https://github.com/Rconybea/xo-cmake) + +Installs a few cmake ingredients, along with a build assistant `xo-build` for XO projects such as this one. + +### build + install other necessary XO dependencies +``` +$ xo-build --clone --configure --build --install xo-indentlog +$ xo-build --clone --configure --build --install xo-refnct +$ xo-build --clone --configure --build --install xo-subsys +$ xo-build --clone --configure --build --install xo-reflect +$ xo-build --clone --configure --build --install xo-expression +``` + +Note: can use `xo-build -n` to dry-run here + +### copy `xo-jit` repository locally +``` +$ xo-build --clone xo-jit +``` + +or equivalently +``` +$ git clone git@github.com:Rconybea/xo-jit.git +``` + +### build + install xo-jit +``` +$ xo-build --configure --build --install xo-jit +``` + +or equivalently: +``` +$ PREFIX=/usr/local # or wherever you prefer +$ cmake -DCMAKE_INSTALL_PREFIX=${PREFIX} -S xo-jit -B xo-jit/.build +$ cmake --build xo-jit/.build +$ cmake --install xo-jit/.build +``` + +### build for unit test coverage +``` +$ cmake -DCMAKE_BUILD_TYPE=coverage -DCMAKE_INSTALL_PREFIX=$PREFIX xo-jit/.build-ccov +$ cmake --build xo-jit/.build-ccov +``` + +### LSP support +``` +$ cd xo-jit +$ ln -s build/compile_commands.json # lsp will look for compile_commands.json in the root of the source tree +```