cmake_minimum_required(VERSION 3.15)
project(qseweb)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Python3 COMPONENTS Interpreter Development REQUIRED)

include_directories(${Python3_INCLUDE_DIRS})
include_directories(${CMAKE_SOURCE_DIR}/include)

add_library(qseweb_core STATIC
    src/core/http_server.cpp
    src/core/http_request.cpp
    src/core/http_response.cpp
    src/core/router.cpp
    src/core/template_engine.cpp
)

if(WIN32)
    target_link_libraries(qseweb_core ws2_32)
endif()

add_library(_qseweb_core MODULE
    src/bindings/python_bindings.cpp
)

target_link_libraries(_qseweb_core qseweb_core ${Python3_LIBRARIES})

if(WIN32)
    set_target_properties(_qseweb_core PROPERTIES SUFFIX ".pyd")
else()
    set_target_properties(_qseweb_core PROPERTIES PREFIX "" SUFFIX ".so")
endif()
