summaryrefslogtreecommitdiff
path: root/llama.cpp/examples/simple-cmake-pkg/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'llama.cpp/examples/simple-cmake-pkg/README.md')
-rw-r--r--llama.cpp/examples/simple-cmake-pkg/README.md35
1 files changed, 35 insertions, 0 deletions
diff --git a/llama.cpp/examples/simple-cmake-pkg/README.md b/llama.cpp/examples/simple-cmake-pkg/README.md
new file mode 100644
index 0000000..0cabc2e
--- /dev/null
+++ b/llama.cpp/examples/simple-cmake-pkg/README.md
@@ -0,0 +1,35 @@
+# 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/ggml-org/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/ggml-org/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"
+```