|
# llama.cpp/example/main-cmake-pkg |
|
|
|
This program builds [llama-cli](../main) 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, etc.), CMake must be able to locate the associated CMake package. |
|
|
|
### Build llama.cpp and install to C:\LlamaCPP directory |
|
|
|
```cmd |
|
git clone https://github.com/ggerganov/llama.cpp |
|
cd llama.cpp |
|
cmake -B build -DBUILD_SHARED_LIBS=OFF -G "Visual Studio 17 2022" -A x64 |
|
cmake --build build --config Release |
|
cmake --install build --prefix C:/LlamaCPP |
|
``` |
|
|
|
### Build llama-cli-cmake-pkg |
|
|
|
|
|
```cmd |
|
cd ..\examples\main-cmake-pkg |
|
cmake -B build -DBUILD_SHARED_LIBS=OFF -DCMAKE_PREFIX_PATH="C:/LlamaCPP/lib/cmake/Llama" -G "Visual Studio 17 2022" -A x64 |
|
cmake --build build --config Release |
|
cmake --install build --prefix C:/MyLlamaApp |
|
``` |
|
|