aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: a9db22c2c17206f44e38e604e9fc62540766dd11 (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
cmake_minimum_required(VERSION 3.13)
project(slcl LANGUAGES C VERSION 0.2.0)
option(THUMBNAIL "Build thumbnail generator")
add_executable(${PROJECT_NAME}
    auth.c
    cftw.c
    crealpath.c
    hex.c
    jwt.c
    main.c
    page.c
    style.c
    zip.c
)
add_executable(usergen
    hex.c
    usergen.c
)
target_compile_options(${PROJECT_NAME} PRIVATE -Wall)
target_compile_definitions(${PROJECT_NAME} PRIVATE _FILE_OFFSET_BITS=64)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/cmake)
find_package(web 0.3.0)

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

find_package(cJSON 1.0 REQUIRED)
find_package(libsodium 1.0.0 REQUIRED)
find_package(fdzipstream)

if(NOT fdzipstream_FOUND)
    message(STATUS "Using in-tree fdzipstream")
    add_subdirectory(fdzipstream)
endif()

target_link_libraries(${PROJECT_NAME} PRIVATE web dynstr cjson libsodium
    fdzipstream)
target_link_libraries(usergen PRIVATE dynstr cjson libsodium)
install(TARGETS ${PROJECT_NAME} usergen)
add_subdirectory(doc)

if(THUMBNAIL)
    add_subdirectory(thumbnail)
endif()