cmake_minimum_required(VERSION 2.8.12) project(ur_rtde_driver) add_definitions( -DROS_BUILD ) if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) message("${PROJECT_NAME}: You did not request a specific build type: selecting 'RelWithDebInfo'.") set(CMAKE_BUILD_TYPE RelWithDebInfo) endif() find_package(catkin REQUIRED COMPONENTS actionlib control_msgs controller_manager geometry_msgs hardware_interface industrial_msgs roscpp sensor_msgs std_srvs tf trajectory_msgs ur_msgs ) catkin_package( INCLUDE_DIRS include LIBRARIES ur_rtde_driver CATKIN_DEPENDS actionlib control_msgs controller_manager geometry_msgs hardware_interface industrial_msgs roscpp sensor_msgs trajectory_msgs ur_msgs ) # check c++11 / c++0x include(CheckCXXCompilerFlag) check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11) check_cxx_compiler_flag("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) add_compile_options(-std=c++11) elseif(COMPILER_SUPPORTS_CXX0X) add_compile_options(-std=c++0x) else() message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler. Suggested solution: update the pkg build-essential ") endif() add_compile_options(-Wall) add_compile_options(-Wextra) add_compile_options(-Wno-unused-parameter) include_directories( include ${catkin_INCLUDE_DIRS} ) add_library(ur_rtde_driver src/comm/stream.cpp src/comm/tcp_socket.cpp src/ros/service_stopper.cpp src/ur/commander.cpp src/ur/master_board.cpp src/ur/messages.cpp src/ur/robot_mode.cpp src/ur/rt_state.cpp src/ur/server.cpp ) target_link_libraries(ur_rtde_driver ${catkin_LIBRARIES}) add_dependencies(ur_rtde_driver ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) install(TARGETS ur_rtde_driver ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) install(DIRECTORY config launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) install(DIRECTORY include/${PROJECT_NAME}/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} FILES_MATCHING PATTERN "*.h" ) if (CATKIN_ENABLE_TESTING) set(${PROJECT_NAME}_TEST_SOURCES tests/ur/master_board.cpp tests/ur/robot_mode.cpp tests/ur/rt_state.cpp) catkin_add_gtest(ur_rtde_driver_test ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_TEST_SOURCES} tests/main.cpp) target_link_libraries(ur_rtde_driver_test ur_rtde_driver ${catkin_LIBRARIES}) endif()