armarx_component_set_name("SkillProviderExample")

set(COMPONENT_LIBS
    ArmarXCore 
    ArmarXCoreInterfaces  # for DebugObserverInterface
    ArmarXGuiComponentPlugins
    RobotAPICore 
    RobotAPIInterfaces 
    RobotAPISkills
    aron
    aronjsonconverter
)

set(SOURCES
    SkillProviderExample.cpp
    HelloWorld.cpp
    Incomplete.cpp
    Chaining.cpp
    ChainingAsync.cpp
    Callback.cpp
    Timeout.cpp
    Segfault.cpp
    RandomChaining.cpp
    InstantKill.cpp
    BusyWaiting.cpp
    Recursive.cpp
)

set(HEADERS
    SkillProviderExample.h
    HelloWorld.h
    Incomplete.h
    Chaining.h
    ChainingAsync.h
    Callback.h
    Timeout.h
    Segfault.h
    RandomChaining.h
    InstantKill.h
    BusyWaiting.h
    Recursive.h
)

armarx_add_component("${SOURCES}" "${HEADERS}")

armarx_enable_aron_file_generation_for_target(
    TARGET_NAME
        ${ARMARX_COMPONENT_NAME}
    ARON_FILES
        aron/HelloWorldAcceptedType.xml
        aron/RecursiveSkillParams.xml
)

#generate the application
armarx_generate_and_add_component_executable(COMPONENT_NAMESPACE "armarx::skills::provider")