mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-06-26 11:45:21 +00:00
52 lines
1.7 KiB
YAML
52 lines
1.7 KiB
YAML
name: Build relocatable cmake package
|
|
on:
|
|
workflow_dispatch:
|
|
workflow_call:
|
|
|
|
jobs:
|
|
linux:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y build-essential tcl
|
|
|
|
- name: Build
|
|
run: |
|
|
PREFIX="$(pwd)"/inst
|
|
cmake -S . -B build -DCMAKE_PREFIX_PATH="$PREFIX" \
|
|
-DLLAMA_CURL=OFF -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_TOOLS=OFF \
|
|
-DLLAMA_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build --config Release
|
|
cmake --install build --prefix "$PREFIX" --config Release
|
|
|
|
export LLAMA_CONFIG="$PREFIX"/lib/cmake/llama/llama-config.cmake
|
|
tclsh <<'EOF'
|
|
set build(commit) [string trim [exec git rev-parse --short HEAD]]
|
|
set build(number) [string trim [exec git rev-list --count HEAD]]
|
|
set build(version) "0.0.$build(number)"
|
|
|
|
set llamaconfig [read [open "$env(LLAMA_CONFIG)" r]]
|
|
set checks [list "set\\(LLAMA_VERSION \\s+$build(version)\\)" \
|
|
"set\\(LLAMA_BUILD_COMMIT\\s+$build(commit)\\)" \
|
|
"set\\(LLAMA_BUILD_NUMBER\\s+$build(number)\\)"]
|
|
|
|
puts -nonewline "Checking llama-config.cmake version... "
|
|
foreach check $checks {
|
|
if {![regexp -expanded -- $check $llamaconfig]} {
|
|
puts "\"$check\" failed!"
|
|
exit 1
|
|
}
|
|
}
|
|
puts "success."
|
|
EOF
|
|
|
|
cd examples/simple-cmake-pkg
|
|
cmake -S . -B build -DCMAKE_PREFIX_PATH="$PREFIX"/lib/cmake
|
|
cmake --build build
|