blob: d65635af2694c5026a4f30958dbdb4af5ae0624e (
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
|
# IRMd (IPC Resource Manager daemon) build configuration
# Configuration options are in cmake/config/global.cmake and cmake/config/irmd.cmake
# Generate and install configuration files if TOML support available
# HAVE_TOML is set in cmake/dependencies/irmd/libtoml.cmake
if(HAVE_TOML)
set(INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
configure_file("${CMAKE_SOURCE_DIR}/irmd.conf.in"
"${CMAKE_BINARY_DIR}/${OUROBOROS_CONFIG_FILE}.example" @ONLY)
configure_file("${CMAKE_SOURCE_DIR}/enc.conf.in"
"${CMAKE_BINARY_DIR}/enc.conf.example" @ONLY)
install(FILES "${CMAKE_BINARY_DIR}/${OUROBOROS_CONFIG_FILE}.example"
DESTINATION "${OUROBOROS_CONFIG_DIR}")
install(FILES "${CMAKE_BINARY_DIR}/enc.conf.example"
DESTINATION "${OUROBOROS_CONFIG_DIR}")
install(CODE "
if(NOT EXISTS \"${OUROBOROS_CONFIG_DIR}/${OUROBOROS_CONFIG_FILE}\")
file(WRITE \"${OUROBOROS_CONFIG_DIR}/${OUROBOROS_CONFIG_FILE}\" \"\")
endif()
")
unset(INSTALL_DIR)
endif()
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in"
"${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY)
set(IRMD_SOURCES
ipcp.c
configfile.c
main.c
oap/io.c
oap/hdr.c
oap/auth.c
oap/srv.c
oap/cli.c
reg/flow.c
reg/ipcp.c
reg/pool.c
reg/proc.c
reg/prog.c
reg/name.c
reg/reg.c
)
add_executable(irmd ${IRMD_SOURCES})
target_include_directories(irmd PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/include
${CMAKE_BINARY_DIR}/include)
target_link_libraries(irmd PRIVATE ouroboros-common)
if(HAVE_TOML)
target_link_libraries(irmd PRIVATE toml::toml)
endif()
ouroboros_target_debug_definitions(irmd)
install(TARGETS irmd RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR})
if(BUILD_TESTS)
add_subdirectory(oap/tests)
add_subdirectory(reg/tests)
endif()
|