INCLUDE (CheckFunctionExists)
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
-ADD_DEFINITIONS(-Os -Wall -Werror -Wmissing-declarations --std=gnu99 -g3)
+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)
+OPTION(UCODE_SUPPORT "ucode support" ON)
IF(APPLE)
INCLUDE_DIRECTORIES(/opt/local/include)
SET(LIBS "")
ENDIF()
-SET(SOURCES main.c listen.c client.c utils.c file.c auth.c cgi.c relay.c proc.c plugin.c)
+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)
ADD_DEFINITIONS(-DHAVE_SHADOW)
ENDIF()
+FIND_LIBRARY(ubox NAMES ubox)
+FIND_LIBRARY(json_script NAMES json_script)
+FIND_LIBRARY(blobmsg_json NAMES blobmsg_json)
+
ADD_EXECUTABLE(uhttpd ${SOURCES})
-TARGET_LINK_LIBRARIES(uhttpd ubox dl ${LIBS})
+FIND_LIBRARY(libjson NAMES json-c json)
+TARGET_LINK_LIBRARIES(uhttpd ${ubox} dl ${json_script} ${blobmsg_json} ${libjson} ${LIBS})
SET(PLUGINS "")
IF(LUA_SUPPORT)
TARGET_LINK_LIBRARIES(uhttpd_lua ${LUA_LIBS} m dl)
ENDIF()
+IF(UCODE_SUPPORT)
+ SET(PLUGINS ${PLUGINS} uhttpd_ucode)
+ ADD_DEFINITIONS(-DHAVE_UCODE)
+ ADD_LIBRARY(uhttpd_ucode MODULE ucode.c)
+ TARGET_LINK_LIBRARIES(uhttpd_ucode ucode ${libjson})
+ENDIF()
+
IF(UBUS_SUPPORT)
+ FIND_LIBRARY(ubus NAMES ubus)
SET(PLUGINS ${PLUGINS} uhttpd_ubus)
ADD_DEFINITIONS(-DHAVE_UBUS)
- ADD_LIBRARY(uhttpd_ubus MODULE ubus.c ubus-session.c)
- TARGET_LINK_LIBRARIES(uhttpd_ubus ubus ubox blobmsg_json json)
+ ADD_LIBRARY(uhttpd_ubus MODULE ubus.c)
+ TARGET_LINK_LIBRARIES(uhttpd_ubus ${ubus} ${ubox} ${blobmsg_json} ${libjson})
ENDIF()
IF(PLUGINS)