From b333b06772c89d96aacb5490d6a219fba7c09cc6 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Thu, 12 Feb 2026 20:57:17 +0100 Subject: Engage! --- llama.cpp/examples/simple-cmake-pkg/.gitignore | 50 ++++++++++++++++++++++ llama.cpp/examples/simple-cmake-pkg/CMakeLists.txt | 11 +++++ llama.cpp/examples/simple-cmake-pkg/README.md | 35 +++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 llama.cpp/examples/simple-cmake-pkg/.gitignore create mode 100644 llama.cpp/examples/simple-cmake-pkg/CMakeLists.txt create mode 100644 llama.cpp/examples/simple-cmake-pkg/README.md (limited to 'llama.cpp/examples/simple-cmake-pkg') diff --git a/llama.cpp/examples/simple-cmake-pkg/.gitignore b/llama.cpp/examples/simple-cmake-pkg/.gitignore new file mode 100644 index 0000000..67c01d6 --- /dev/null +++ b/llama.cpp/examples/simple-cmake-pkg/.gitignore @@ -0,0 +1,50 @@ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +*.gguf + +*.log +.DS_Store +.build/ +.cache/ +.direnv/ +.envrc +.swiftpm +.venv +.clang-tidy +.vs/ +.vscode/ + +build*/ +out/ +tmp/ diff --git a/llama.cpp/examples/simple-cmake-pkg/CMakeLists.txt b/llama.cpp/examples/simple-cmake-pkg/CMakeLists.txt new file mode 100644 index 0000000..128e38c --- /dev/null +++ b/llama.cpp/examples/simple-cmake-pkg/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.12) +project(llama-simple-cmake-pkg) + +set(TARGET llama-simple-cmake-pkg) + +find_package(Llama REQUIRED) + +add_executable(${TARGET} ${CMAKE_CURRENT_LIST_DIR}/../simple/simple.cpp) +install(TARGETS ${TARGET} RUNTIME) +target_link_libraries(${TARGET} PRIVATE llama ggml::all ${CMAKE_THREAD_LIBS_INIT}) +target_compile_features(${TARGET} PRIVATE cxx_std_17) 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" +``` -- cgit v1.2.3