aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 6aa295bfaf5d0e59d2e913aa9e880210706a77c6 (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
cmake_minimum_required(VERSION 3.13)
project(nanobbs C)
add_executable(${PROJECT_NAME}
    auth.c
    astrftime.c
    db.c
    db_post.c
    db_section.c
    db_topic.c
    default_prv_policy.c
    default_style.c
    default_terms.c
    ep_create.c
    ep_index.c
    ep_login.c
    ep_logout.c
    ep_passwd.c
    ep_signup.c
    ep_style.c
    ep_ucp.c
    ep_view.c
    form_badreq.c
    form_category.c
    form_footer.c
    form_head.c
    form_login.c
    form_post.c
    form_section.c
    form_shortpwd.c
    form_topic.c
    form_unauthorized.c
    gencookie.c
    getul.c
    getul_n.c
    jwt.c
    login_get.c
    main.c
    op.c
    sanitize.c
)
add_executable(tokengen
    jwt.c
    tokengen.c
)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/cmake)
find_package(libsodium REQUIRED)
find_package(cJSON REQUIRED)
find_package(SQLite3 3.6.19 REQUIRED)
find_package(web 0.3.0)

if(WEB_FOUND)
    find_package(dynstr 0.1.0 REQUIRED)
else()
    message(STATUS "Using in-tree libweb")
    set(BUILD_EXAMPLES OFF)
    add_subdirectory(libweb)
    # dynstr is already provided by libweb.
endif()

set(deps dynstr sqlite3 libsodium cjson)
target_link_libraries(${PROJECT_NAME} PRIVATE web ${deps})
target_compile_options(${PROJECT_NAME} PRIVATE -Wall)
target_link_libraries(tokengen PRIVATE ${deps})
target_compile_options(tokengen PRIVATE -Wall)
install(TARGETS ${PROJECT_NAME} tokengen)