-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
60 lines (45 loc) · 1.6 KB
/
CMakeLists.txt
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
cmake_minimum_required (VERSION 3.1)
project(fgdb)
find_library(PTHREAD_LIBRARY pthread)
if (PTHREAD_LIBRARY)
message(STATUS "Found pthread library: ${PTHREAD_LIBRARY}")
else()
message(FATAL_ERROR "Could not find pthread library")
endif()
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb -Werror -Wignored-qualifiers -Winit-self \
-Wswitch-default -Wfloat-equal \
-Wtype-limits -Wempty-body -Wmissing-field-initializers -Wextra \
-Wmissing-field-initializers -Wextra")
include_directories(src/include)
include_directories(src/)
add_subdirectory(src/lib/buddy buddy)
add_subdirectory(src/lib/vector vector)
add_subdirectory(src/lru/ lruq)
add_subdirectory(src/wal/ wal)
add_subdirectory(src/lib/hashmap hashmap)
add_subdirectory(src/server)
add_subdirectory(src/transactions)
set(arena_sources
src/arena/arena.c
src/arena/manager.c)
set(disk_sources
src/arena/disk.c)
set(memory_sources
src/memory/hashmap.c)
set(operation_sources
src/operations/operations.c)
set(util_sources
src/util.c)
add_library(arena STATIC ${arena_sources})
add_library(disk STATIC ${disk_sources})
add_library(memory STATIC ${memory_sources})
add_library(operations STATIC ${operation_sources})
add_library(util STATIC ${util_sources})
add_executable(fgdb src/main.c)
target_link_libraries(fgdb arena memory disk buddy vector lruq wal HashMap server operations transaction_queue pthread util)
# add_executable(queue_test test/queue_test.c)
# target_link_libraries(queue_test transaction_queue request pthread)
# enable_testing()
# add_test(NAME perl_test_server
# COMMAND make -C "${CMAKE_CURRENT_SOURCE_DIR}/client")