mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2026-09-11 23:57:07 +02:00
680a9ae63d
* 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>
69 lines
1.8 KiB
CMake
69 lines
1.8 KiB
CMake
llama_add_compile_flags()
|
|
|
|
#
|
|
# libraries
|
|
#
|
|
|
|
# llama
|
|
|
|
file(GLOB LLAMA_MODELS_SOURCES "models/*.cpp")
|
|
|
|
add_library(llama
|
|
../include/llama.h
|
|
llama.cpp
|
|
llama-adapter.cpp
|
|
llama-arch.cpp
|
|
llama-batch.cpp
|
|
llama-chat.cpp
|
|
llama-context.cpp
|
|
llama-cparams.cpp
|
|
llama-grammar.cpp
|
|
llama-graph.cpp
|
|
llama-hparams.cpp
|
|
llama-impl.cpp
|
|
llama-io.cpp
|
|
llama-kv-cache.cpp
|
|
llama-kv-cache-iswa.cpp
|
|
llama-kv-cache-dsa.cpp
|
|
llama-kv-cache-msa.cpp
|
|
llama-kv-cache-dsv4.cpp
|
|
llama-memory.cpp
|
|
llama-memory-hybrid.cpp
|
|
llama-memory-hybrid-iswa.cpp
|
|
llama-memory-recurrent.cpp
|
|
llama-mmap.cpp
|
|
llama-model-loader.cpp
|
|
llama-model-saver.cpp
|
|
llama-model.cpp
|
|
llama-quant.cpp
|
|
llama-sampler.cpp
|
|
llama-vocab.cpp
|
|
unicode-data.cpp
|
|
unicode.cpp
|
|
unicode.h
|
|
${LLAMA_MODELS_SOURCES}
|
|
)
|
|
|
|
set_target_properties(llama PROPERTIES
|
|
VERSION ${LLAMA_VERSION_BASE}
|
|
SOVERSION ${LLAMA_VERSION_MAJOR}
|
|
MACHO_CURRENT_VERSION 0 # keep macOS linker from seeing oversized version number
|
|
)
|
|
|
|
target_compile_definitions(llama PRIVATE
|
|
LLAMA_VERSION="${LLAMA_VERSION}"
|
|
LLAMA_COMMIT="${LLAMA_BUILD_COMMIT}"
|
|
)
|
|
|
|
target_include_directories(llama PRIVATE .)
|
|
target_include_directories(llama PUBLIC ../include)
|
|
target_compile_features (llama PRIVATE cxx_std_17) # don't bump
|
|
|
|
target_link_libraries(llama PUBLIC ggml)
|
|
|
|
if (BUILD_SHARED_LIBS)
|
|
set_target_properties(llama PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
target_compile_definitions(llama PRIVATE LLAMA_BUILD)
|
|
target_compile_definitions(llama PUBLIC LLAMA_SHARED)
|
|
endif()
|