cmake_minimum_required(VERSION 3.8) project(robotiq_controllers) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) endif() # find dependencies find_package(ament_cmake REQUIRED) find_package(controller_interface REQUIRED) find_package(std_srvs REQUIRED) set(THIS_PACKAGE_INCLUDE_DEPENDS controller_interface std_srvs ) include_directories(include) add_library(${PROJECT_NAME} SHARED src/robotiq_activation_controller.cpp ) target_include_directories(${PROJECT_NAME} PRIVATE include ) ament_target_dependencies(${PROJECT_NAME} ${THIS_PACKAGE_INCLUDE_DEPENDS} ) pluginlib_export_plugin_description_file(controller_interface controller_plugins.xml) # # INSTALL install( TARGETS ${PROJECT_NAME} EXPORT export_${PROJECT_NAME} ARCHIVE DESTINATION lib/${PROJECT_NAME} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) install( DIRECTORY include/ DESTINATION include ) if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) # the following line skips the linter which checks for copyrights # comment the line when a copyright and license is added to all source files set(ament_cmake_copyright_FOUND TRUE) # the following line skips cpplint (only works in a git repo) # comment the line when this package is in a git repo and when # a copyright and license is added to all source files set(ament_cmake_cpplint_FOUND TRUE) # the following skips uncrustify # ament_uncrustify and ament_clang_format cannot both be satisfied set(ament_cmake_uncrustify_FOUND TRUE) # the following skips xmllint # ament_xmllint requires network and can timeout if on throttled networks set(ament_cmake_xmllint_FOUND TRUE) ament_lint_auto_find_test_dependencies() endif() # # EXPORTS ament_export_include_directories( include ) ament_export_libraries( ${PROJECT_NAME} ) ament_export_targets( export_${PROJECT_NAME} ) ament_export_dependencies( ${THIS_PACKAGE_INCLUDE_DEPENDS} ) ament_package()