summaryrefslogtreecommitdiff
path: root/src/ipcpd/unicast/CMakeLists.txt
blob: ca7428716b685fec292a24794a407c438038cc76 (plain)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
get_filename_component(CURRENT_SOURCE_PARENT_DIR
  ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
get_filename_component(CURRENT_BINARY_PARENT_DIR
  ${CMAKE_CURRENT_BINARY_DIR} DIRECTORY)

include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_BINARY_DIR})

include_directories(${CURRENT_SOURCE_PARENT_DIR})
include_directories(${CURRENT_BINARY_PARENT_DIR})

include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${CMAKE_BINARY_DIR}/include)

set(IPCP_UNICAST_TARGET ipcpd-unicast CACHE INTERNAL "")
set(IPCP_UNICAST_MPL 60 CACHE STRING
    "Default maximum packet lifetime for the unicast IPCP, in seconds")

protobuf_generate_c(DHT_PROTO_SRCS DHT_PROTO_HDRS dir/dht.proto)

math(EXPR PFT_EXPR "1 << 12")
set(PFT_SIZE ${PFT_EXPR} CACHE STRING
  "Size of the PDU forwarding table")
if (HAVE_FUSE)
  set(IPCP_FLOW_STATS TRUE CACHE BOOL
    "Enable flow statistics tracking in IPCP")
    if (IPCP_FLOW_STATS)
       message(STATUS "IPCP flow statistics enabled")
    else ()
       message(STATUS "IPCP flow statistics disabled")
    endif ()
endif ()

set(SOURCE_FILES
  # Add source files here
  addr-auth.c
  ca.c
  connmgr.c
  dir.c
  dt.c
  fa.c
  main.c
  pff.c
  routing.c
  psched.c
  # Add policies last
  addr-auth/flat.c
  ca/mb-ecn.c
  ca/nop.c
  dir/dht.c
  pff/simple.c
  pff/alternate.c
  pff/multipath.c
  pff/pft.c
  routing/link-state.c
  routing/graph.c
  )

add_executable(ipcpd-unicast ${SOURCE_FILES} ${IPCP_SOURCES} ${COMMON_SOURCES}
  ${DHT_PROTO_SRCS} ${LAYER_CONFIG_PROTO_SRCS})
target_link_libraries(ipcpd-unicast LINK_PUBLIC ouroboros-dev)

include(AddCompileFlags)
if (CMAKE_BUILD_TYPE MATCHES "Debug*")
  add_compile_flags(ipcpd-unicast -DCONFIG_OUROBOROS_DEBUG)
endif ()

install(TARGETS ipcpd-unicast RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR})

add_subdirectory(pff/tests)
add_subdirectory(routing/tests)

if (NOT GNU)
  add_subdirectory(dir/tests)
endif ()