X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=CMakeLists.txt;h=ceb472e941620558fac586eb032a6930e7f61034;hb=cfe1e75c91bc1bac82e6caab3e652b0ebee59524;hp=6f42902eb53e9269f2b12d976ac32cd6bca10f16;hpb=84642137f0b7c588f74186ddeb989311ed9d6fb2;p=project%2Frpcd.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 6f42902..ceb472e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,14 @@ cmake_minimum_required(VERSION 2.6) -PROJECT(luci-rpcd C) +INCLUDE(CheckFunctionExists) + +PROJECT(rpcd C) ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations) +INCLUDE_DIRECTORIES(include) OPTION(FILE_SUPPORT "File plugin support" ON) -OPTION(LUCI2_SUPPORT "LuCI2 plugin support" ON) OPTION(IWINFO_SUPPORT "libiwinfo plugin support" ON) +OPTION(RPCSYS_SUPPORT "rpc-sys plugin support" ON) SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") @@ -14,10 +17,25 @@ IF(APPLE) LINK_DIRECTORIES(/opt/local/lib) ENDIF() +CHECK_FUNCTION_EXISTS(getspnam HAVE_SHADOW) +IF(HAVE_SHADOW) + ADD_DEFINITIONS(-DHAVE_SHADOW) +ENDIF() + FIND_LIBRARY(json NAMES json-c json) +FIND_LIBRARY(crypt NAMES crypt) +IF(crypt STREQUAL "crypt-NOTFOUND") + SET(crypt "") +ENDIF() + +FIND_PATH(ubus_include_dir libubus.h) +INCLUDE_DIRECTORIES(${ubus_include_dir}) + +FIND_PATH(ubox_include_dir libubox/blobmsg_json.h) +INCLUDE_DIRECTORIES(${ubox_include_dir}) -ADD_EXECUTABLE(luci-rpcd main.c exec.c session.c uci.c plugin.c) -TARGET_LINK_LIBRARIES(luci-rpcd ubox ubus uci dl blobmsg_json ${json}) +ADD_EXECUTABLE(rpcd main.c exec.c session.c uci.c plugin.c) +TARGET_LINK_LIBRARIES(rpcd ubox ubus uci dl blobmsg_json ${json} ${crypt}) SET(PLUGINS "") @@ -28,11 +46,11 @@ IF(FILE_SUPPORT) SET_TARGET_PROPERTIES(file_plugin PROPERTIES OUTPUT_NAME file PREFIX "") ENDIF() -IF(LUCI2_SUPPORT) - SET(PLUGINS ${PLUGINS} luci2_plugin) - ADD_LIBRARY(luci2_plugin MODULE luci2.c) - TARGET_LINK_LIBRARIES(luci2_plugin ubox ubus) - SET_TARGET_PROPERTIES(luci2_plugin PROPERTIES OUTPUT_NAME luci2 PREFIX "") +IF(RPCSYS_SUPPORT) + SET(PLUGINS ${PLUGINS} rpcsys_plugin) + ADD_LIBRARY(rpcsys_plugin MODULE sys.c) + TARGET_LINK_LIBRARIES(rpcsys_plugin ubox ubus) + SET_TARGET_PROPERTIES(rpcsys_plugin PROPERTIES OUTPUT_NAME rpcsys PREFIX "") ENDIF() IF (IWINFO_SUPPORT) @@ -42,7 +60,7 @@ IF (IWINFO_SUPPORT) SET_TARGET_PROPERTIES(iwinfo_plugin PROPERTIES OUTPUT_NAME iwinfo PREFIX "") ENDIF() -INSTALL(TARGETS luci-rpcd ${PLUGINS} +INSTALL(TARGETS rpcd ${PLUGINS} RUNTIME DESTINATION sbin LIBRARY DESTINATION lib )