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