2023-07-20 23:38:46 +02:00
|
|
|
cmake_minimum_required(VERSION 3.13.5)
|
2023-09-15 14:56:34 +02:00
|
|
|
option(BUILD_EXAMPLES "Build examples" ON)
|
2024-02-19 23:29:01 +01:00
|
|
|
project(web LANGUAGES C VERSION 0.3.0)
|
2023-07-20 23:38:46 +02:00
|
|
|
add_library(${PROJECT_NAME}
|
|
|
|
handler.c
|
|
|
|
html.c
|
|
|
|
http.c
|
|
|
|
server.c
|
|
|
|
wildcard_cmp.c)
|
2023-10-16 00:53:28 +02:00
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/cmake)
|
2024-02-19 23:28:09 +01:00
|
|
|
find_package(dynstr 0.1.0)
|
2023-10-16 00:53:28 +02:00
|
|
|
|
|
|
|
if(NOT DYNSTR_FOUND)
|
|
|
|
message(STATUS "Using in-tree dynstr")
|
|
|
|
add_subdirectory(dynstr)
|
|
|
|
endif()
|
|
|
|
|
2023-07-20 23:38:46 +02:00
|
|
|
target_include_directories(${PROJECT_NAME} PUBLIC include)
|
|
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC dynstr)
|
2023-09-26 23:47:06 +02:00
|
|
|
install(TARGETS ${PROJECT_NAME})
|
2023-10-10 23:21:35 +02:00
|
|
|
install(DIRECTORY include/libweb TYPE INCLUDE)
|
|
|
|
file(READ ${CMAKE_CURRENT_LIST_DIR}/libweb.pc libweb_pc)
|
|
|
|
string(REPLACE /usr/local ${CMAKE_INSTALL_PREFIX} libweb_repl_pc ${libweb_pc})
|
|
|
|
file(WRITE ${CMAKE_BINARY_DIR}/libweb.pc ${libweb_repl_pc})
|
2023-09-27 00:10:16 +02:00
|
|
|
include(GNUInstallDirs)
|
2023-10-10 23:21:35 +02:00
|
|
|
install(FILES ${CMAKE_BINARY_DIR}/libweb.pc
|
2023-09-27 00:10:16 +02:00
|
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
2023-09-26 23:50:41 +02:00
|
|
|
add_subdirectory(doc)
|
2023-08-06 16:43:57 +02:00
|
|
|
|
|
|
|
if(BUILD_EXAMPLES)
|
|
|
|
add_subdirectory(examples)
|
|
|
|
endif()
|