cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
set(ROS_BUILD_TYPE RelWithDeb)
rosbuild_init()

rosbuild_genmsg()
rosbuild_gensrv()

# add dynamic reconfigure api for hokuyo
rosbuild_find_ros_package(dynamic_reconfigure)
include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake)
gencfg()
rosbuild_add_executable(bin/hokuyo_node src/hokuyo_node.cpp)
rosbuild_add_executable(bin/camera_synchronizer src/camera_synchronizer.cpp)
target_link_libraries(bin/camera_synchronizer vision_reconfigure)
rosbuild_add_library(vision_reconfigure src/vision_reconfigure.cpp)

add_definitions(-fPIC)

rosbuild_add_boost_directories()

rosbuild_add_library(gazebo_ros_camera src/gazebo_ros_camera.cpp)
rosbuild_link_boost(gazebo_ros_camera thread)
rosbuild_add_library(gazebo_ros_laser src/gazebo_ros_laser.cpp)
rosbuild_link_boost(gazebo_ros_laser thread)
rosbuild_add_library(gazebo_ros_block_laser src/gazebo_ros_block_laser.cpp)
rosbuild_link_boost(gazebo_ros_block_laser thread)
rosbuild_add_library(gazebo_ros_template src/gazebo_ros_template.cpp)
rosbuild_link_boost(gazebo_ros_template thread)
rosbuild_add_library(gazebo_ros_factory src/gazebo_ros_factory.cpp)
rosbuild_link_boost(gazebo_ros_factory thread)
rosbuild_add_library(gazebo_ros_pub_world_state src/gazebo_ros_pub_world_state.cpp)
rosbuild_link_boost(gazebo_ros_pub_world_state thread)
rosbuild_add_library(gazebo_ros_step_world_state src/gazebo_ros_step_world_state.cpp)
rosbuild_link_boost(gazebo_ros_step_world_state thread)
rosbuild_add_library(gazebo_ros_time src/gazebo_ros_time.cpp)
rosbuild_link_boost(gazebo_ros_time thread)
rosbuild_add_library(gazebo_ros_p3d src/gazebo_ros_p3d.cpp)
rosbuild_link_boost(gazebo_ros_p3d thread)
rosbuild_add_library(gazebo_ros_imu src/gazebo_ros_imu.cpp)
rosbuild_link_boost(gazebo_ros_imu thread)
rosbuild_add_library(gazebo_ros_projector src/gazebo_ros_projector.cpp)
rosbuild_link_boost(gazebo_ros_projector thread)
rosbuild_add_library(gazebo_ros_f3d src/gazebo_ros_f3d.cpp)
rosbuild_link_boost(gazebo_ros_f3d thread)
rosbuild_add_library(gazebo_ros_bumper src/gazebo_ros_bumper.cpp)
rosbuild_link_boost(gazebo_ros_bumper thread)
rosbuild_add_library(gazebo_ros_sim_iface src/gazebo_ros_sim_iface.cpp)
rosbuild_link_boost(gazebo_ros_sim_iface thread)
rosbuild_add_library(gazebo_ros_force src/gazebo_ros_force.cpp)
rosbuild_link_boost(gazebo_ros_force thread)

rosbuild_add_executable(bin/gazebo_ros_diffdrive src/gazebo_ros_diffdrive.cpp)
rosbuild_link_boost(bin/gazebo_ros_diffdrive thread)

rosbuild_add_executable(bin/gazebo_model src/gazebo_model.cpp)
rosbuild_link_boost(bin/gazebo_model program_options)

exec_program("glxinfo" OUTPUT_VARIABLE glx_out RETURN_VALUE glx_val)
if(${glx_val} EQUAL 0)
  message(STATUS "run test here")
else(${glx_val} EQUAL 0)
  message(STATUS "no test here")
endif(${glx_val} EQUAL 0)

