feat: use cmake instead of node-gyp
#37
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of change
Use
cmakeviacmake-jsto buildllama.cppfrom source instead ofnode-gyp.cmake-jshas multiple advantages overnode-gypfornode-llama-cpp:llama.cppitself usescmake, so usingcmakehere will be better align withllama.cppand will be able to support all of its featurescmakedoesn't use python, so there won't be any need to mess with python installations anymore just to compilellama.cppfrom sourcecmakehas less dependencies, thus making it more practical to usecmakeis not installed on the local machine, thecmakebinary will be downloaded to an internal directory sonode-llama-cppcan use it without even having it installed.Since the dependencies of
node-gypcover the dependencies ofcmake, and this PR fallbacks to downloadingcmakein case it's not installed on the user's machine, this is not a breaking change, the version ofnode-llama-cppcan be bumped by only a minor version.Pull-Request Checklist
masterbranchnpm run formatto apply prettier formattingnpm run testpasses with this changeFixes #0000