{"repo":"EmbeddedEnterprises/cmake-ts","free":true,"listed":false,"github":"https://github.com/EmbeddedEnterprises/cmake-ts","clone":"git clone https://github.com/EmbeddedEnterprises/cmake-ts.git","description":"All in one tool for building and shipping Native node addons","language":"TypeScript","stars":13,"topics":["nodejs","native","addon","node","nan","cmake","build","build-tool","build-system","npm"],"license":null,"category":"workflow-automation","readme_excerpt":"cmake-ts A CMake-based build system for native NodeJS and Electron addons. This project is loosely inspired by cmake-js but attempts to fix several design flaws. It is intended to prebuild addons for different versions of NodeJS and Electron and ship a binary version. Example See zeromq.js for an real-world example of how to use this module. Getting Started Create your CMakeLists.txt file based on the example and run the following command to build your project. cmake-ts can build the projects with built-in configurations that are selected depending on the arguments and the environment. This includes cross-compilation for different architectures, including Windows arm64, Linux arm64, etc. You can cross-compile by specifying the built-in cross configs: Or by specifying the npm config target os and npm config target arch environment variables: CLI Arguments build command: Runtime Addon Loader The runtime addon loader allows you to load the addon for the current runtime during runtime. In ES modules: or in CommonJS: You can pass the types of the addon to the loader to get type safety: Configuration File If not using the named configs in the CLI, you can configure cmake-ts via package.json . This will be more verbose compared to using the CLI directly. You can specify multiple build configurations under the cmake-ts key:","default_branch":null,"files":null,"tree":[],"storefront":"/r/EmbeddedEnterprises","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/EmbeddedEnterprises/cmake-ts/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}