"""
@file
@defgroup rtctk_componentFramework_rtcComponent_lib RTC Component Library
@ingroup rtctk_componentFramework_rtcComponent

@brief Provides basic RTC component functionality.

@copyright
  SPDX-FileCopyrightText: 2021-2025 European Southern Observatory (ESO) @n
  SPDX-License-Identifier: LGPL-3.0-only
"""

from wtools.module import declare_cshlib


declare_cshlib(
    name="componentFramework.rtcComponent",
    target="rtctkRtcComponent",
    use=[
        "std.if-cxx",
        "std.introspectionif-cxx",
        "componentFramework.interfaces.rtctkif-cxx",
        "componentFramework.services.common",
        "componentFramework.services.logging",
        "componentFramework.services.serviceRegistry",
        "componentFramework.services.runtimeRepo",
        "componentFramework.services.oldb",
        "componentFramework.services.events",
        "componentFramework.services.metrics",
        "componentFramework.services.alert",
        "rad.cpp.core",
        "rad.cpp.sm",
        "taiclock",
    ],
    ut_attrs=dict(
        use=lambda pkgs, _: pkgs + ["gtest", "gmock", "componentFramework.rtcComponent.utSupport"]
    ),
    features="radgen",
)
