X-Git-Url: http://git.archive.openwrt.org/?p=project%2Frpcd.git;a=blobdiff_plain;f=CMakeLists.txt;h=60959d552d1328b21320a5a779da5be47305af67;hp=b5b164a20da177e23e5493dd6bdf48cb5070d831;hb=e64cbdd9b405a3246abfe23d8f16bd32647b2d04;hpb=22fbf13086653cba0c60d60ceb7baba2f33a034d diff --git a/CMakeLists.txt b/CMakeLists.txt index b5b164a..60959d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,14 @@ cmake_minimum_required(VERSION 2.6) +INCLUDE(CheckFunctionExists) + PROJECT(rpcd C) -ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations -Iinclude) +ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations) +INCLUDE_DIRECTORIES(include) OPTION(FILE_SUPPORT "File 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 "") @@ -13,10 +17,19 @@ 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() ADD_EXECUTABLE(rpcd main.c exec.c session.c uci.c plugin.c) -TARGET_LINK_LIBRARIES(rpcd ubox ubus uci dl blobmsg_json ${json}) +TARGET_LINK_LIBRARIES(rpcd ubox ubus uci dl blobmsg_json ${json} ${crypt}) SET(PLUGINS "") @@ -27,6 +40,13 @@ IF(FILE_SUPPORT) SET_TARGET_PROPERTIES(file_plugin PROPERTIES OUTPUT_NAME file PREFIX "") ENDIF() +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) SET(PLUGINS ${PLUGINS} iwinfo_plugin) ADD_LIBRARY(iwinfo_plugin MODULE iwinfo.c)