ubus/CMakeLists.txt
Thomas Gstädtner 62cdfc3d16 add systemd support
This adds basic systemd support, incl. socket activation.
If systemd build is disabled, there won't be any sign of it neither
during build nor after.
If systemd build is enabled (default), but systemd is not available,
no systemd stuff is installed, so there is no impact whatsoever.
2013-03-04 19:11:21 +01:00

53 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 2.6)
PROJECT(ubus C)
ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations)
OPTION(BUILD_LUA "build Lua plugin" ON)
OPTION(BUILD_EXAMPLES "build examples" ON)
OPTION(ENABLE_SYSTEMD "systemd support" ON)
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
SET(UBUS_UNIX_SOCKET "/var/run/ubus.sock")
ADD_DEFINITIONS( -DUBUS_UNIX_SOCKET="${UBUS_UNIX_SOCKET}")
IF(APPLE)
INCLUDE_DIRECTORIES(/opt/local/include)
LINK_DIRECTORIES(/opt/local/lib)
ENDIF()
ADD_LIBRARY(ubus SHARED libubus.c libubus-io.c libubus-obj.c libubus-sub.c libubus-req.c)
TARGET_LINK_LIBRARIES(ubus ubox)
ADD_EXECUTABLE(ubusd ubusd.c ubusd_id.c ubusd_obj.c ubusd_proto.c ubusd_event.c)
TARGET_LINK_LIBRARIES(ubusd ubox)
ADD_EXECUTABLE(cli cli.c)
SET_TARGET_PROPERTIES(cli PROPERTIES OUTPUT_NAME ubus)
TARGET_LINK_LIBRARIES(cli ubus ubox blobmsg_json json)
ADD_SUBDIRECTORY(lua)
ADD_SUBDIRECTORY(examples)
INSTALL(TARGETS ubus cli
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
INSTALL(TARGETS ubusd
RUNTIME DESTINATION sbin
)
INSTALL(FILES ubusmsg.h ubus_common.h libubus.h DESTINATION include)
# FIXME: this works but certainly can be done better:
SET(UBUSD_BINARY "${CMAKE_INSTALL_PREFIX}/sbin/ubusd")
# do this after the installs so we have the proper paths
IF(ENABLE_SYSTEMD)
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(SYSTEMD systemd)
IF(SYSTEMD_FOUND)
ADD_SUBDIRECTORY(systemd)
ENDIF()
ENDIF()