add_subdirectory(AccelerationChecker)
add_subdirectory(NullComponent)
add_subdirectory(RobotHardware)
add_subdirectory(StateHolder)
add_subdirectory(WavPlayer)
add_subdirectory(SequencePlayer)
add_subdirectory(DataLogger)
if (NOT QNXNTO)
  add_subdirectory(Joystick)
  add_subdirectory(Joystick2Velocity2D)
  add_subdirectory(Joystick2Velocity3D)
  add_subdirectory(Joystick2PanTiltAngles)
endif()
add_subdirectory(ForwardKinematics)
add_subdirectory(HGcontroller)
add_subdirectory(Range2PointCloud)
add_subdirectory(ImpedanceController)
add_subdirectory(AutoBalancer)
add_subdirectory(SoftErrorLimiter)
add_subdirectory(VirtualForceSensor)
add_subdirectory(GraspController)
add_subdirectory(TorqueFilter)
add_subdirectory(KalmanFilter)
add_subdirectory(Stabilizer)
add_subdirectory(RemoveForceSensorLinkOffset)
add_subdirectory(ServoController)
add_subdirectory(ThermoEstimator)
add_subdirectory(ThermoLimiter)
add_subdirectory(TorqueController)
add_subdirectory(ImageData2CameraImage)
add_subdirectory(ExtractCameraImage)
add_subdirectory(CaptureController)
add_subdirectory(RangeNoiseMixer)
add_subdirectory(AverageFilter)
add_subdirectory(EmergencyStopper)
if (USE_HRPSYSUTIL)
  add_subdirectory(Viewer)
  add_subdirectory(CameraImageViewer)
  add_subdirectory(JpegDecoder)
  add_subdirectory(JpegEncoder)
  add_subdirectory(RGB2Gray)
  add_subdirectory(ResizeImage)
  add_subdirectory(RotateImage)
  add_subdirectory(VirtualCamera)
  add_subdirectory(Simulator)
  add_subdirectory(RangeDataViewer)
  add_subdirectory(UndistortImage)
  add_subdirectory(CameraImageLoader)
endif()
if (QHULL_FOUND)
  add_subdirectory(CollisionDetector)
endif()
add_subdirectory(PDcontroller)
add_subdirectory(Beeper)
add_subdirectory(ReferenceForceUpdater)
add_subdirectory(AccelerationFilter)
add_subdirectory(ObjectContactTurnaroundDetector)

if (NOT APPLE AND USE_HRPSYSUTIL)
  add_subdirectory(VideoCapture)
endif()

find_package(Irrlicht)
if (IRRLICHT_FOUND AND USE_HRPSYSUTIL)
  add_subdirectory(OGMap3DViewer)
endif()

# Octomap
pkg_check_modules(OCTOMAP octomap)
if (OCTOMAP_FOUND)
  add_subdirectory(OccupancyGridMap3D)
endif()

find_package(PCL)
if (NOT "${PCL_LIBRARIES}" STREQUAL "")
  list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")
endif()

if (PCL_FOUND)
  add_subdirectory(ApproximateVoxelGridFilter)
  add_subdirectory(SORFilter)
  add_subdirectory(MLSFilter)
  add_subdirectory(PCDLoader)
  add_subdirectory(PlaneRemover)
  add_subdirectory(PointCloudViewer)
  add_subdirectory(VoxelGridFilter)
  if (OPENNI2_FOUND)
    add_subdirectory(OpenNIGrabber)
  endif()
endif()

set(EXTRA_RTC_DIRS "" CACHE PATH "directories of extra RTCs")
foreach(rtc_dir ${EXTRA_RTC_DIRS})
  add_subdirectory(${rtc_dir} ${rtc_dir})
endforeach()


