Bump uhttpd version 2016-10-25
This commit is contained in:
88
src/3P/uhttpd/CMakeLists.txt
Normal file
88
src/3P/uhttpd/CMakeLists.txt
Normal file
@@ -0,0 +1,88 @@
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
PROJECT(uhttpd C)
|
||||
|
||||
INCLUDE (CheckFunctionExists)
|
||||
|
||||
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
|
||||
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64 -Os -Wall -Werror -Wmissing-declarations --std=gnu99 -g3)
|
||||
|
||||
OPTION(TLS_SUPPORT "TLS support" ON)
|
||||
OPTION(LUA_SUPPORT "Lua support" ON)
|
||||
OPTION(UBUS_SUPPORT "ubus support" ON)
|
||||
|
||||
IF(APPLE)
|
||||
INCLUDE_DIRECTORIES(/opt/local/include)
|
||||
LINK_DIRECTORIES(/opt/local/lib)
|
||||
ENDIF()
|
||||
|
||||
FIND_LIBRARY(LIBS crypt)
|
||||
IF(LIBS STREQUAL "LIBS-NOTFOUND")
|
||||
SET(LIBS "")
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(ubox_include_dir libubox/usock.h)
|
||||
INCLUDE_DIRECTORIES(${ubox_include_dir})
|
||||
|
||||
SET(SOURCES main.c listen.c client.c utils.c file.c auth.c cgi.c relay.c proc.c plugin.c handler.c)
|
||||
IF(TLS_SUPPORT)
|
||||
SET(SOURCES ${SOURCES} tls.c)
|
||||
ADD_DEFINITIONS(-DHAVE_TLS)
|
||||
ENDIF()
|
||||
|
||||
CHECK_FUNCTION_EXISTS(getspnam HAVE_SHADOW)
|
||||
IF(HAVE_SHADOW)
|
||||
ADD_DEFINITIONS(-DHAVE_SHADOW)
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(uhttpd ${SOURCES})
|
||||
FIND_LIBRARY(libjson NAMES json-c json)
|
||||
TARGET_LINK_LIBRARIES(uhttpd ubox dl json_script blobmsg_json ${libjson} ${LIBS})
|
||||
|
||||
SET(PLUGINS "")
|
||||
IF(LUA_SUPPORT)
|
||||
FIND_PROGRAM(PKG_CONFIG pkg-config)
|
||||
|
||||
IF(NOT LUA_CFLAGS AND PKG_CONFIG)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND pkg-config --silence-errors --cflags lua5.1
|
||||
OUTPUT_VARIABLE LUA_CFLAGS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
IF(NOT LUA_LIBS AND PKG_CONFIG)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND pkg-config --silence-errors --libs lua5.1
|
||||
OUTPUT_VARIABLE LUA_LIBS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
IF(NOT LUA_LIBS)
|
||||
SET(LUA_LIBS "lua")
|
||||
ENDIF()
|
||||
|
||||
SET(PLUGINS ${PLUGINS} uhttpd_lua)
|
||||
ADD_DEFINITIONS(-DHAVE_LUA ${LUA_CFLAGS})
|
||||
ADD_LIBRARY(uhttpd_lua MODULE lua.c)
|
||||
TARGET_LINK_LIBRARIES(uhttpd_lua ${LUA_LIBS} m dl)
|
||||
ENDIF()
|
||||
|
||||
IF(UBUS_SUPPORT)
|
||||
SET(PLUGINS ${PLUGINS} uhttpd_ubus)
|
||||
ADD_DEFINITIONS(-DHAVE_UBUS)
|
||||
ADD_LIBRARY(uhttpd_ubus MODULE ubus.c)
|
||||
TARGET_LINK_LIBRARIES(uhttpd_ubus ubus ubox blobmsg_json ${libjson})
|
||||
ENDIF()
|
||||
|
||||
IF(PLUGINS)
|
||||
SET_TARGET_PROPERTIES(${PLUGINS} PROPERTIES
|
||||
PREFIX ""
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
INSTALL(TARGETS uhttpd ${PLUGINS}
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
)
|
||||
Reference in New Issue
Block a user