mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2025-01-30 22:03:03 +01:00
19f65187cb
* Add initial ggml cmake package * Add build numbers to ggml find-package * Expand variables with GGML_ prefix * Guard against adding to cache variable twice * Add git to msys2 workflow * Handle ggml-cpu-* variants * Link ggml/ggml-base libraries to their targets * Replace main-cmake-pkg with simple-cmake-pkg * Interface features require c_std_90 * Fix typo * Removed unnecessary bracket from status message * Update examples/simple-cmake-pkg/README.md Co-authored-by: Georgi Gerganov <ggerganov@gmail.com> * Update examples/simple-cmake-pkg/README.md Co-authored-by: Georgi Gerganov <ggerganov@gmail.com> --------- Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
# llama.cpp/example/simple-cmake-pkg
|
|
|
|
This program builds [simple](../simple) using a relocatable CMake package. It serves as an example of using the `find_package()` CMake command to conveniently include [llama.cpp](https://github.com/ggerganov/llama.cpp) in projects which live outside of the source tree.
|
|
|
|
## Building
|
|
|
|
Because this example is "outside of the source tree", it is important to first build/install llama.cpp using CMake. An example is provided here, but please see the [llama.cpp build instructions](../..) for more detailed build instructions.
|
|
|
|
### Considerations
|
|
|
|
When hardware acceleration libraries are used (e.g. CUDA, Metal, Vulkan, etc.), the appropriate dependencies will be searched for automatically. So, for example, when finding a package
|
|
|
|
### Build llama.cpp and install to llama.cpp/inst
|
|
|
|
```sh
|
|
git clone https://github.com/ggerganov/llama.cpp
|
|
cd llama.cpp
|
|
cmake -S . -B build
|
|
cmake --build build
|
|
cmake --install build --prefix inst
|
|
|
|
### Build simple-cmake-pkg
|
|
|
|
```sh
|
|
cd examples/simple-cmake-pkg
|
|
cmake -S . -B build -DCMAKE_PREFIX_PATH=../../inst/lib/cmake
|
|
cmake --build build
|
|
```
|
|
|
|
### Run simple-cmake-pkg
|
|
|
|
```sh
|
|
./build/llama-simple-cmake-pkg -m ./models/llama-7b-v2/ggml-model-f16.gguf "Hello my name is"
|
|
```
|