llama.cpp/examples/simple-cmake-pkg
Daniel Bevenius 817d743cc1
examples : add missing code block end marker [no ci] (#17756)
This commit adds the missing code block end marker in simple-cmake-pkg
to correct the formatting.
2025-12-04 14:17:30 +01:00
..
.gitignore cmake: add ggml find package (#11369) 2025-01-26 12:07:48 -04:00
CMakeLists.txt cmake: add ggml find package (#11369) 2025-01-26 12:07:48 -04:00
README.md examples : add missing code block end marker [no ci] (#17756) 2025-12-04 14:17:30 +01:00

README.md

llama.cpp/example/simple-cmake-pkg

This program builds simple using a relocatable CMake package. It serves as an example of using the find_package() CMake command to conveniently include 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

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

cd examples/simple-cmake-pkg
cmake -S . -B build -DCMAKE_PREFIX_PATH=../../inst/lib/cmake
cmake --build build

Run simple-cmake-pkg

./build/llama-simple-cmake-pkg -m ./models/llama-7b-v2/ggml-model-f16.gguf "Hello my name is"