Skip to content

Latest commit

 

History

History
81 lines (65 loc) · 2.54 KB

README.md

File metadata and controls

81 lines (65 loc) · 2.54 KB

clp-ffi-js is a JavaScript FFI library for CLP. It currently supports decoding log events from CLP IR streams. Other CLP features are being added incrementally.

You can use GitHub issues to request features or report bugs.

Building

Requirements

  • CMake 3.16 or higher
  • GNU Make
  • Python 3
  • Task 3.38.0 or higher

Setup

Initialize and update submodules:

git submodule update --init --recursive

Common build commands

To build the project:

task

To clean the build:

task clean

Contributing

Follow the steps below to develop and contribute to the project.

Set up

Before opening the project in an IDE, run the commands below.

Download and install emscripten:

task emsdk

Set up the config files for our C++ linting tools:

task lint:cpp-configs

Linting

Before submitting a pull request, ensure you’ve run the linting commands below and either fixed any violations or suppressed the warning.

To run all linting checks:

task lint:check

To run all linting checks AND automatically fix any fixable issues:

task lint:fix

Running specific linters

The commands above run all linting checks, but for performance you may want to run a subset (e.g., if you only changed C++ files, you don't need to run the YAML linting checks) using one of the tasks in the table below.

Task Description
lint:cpp-check Runs the C++ linters (formatters and static analyzers).
lint:cpp-fix Runs the C++ linters and fixes some violations.
lint:cpp-format-check Runs the C++ formatters.
lint:cpp-format-fix Runs the C++ formatters and fixes some violations.
lint:cpp-static-check Runs the C++ static analyzers.
lint:cpp-static-fix Runs the C++ static analyzers and fixes some violations.
lint:yml-check Runs the YAML linters.
lint:yml-fix Runs the YAML linters and fixes some violations.