78 lines
2.1 KiB
CMake
Executable File
78 lines
2.1 KiB
CMake
Executable File
|
|
add_definitions(-O -Wall -Werror --std=gnu99 -D_GNU_SOURCE -Wno-misleading-indentation)
|
|
|
|
# The version number.
|
|
set(UHTTPD_VERSION_MAJOR 2)
|
|
set(UHTTPD_VERSION_MINOR 0)
|
|
set(UHTTPD_VERSION_PATCH 3)
|
|
|
|
# Check the third party Libraries
|
|
find_package(Libubox REQUIRED)
|
|
find_package(Lua)
|
|
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${LIBUBOX_INCLUDE_DIR})
|
|
|
|
set(EXTRA_LIBS ${LIBUBOX_LIBRARY} dl)
|
|
set(SOURCE_FILES uhttpd.c client.c log.c utils.c file.c action.c)
|
|
|
|
set(UHTTPD_SSL_SUPPORT_CONFIG 1)
|
|
option(UHTTPD_SSL_SUPPORT "SSL support" ON)
|
|
|
|
|
|
set(LUA_SUPPORT_DEFAULT "ON")
|
|
if (NOT LUA_FOUND)
|
|
set(LUA_SUPPORT_DEFAULT "OFF")
|
|
endif (NOT LUA_FOUND)
|
|
|
|
set(UHTTPD_LUA_SUPPORT_CONFIG 1)
|
|
option(UHTTPD_LUA_SUPPORT "LUA support" ${LUA_SUPPORT_DEFAULT})
|
|
|
|
if (UHTTPD_SSL_SUPPORT)
|
|
list(APPEND SOURCE_FILES uh_ssl.c)
|
|
else ()
|
|
set(UHTTPD_SSL_SUPPORT_CONFIG 0)
|
|
endif ()
|
|
|
|
if (UHTTPD_LUA_SUPPORT)
|
|
if (NOT LUA_FOUND)
|
|
message(FATAL_ERROR "Lua was not found on your system")
|
|
endif (NOT LUA_FOUND)
|
|
|
|
include_directories(${LUA_INCLUDE_DIR})
|
|
list(APPEND EXTRA_LIBS ${LUA_LIBRARY})
|
|
|
|
list(APPEND SOURCE_FILES lua_template.c)
|
|
|
|
add_subdirectory(lua)
|
|
else ()
|
|
set(UHTTPD_LUA_SUPPORT_CONFIG 0)
|
|
endif ()
|
|
|
|
add_library(uhttpd SHARED ${SOURCE_FILES})
|
|
set_target_properties(uhttpd PROPERTIES VERSION ${UHTTPD_VERSION_MAJOR}.${UHTTPD_VERSION_MINOR}.${UHTTPD_VERSION_PATCH})
|
|
target_link_libraries(uhttpd ${EXTRA_LIBS})
|
|
|
|
# configure a header file to pass some of the CMake settings to the source code
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
|
|
|
install(
|
|
FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/config.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/uhttpd.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/client.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/action.h
|
|
DESTINATION
|
|
include/uhttpd
|
|
)
|
|
|
|
install(
|
|
TARGETS uhttpd LIBRARY
|
|
DESTINATION lib
|
|
)
|
|
|
|
message("")
|
|
message(STATUS "UHTTPD_VERSION: ${UHTTPD_VERSION_MAJOR}.${UHTTPD_VERSION_MINOR}.${UHTTPD_VERSION_PATCH}")
|
|
message(STATUS "UHTTPD_SSL_SUPPORT: ${UHTTPD_SSL_SUPPORT}")
|
|
message(STATUS "UHTTPD_LUA_SUPPORT: ${UHTTPD_LUA_SUPPORT}")
|
|
message("")
|