37 lines
966 B
CMake
37 lines
966 B
CMake
cmake_minimum_required(VERSION 3.13)
|
|
project(slcl LANGUAGES C VERSION 0.2.0)
|
|
add_executable(${PROJECT_NAME}
|
|
auth.c
|
|
base64.c
|
|
cftw.c
|
|
hex.c
|
|
jwt.c
|
|
main.c
|
|
page.c
|
|
style.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(OpenSSL 2.0 REQUIRED)
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE web dynstr cjson OpenSSL::SSL)
|
|
install(TARGETS ${PROJECT_NAME})
|
|
install(FILES usergen
|
|
TYPE BIN
|
|
PERMISSIONS
|
|
OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
|
GROUP_READ GROUP_EXECUTE
|
|
WORLD_READ WORLD_EXECUTE)
|
|
add_subdirectory(doc)
|