cmake_minimum_required (VERSION 3.0.0)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/share/cmake_modules/")

find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
  set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
  set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
else()
  message(STATUS "ccache was not found.")
endif(CCACHE_FOUND)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wunused-parameter -O3")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g")
project(toREST VERSION 0.0.1)
find_package(Boost COMPONENTS regex system thread coroutine context filesystem date_time REQUIRED)
find_package(LibTorrent REQUIRED)
find_package(OpenSSL REQUIRED)
set(BUILD_TESTING OFF CACHE INTERNAL "")
add_subdirectory("${CMAKE_SOURCE_DIR}/lib/Simple-Web-Server")
add_subdirectory("${CMAKE_SOURCE_DIR}/lib/Simple-WebSocket-Server")
set(JSON_BuildTests OFF CACHE INTERNAL "")
add_subdirectory("${CMAKE_SOURCE_DIR}/lib/json")
add_subdirectory("${CMAKE_SOURCE_DIR}/src")
