set(CMAKE_BUILD_TYPE "Debug")
cmake_minimum_required(VERSION 3.21)
project(ixwebsocket-opengl-sdl3-cpp)

# SDL3 Setup
set(SDL3_DIR "C:/libs/SDL3-devel-3.4.8-mingw/lib/cmake/SDL3")
find_package(SDL3 REQUIRED)

add_executable(app)

# Include Directories
target_include_directories(app PRIVATE 
    "C:/libs/glad-0.1.36/opengl-3.3/include"
    "C:/libs/IXWebSocket-12.0.0-mingw-master/include"
    "C:/libs/mbedtls-4.1.0-mingw/include"
    "C:/libs/zlib-1.3.2-mingw/include"
)

# Source Mapping
target_sources(app PRIVATE
    "C:/libs/glad-0.1.36/opengl-3.3/src/glad.c"
    src/main.cpp
)

# Static Link Targets (Order Matters for MinGW Linker Validation!)
target_link_libraries(app PRIVATE 
    SDL3::SDL3
    "C:/libs/IXWebSocket-12.0.0-mingw-master/lib/libixwebsocket.a"
    "C:/libs/mbedtls-4.1.0-mingw/lib/libmbedx509.a"
    "C:/libs/mbedtls-4.1.0-mingw/lib/libmbedtls.a"
    "C:/libs/mbedtls-4.1.0-mingw/lib/libmbedcrypto.a"
    "C:/libs/zlib-1.3.2-mingw/lib/libzs.a"
    ws2_32
    wsock32
    crypt32
    bcrypt
)

target_link_options(app PRIVATE -mconsole)
