Repository navigation
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
29 lines (23 loc) · 1.66 KB
/
Copy pathCMakeLists.txt
File metadata and controls
29 lines (23 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
cmake_minimum_required(VERSION 3.31.2)
add_subdirectory("deps/linenoise")
project(fkvs-server C)
project(fkvs-cli C)
project(fkvs-benchmark C)
set(CMake_C_STANDARD, 23)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
if(APPLE)
add_executable(fkvs-server src/client.c src/core/list.c src/config.c src/networking/networking.c src/server.c src/core/hashtable.c src/commands/common/command_registry.c src/commands/server/server_command_handlers.c src/io/event_dispatcher_kqueue.c)
target_compile_definitions(fkvs-server PRIVATE SERVER)
add_executable(fkvs-benchmark src/fkvs-benchmark.c src/client.c src/core/list.c src/networking/networking.c src/commands/common/command_parser.c src/commands/client/client_command_handlers.c)
target_compile_definitions(fkvs-benchmark PRIVATE CLI)
elseif(LINUX)
add_executable(fkvs-server src/client.c src/core/list.c src/config.c src/networking/networking.c src/server.c src/core/hashtable.c src/commands/common/command_registry.c src/commands/server/server_command_handlers.c src/io/event_dispatcher_epoll.c)
target_compile_definitions(fkvs-server PRIVATE SERVER)
add_executable(fkvs-benchmark src/fkvs-benchmark.c src/client.c src/core/list.c src/networking/networking.c src/commands/common/command_parser.c src/commands/client/client_command_handlers.c)
target_compile_definitions(fkvs-benchmark PRIVATE CLI)
endif()
add_executable(fkvs-cli src/fkvs-cli.c src/config.c src/commands/common/command_parser.c src/commands/client/client_command_handlers.c)
target_link_libraries(fkvs-benchmark PRIVATE Threads::Threads)
target_link_libraries(fkvs-cli PUBLIC linenoise)
target_compile_definitions(fkvs-cli PRIVATE CLI)