1
1
set (TARGET llama-server )
2
2
option (LLAMA_SERVER_VERBOSE "Build verbose logging option for Server" ON )
3
- option (LLAMA_SERVER_SSL "Build SSL support for the server" OFF )
3
+ option (LLAMA_SERVER_SSL "Build SSL support for the server" OFF )
4
+
4
5
include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )
6
+
7
+ if (MINGW )
8
+ # fix: https://github.com/ggerganov/llama.cpp/actions/runs/9651004652/job/26617901362?pr=8006
9
+ add_compile_definitions (_WIN32_WINNT=${GGML_WIN_VER} )
10
+ endif ()
11
+
5
12
set (TARGET_SRCS
6
13
server.cpp
7
14
utils.hpp
@@ -24,6 +31,7 @@ set(PUBLIC_ASSETS
24
31
prompt-formats.js
25
32
json-schema-to-grammar.mjs
26
33
)
34
+
27
35
foreach (asset ${PUBLIC_ASSETS} )
28
36
set (input "${CMAKE_CURRENT_SOURCE_DIR} /public/${asset} " )
29
37
set (output "${CMAKE_CURRENT_BINARY_DIR} /${asset} .hpp" )
@@ -34,18 +42,23 @@ foreach(asset ${PUBLIC_ASSETS})
34
42
COMMAND "${CMAKE_COMMAND} " "-DINPUT=${input} " "-DOUTPUT=${output} " -P "${PROJECT_SOURCE_DIR} /scripts/xxd.cmake"
35
43
)
36
44
endforeach ()
45
+
37
46
add_executable (${TARGET} ${TARGET_SRCS} )
38
47
install (TARGETS ${TARGET} RUNTIME )
39
48
target_compile_definitions (${TARGET} PRIVATE
40
49
SERVER_VERBOSE=$<BOOL:${LLAMA_SERVER_VERBOSE}>
41
50
)
51
+
42
52
target_link_libraries (${TARGET} PRIVATE common ${CMAKE_THREAD_LIBS_INIT} )
53
+
43
54
if (LLAMA_SERVER_SSL )
44
55
find_package (OpenSSL REQUIRED )
45
56
target_link_libraries (${TARGET} PRIVATE OpenSSL::SSL OpenSSL::Crypto )
46
57
target_compile_definitions (${TARGET} PRIVATE CPPHTTPLIB_OPENSSL_SUPPORT )
47
58
endif ()
59
+
48
60
if (WIN32 )
49
61
TARGET_LINK_LIBRARIES (${TARGET} PRIVATE ws2_32 )
50
62
endif ()
63
+
51
64
target_compile_features (${TARGET} PRIVATE cxx_std_11 )
0 commit comments