option(BUILD_MANIPULATOR_PLUGIN "Building ManipulatorPlugin" OFF)
if(NOT BUILD_MANIPULATOR_PLUGIN)
  return()
endif()

set(target CnoidManipulatorPlugin)

set(sources
  ManipulatorPlugin.cpp
  MprPosition.cpp
  MprPositionList.cpp
  MprProgram.cpp
  MprStatementRegistration.cpp
  MprStatement.cpp
  MprStructuredStatement.cpp
  MprBasicStatements.cpp
  MprPositionStatement.cpp
  MprTagTraceStatement.cpp
  MprVariable.cpp
  MprVariableList.cpp
  MprProgramItemBase.cpp
  MprControllerItemBase.cpp
  MprMultiVariableListItem.cpp
  MprGeneralVariableListItem.cpp
  MprProgramViewBase.cpp
  MprProgramViewDelegates.cpp
  MprStatementViewBase.cpp
  MprStatementPanel.cpp
  MprPositionStatementPanel.cpp
  MprPositionLabelSet.cpp
  MprTagTraceStatementPanel.cpp
  MprTagTraceStatementTagGroupResolver.cpp
  MprPositionListWidget.cpp
  MprPositionListView.cpp
  MprVariableListView.cpp
  MprBodyItemUtil.cpp
  )

set(headers
  MprProgram.h
  MprPosition.h
  MprPositionList.h
  MprStatementRegistration.h
  MprStatement.h
  MprStructuredStatement.h
  MprBasicStatements.h
  MprPositionStatement.h
  MprTagTraceStatement.h
  MprVariable.h
  MprVariableList.h
  MprProgramItemBase.h
  MprControllerItemBase.h
  MprMultiVariableListItem.h
  MprGeneralVariableListItem.h
  MprProgramViewBase.h
  MprProgramViewDelegates.h
  MprStatementViewBase.h
  MprStatementPanel.h
  MprPositionStatementPanel.h
  MprTagTraceStatementPanel.h
  MprTagTraceStatementTagGroupResolver.h
  MprPositionListWidget.h
  MprPositionListView.h
  MprVariableListView.h
  MprBodyItemUtil.h
  exportdecl.h
  )

choreonoid_make_gettext_mo_files(${target} mofiles)
choreonoid_add_plugin(${target} ${sources} ${mofiles} HEADERS ${headers})
target_link_libraries(${target} PUBLIC CnoidBodyPlugin)
