40 lines
1.0 KiB
CMake
40 lines
1.0 KiB
CMake
cmake_minimum_required(VERSION 3.13)
|
|
project(slcl)
|
|
option(THUMBNAILS "Enables thumbnail generation for images." OFF)
|
|
add_executable(${PROJECT_NAME}
|
|
auth.c
|
|
base64.c
|
|
cftw.c
|
|
handler.c
|
|
hex.c
|
|
html.c
|
|
http.c
|
|
jwt.c
|
|
main.c
|
|
page.c
|
|
server.c
|
|
)
|
|
|
|
if(NOT DEFINED THUMBNAIL_HEIGHT)
|
|
set(THUMBNAIL_HEIGHT 96)
|
|
endif()
|
|
|
|
if(THUMBNAILS)
|
|
find_package(ImageMagick REQUIRED)
|
|
target_sources(${PROJECT_NAME} PRIVATE thumbnail.c)
|
|
target_compile_definitions(${PROJECT_NAME}
|
|
PRIVATE THUMBNAIL_HEIGHT=${THUMBNAIL_HEIGHT})
|
|
elseif(THUMBNAIL_HEIGHT)
|
|
target_sources(${PROJECT_NAME} PRIVATE thumbnail_stub.c)
|
|
endif()
|
|
|
|
target_compile_options(${PROJECT_NAME} PRIVATE -Wall)
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE _FILE_OFFSET_BITS=64)
|
|
add_subdirectory(dynstr)
|
|
add_subdirectory(mkdir_r)
|
|
find_package(cJSON 1.0 REQUIRED)
|
|
find_package(OpenSSL 3.0 REQUIRED)
|
|
target_link_libraries(${PROJECT_NAME}
|
|
PRIVATE dynstr mkdir_r cjson OpenSSL::SSL ImageMagick)
|
|
#message(FATAL_ERROR "TODO")
|