summaryrefslogtreecommitdiff
path: root/examples/server/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'examples/server/CMakeLists.txt')
-rw-r--r--examples/server/CMakeLists.txt21
1 files changed, 19 insertions, 2 deletions
diff --git a/examples/server/CMakeLists.txt b/examples/server/CMakeLists.txt
index 61f58417..4b89c530 100644
--- a/examples/server/CMakeLists.txt
+++ b/examples/server/CMakeLists.txt
@@ -1,12 +1,29 @@
set(TARGET server)
option(LLAMA_SERVER_VERBOSE "Build verbose logging option for Server" ON)
option(LLAMA_SERVER_SSL "Build SSL support for the server" OFF)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-add_executable(${TARGET}
+include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+set(TARGET_SRCS
server.cpp
utils.hpp
httplib.h
)
+set(PUBLIC_ASSETS
+ index.html
+ index.js
+ completion.js
+ json-schema-to-grammar.mjs
+)
+foreach(asset ${PUBLIC_ASSETS})
+ set(input "${CMAKE_CURRENT_SOURCE_DIR}/public/${asset}")
+ set(output "${CMAKE_CURRENT_BINARY_DIR}/${asset}.hpp")
+ list(APPEND TARGET_SRCS ${output})
+ add_custom_command(
+ DEPENDS "${input}"
+ OUTPUT "${output}"
+ COMMAND "${CMAKE_COMMAND}" "-DINPUT=${input}" "-DOUTPUT=${output}" -P "${PROJECT_SOURCE_DIR}/scripts/xxd.cmake"
+ )
+endforeach()
+add_executable(${TARGET} ${TARGET_SRCS})
install(TARGETS ${TARGET} RUNTIME)
target_compile_definitions(${TARGET} PRIVATE
SERVER_VERBOSE=$<BOOL:${LLAMA_SERVER_VERBOSE}>