aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 640fbfc78964d91ac1b5a6992cd0e170d826aede (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
cmake_minimum_required(VERSION 3.13.5)
option(BUILD_EXAMPLES "Build examples" ON)
project(web LANGUAGES C VERSION 0.4.0)
add_library(${PROJECT_NAME}
    form.c
    handler.c
    html.c
    http.c
    server.c
    wildcard_cmp.c)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/cmake)
find_package(dynstr 0.1.0)

if(NOT DYNSTR_FOUND)
    message(STATUS "Using in-tree dynstr")
    add_subdirectory(dynstr)
endif()

target_include_directories(${PROJECT_NAME} PUBLIC include)
target_link_libraries(${PROJECT_NAME} PUBLIC dynstr)
install(TARGETS ${PROJECT_NAME})
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})
include(GNUInstallDirs)
install(FILES ${CMAKE_BINARY_DIR}/libweb.pc
    DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
add_subdirectory(doc)

if(BUILD_EXAMPLES)
    add_subdirectory(examples)
endif()