add_subdirectory(event)
add_subdirectory(auth)
add_subdirectory(net)
add_subdirectory(shared)
if(MCP_WITH_HTTP)
    add_subdirectory(http)
endif()
add_subdirectory(log)
add_subdirectory(transport)

if(MCP_BUILD_CLIENT)
    add_subdirectory(client)
endif()

if(MCP_BUILD_SERVER)
    add_subdirectory(server)
endif()

if(MCP_ENABLE_STDIO)
    add_subdirectory(stdio)
endif()

if(MCP_ENABLE_ST_TESTS AND MCP_BUILD_CLIENT AND MCP_BUILD_SERVER AND MCP_WITH_HTTP)
    message(STATUS "Building ST integration tests (tests/ut/st)")
    add_subdirectory(st)
elseif(MCP_ENABLE_ST_TESTS)
    message(STATUS "MCP_ENABLE_ST_TESTS is ON but tests/ut/st requires MCP_BUILD_CLIENT, MCP_BUILD_SERVER, and MCP_WITH_HTTP; skipping st")
endif()
