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()