find_package(Qt5 COMPONENTS Widgets Charts QUIET)
if (${Qt5Charts_FOUND})

  yarp_idl_to_dir(INPUT_FILES "${CMAKE_CURRENT_SOURCE_DIR}/thrifts/chartsService.thrift"
                  OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/autogenerated"
                  SOURCES_VAR THRIFT_SOURCES
                  HEADERS_VAR THRIFT_HEADERS
                  INCLUDE_DIRS_VAR THRIFT_INCLUDE_DIRS)

  add_library(iDynTreePlotter-service STATIC ${THRIFT_SOURCES} ${THRIFT_HEADERS})
  target_include_directories(iDynTreePlotter-service SYSTEM PUBLIC ${THRIFT_INCLUDE_DIRS})
  target_link_libraries(iDynTreePlotter-service YARP::YARP_init YARP::YARP_OS YARP::YARP_sig)
  
  
  set(SOURCES src/main.cpp src/ChartsManager.cpp src/ChartsManagerWindow.cpp)
  set(HEADERS include/ChartsManager.h include/ChartsManagerWindow.h)
  
  add_executable(iDynTreePlotter ${SOURCES} ${HEADERS})
  target_include_directories(iDynTreePlotter PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
  target_link_libraries(iDynTreePlotter Qt5::Charts Qt5::Widgets
                                        iDynTreePlotter-service)
  
endif()
