cmake_minimum_required(VERSION 3.10)
project(sparkle)
find_package(OpenSSL REQUIRED)
find_package(RapidJSON)
find_path(IXWEBSOCKET_INCLUDE_DIR ixwebsocket)
find_library(IXWEBSOCKET_LIBRARY ixwebsocket)
if(NOT IXWEBSOCKET_INCLUDE_DIR OR NOT IXWEBSOCKET_LIBRARY)
    message(FATAL_ERROR "ixwebsocket not found")
endif()
add_executable(sparkle sources/main.cpp)
target_include_directories(sparkle PRIVATE
    ${CMAKE_SOURCE_DIR}/libs
    ${OPENSSL_INCLUDE_DIR}
    ${IXWEBSOCKET_INCLUDE_DIR}
)
target_link_libraries(sparkle PRIVATE
    ${OPENSSL_LIBRARIES}
    ${IXWEBSOCKET_LIBRARY}
)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -O2 -flto -pipe")