koboldcpp/cmake
Daniel Bevenius 680a9ae63d
cmake : introduce semantic versioning (#26839)
* cmake : introduce semantic versioning (wip)

This commit introduces semantic versioning to llama.cpp.

* squash! cmake : introduce semantic versioning (wip)

* cmake : update test-cmake README notes [no ci]

* include libmtmd in output so show its semversioned

* ci : add make-release workflow

* ci : fix build number check in build-cmake-pkg.yml

* examples : remove trailing whitespace

* ci : abort if upstream ggml version does not exist

* ci : extract step contents into scripts

* ci : add GGML_NATIVE=OFF to ubuntu job

* examples : remove CI build information from test-cmake [no ci]

This commit removes the nightly/release information that I added
previously to keep this focused only on using building and installing
llama.cpp with cmake and being able to quickly verify changes or
troubleshoot issues.

* ci : merge scripts into single script

* remove -dev-build_number support

This commit removes the incremental build number (versioning) support
that I added. This was incorrect and we should only use the semver for
the version. Releases will be tag a nightly build and package
maintainers/managers that build from source can use the tag and it is
therefor important that the correct version is reported. So a
nightly-build will report the semver without the build number. The build
number and commit as availble via cmake and test-cmake has been updated
to include an example of using them:
```console
$ ./build.sh
[test-cmake] version: 0.1.0, build: 10360 (08c69e381)
...
```

Refs: https://github.com/ggml-org/llama.cpp/pull/26839#discussion_r3755836969

* docs: add initial release.md documentation

* cmake : clean-up and add LLAMA_BUILD_IS_DEV option

* ci : remove version input from make-release job

* ci : add LLAMA_BUILD_IS_DEV=OFF to build-cmake-pkg.yml

Refs: https://github.com/danbev/llama.cpp/actions/runs/31576801921/job/94050639145

* docs : update release notes with LLAMA_BUILD_IS_DEV info [no ci]

* ci : add TODO to winget workflow [no ci]

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
2026-08-12 14:15:03 +02:00
..
arm64-apple-clang.cmake Add apple arm to presets (#10134) 2024-11-02 15:35:31 -07:00
arm64-linux-clang.cmake hexagon: add support for linux on snapdragon (#21707) 2026-04-10 15:57:23 -07:00
arm64-windows-llvm.cmake ggml : prevent builds with -ffinite-math-only (#7726) 2024-06-04 17:01:09 +10:00
arm64-windows-msvc-cuda.cmake ci: Add support for CUDA 13.4 ARM64 builds for Windows (#26650) 2026-08-10 11:46:44 +03:00
build-info.cmake cmake : simplify build info detection using standard variables (#17423) 2025-12-04 12:42:13 +02:00
common.cmake ci : add sanitizer runs for server (#19291) 2026-02-03 22:41:20 +02:00
download-models.cmake tests : download models only when running ctest (#18843) 2026-01-15 09:47:29 +01:00
git-vars.cmake llama : reorganize source code + improve CMake (#8006) 2024-06-26 18:33:02 +03:00
license.cmake common : add --license to display embedded licenses (#18696) 2026-01-10 09:46:24 +01:00
llama-config.cmake.in cmake : introduce semantic versioning (#26839) 2026-08-12 14:15:03 +02:00
llama.pc.in cmake : introduce semantic versioning (#26839) 2026-08-12 14:15:03 +02:00
riscv64-spacemit-linux-gnu-gcc.cmake ggml-cpu: Add IME2 Instruction Support for the SpacemiT Backend (#22863) 2026-05-14 17:39:30 +08:00
x64-windows-llvm.cmake llama : build windows releases with dl backends (#13220) 2025-05-04 14:20:49 +02:00