]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
cmake : remove STATIC from impl libraries, enable LLAMA_BUILD_APP by default (#23462)
authorGeorgi Gerganov <redacted>
Thu, 21 May 2026 18:13:59 +0000 (21:13 +0300)
committerGitHub <redacted>
Thu, 21 May 2026 18:13:59 +0000 (21:13 +0300)
* cmake : remove STATIC from impl libraries, allow BUILD_SHARED_LIBS control

Remove explicit STATIC from all -impl libraries (server, cli, completion, bench,
batched-bench, fit-params, quantize, perplexity) so BUILD_SHARED_LIBS controls
shared vs static linkage.

Add WINDOWS_EXPORT_ALL_SYMBOLS ON for proper DLL export on Windows.

Assisted-by: llama.cpp:local pi
* cmake : enable LLAMA_BUILD_APP by default

Assisted-by: llama.cpp:local pi
* ci : disable app in build-cmake-pkg.yml

.github/workflows/build-cmake-pkg.yml
CMakeLists.txt
tools/batched-bench/CMakeLists.txt
tools/cli/CMakeLists.txt
tools/completion/CMakeLists.txt
tools/fit-params/CMakeLists.txt
tools/llama-bench/CMakeLists.txt
tools/perplexity/CMakeLists.txt
tools/quantize/CMakeLists.txt
tools/server/CMakeLists.txt

index 84cf8ddf48ad22b4490773b65e85e80621cd77df..6bbfd9988ba97c3378a0bc39fe60bb9a98c64252 100644 (file)
@@ -21,7 +21,7 @@ jobs:
           PREFIX="$(pwd)"/inst
           cmake -S . -B build -DCMAKE_PREFIX_PATH="$PREFIX" \
                 -DLLAMA_OPENSSL=OFF -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_TOOLS=OFF \
-                -DLLAMA_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Release
+                -DLLAMA_BUILD_EXAMPLES=OFF -DLLAMA_BUILD_APP=OFF -DCMAKE_BUILD_TYPE=Release
           cmake --build build --config Release
           cmake --install build --prefix "$PREFIX" --config Release
 
index 7ed6432b2fd771d7b50ef38b83928960e6bab619..56eb608ea0c0573c27a101f9fce3a9ccd0fc8fac 100644 (file)
@@ -108,7 +108,7 @@ option(LLAMA_BUILD_TESTS     "llama: build tests"
 option(LLAMA_BUILD_TOOLS     "llama: build tools"                                                                ${LLAMA_STANDALONE})
 option(LLAMA_BUILD_EXAMPLES  "llama: build examples"                                                             ${LLAMA_STANDALONE})
 option(LLAMA_BUILD_SERVER    "llama: build server example"                                                       ${LLAMA_STANDALONE})
-option(LLAMA_BUILD_APP       "llama: build the unified binary"                                                   OFF)
+option(LLAMA_BUILD_APP       "llama: build the unified binary"                                                   ON)
 option(LLAMA_BUILD_UI        "llama: build the embedded Web UI for server"                                       ON)
 option(LLAMA_USE_PREBUILT_UI "llama: use prebuilt UI from HF Bucket when available (requires LLAMA_BUILD_UI=ON)" ON)
 
index 1769c2136b1eadb0646dd9f11d11437fee04408f..42b50972f4d10ca712c73bb0301a9e6e5043bfc5 100644 (file)
@@ -2,7 +2,8 @@
 
 set(TARGET llama-batched-bench-impl)
 
-add_library(${TARGET} STATIC batched-bench.cpp)
+add_library(${TARGET} batched-bench.cpp)
+set_target_properties(${TARGET} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
 
 target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 target_link_libraries(${TARGET} PUBLIC llama-common llama ${CMAKE_THREAD_LIBS_INIT})
index 32b660508f0981045ebcc24a57ea87a39ef71f54..aa44e586c51e666b3a49e873ce1ec82619c1fb4f 100644 (file)
@@ -2,7 +2,8 @@
 
 set(TARGET llama-cli-impl)
 
-add_library(${TARGET} STATIC cli.cpp)
+add_library(${TARGET} cli.cpp)
+set_target_properties(${TARGET} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
 
 target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ../server)
 target_link_libraries(${TARGET} PUBLIC server-context llama-common ${CMAKE_THREAD_LIBS_INIT})
index 687bdfda6e76b5a5920926f33b5d3e4208cd2796..a485bf0a3cbd395bc9a26371e3bf932f4a670a2a 100644 (file)
@@ -2,7 +2,8 @@
 
 set(TARGET llama-completion-impl)
 
-add_library(${TARGET} STATIC completion.cpp)
+add_library(${TARGET} completion.cpp)
+set_target_properties(${TARGET} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
 
 target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 target_link_libraries(${TARGET} PUBLIC llama-common llama ${CMAKE_THREAD_LIBS_INIT})
index 207caf2cedadfca795116d71346091b6b85bff3f..799c2d74773cbd2f7710459a59e7aaf4e328f607 100644 (file)
@@ -2,7 +2,8 @@
 
 set(TARGET llama-fit-params-impl)
 
-add_library(${TARGET} STATIC fit-params.cpp)
+add_library(${TARGET} fit-params.cpp)
+set_target_properties(${TARGET} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
 
 target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 target_link_libraries(${TARGET} PUBLIC llama-common llama ${CMAKE_THREAD_LIBS_INIT})
index ed419a740a6f9e8e2f4a2315400df7a021e441e4..2b71faa5f5c6705fe86fe9c166b936f98563ce94 100644 (file)
@@ -2,7 +2,8 @@
 
 set(TARGET llama-bench-impl)
 
-add_library(${TARGET} STATIC llama-bench.cpp)
+add_library(${TARGET} llama-bench.cpp)
+set_target_properties(${TARGET} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
 
 target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 target_link_libraries(${TARGET} PUBLIC llama-common llama ${CMAKE_THREAD_LIBS_INIT})
index 44061d0a5519c8d1742f88456aa47d0702f1289e..b03d61a411575dd9d4248be6a644d89f9f7bc598 100644 (file)
@@ -2,7 +2,8 @@
 
 set(TARGET llama-perplexity-impl)
 
-add_library(${TARGET} STATIC perplexity.cpp)
+add_library(${TARGET} perplexity.cpp)
+set_target_properties(${TARGET} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
 
 target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 target_link_libraries(${TARGET} PUBLIC llama-common llama ${CMAKE_THREAD_LIBS_INIT})
index e76f7d81108f053ba5f8c028f8b1d757843f3e4f..5ef4e4e8a2ea7eb45fb84c5e3882e7a668e9d2b2 100644 (file)
@@ -2,7 +2,8 @@
 
 set(TARGET llama-quantize-impl)
 
-add_library(${TARGET} STATIC quantize.cpp)
+add_library(${TARGET} quantize.cpp)
+set_target_properties(${TARGET} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
 
 target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 target_link_libraries(${TARGET} PUBLIC llama-common llama ${CMAKE_THREAD_LIBS_INIT})
index bf75b199b27e918c29253ec4cf9a931290a12d2b..d87d1a5a5b2845c3a8562c8dc5c52689c3dbb38b 100644 (file)
@@ -31,13 +31,14 @@ target_link_libraries(${TARGET} PUBLIC llama-common mtmd ${CMAKE_THREAD_LIBS_INI
 
 set(TARGET llama-server-impl)
 
-add_library(${TARGET} STATIC
+add_library(${TARGET}
     server.cpp
     server-http.cpp
     server-http.h
     server-models.cpp
     server-models.h
 )
+set_target_properties(${TARGET} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
 
 target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 target_include_directories(${TARGET} PRIVATE ../mtmd ${CMAKE_SOURCE_DIR})