diff options
Diffstat (limited to 'src/irmd/CMakeLists.txt')
| -rw-r--r-- | src/irmd/CMakeLists.txt | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/irmd/CMakeLists.txt b/src/irmd/CMakeLists.txt new file mode 100644 index 00000000..d65635af --- /dev/null +++ b/src/irmd/CMakeLists.txt @@ -0,0 +1,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() |
