cmake_minimum_required(VERSION 2.8.3) project(shared_serial) ## Find catkin macros and libraries ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages find_package(catkin REQUIRED COMPONENTS roscpp message_generation) ####################################### ## Declare ROS messages and services ## ####################################### ## Generate messages in the 'msg' folder add_message_files( DIRECTORY msg ) ## Generate services in the 'srv' folder add_service_files( DIRECTORY srv ) ## Generate added messages and services with any dependencies listed here generate_messages() ################################### ## catkin specific configuration ## ################################### ## The catkin_package macro generates cmake config files for your package ## Declare things to be passed to dependent projects ## INCLUDE_DIRS: uncomment this if you package contains header files ## LIBRARIES: libraries you create in this project that dependent projects also need ## CATKIN_DEPENDS: catkin_packages dependent projects also need ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( INCLUDE_DIRS include LIBRARIES ${PROJECT_NAME} CATKIN_DEPENDS roscpp message_runtime ) ########### ## Build ## ########### ## Specify additional locations of header files ## Your package locations should be listed before other locations # include_directories(include) include_directories( include ${catkin_INCLUDE_DIRS} ) ## Declare a cpp library add_library(${PROJECT_NAME} src/client.cpp ) ## Declare a cpp executable add_executable(server src/server.cpp src/watchdog.cpp src/LxSerial.cpp) ## Add cmake target dependencies of the executable/library ## as an example, message headers may need to be generated before nodes add_dependencies(${PROJECT_NAME} shared_serial_generate_messages_cpp) add_dependencies(server shared_serial_generate_messages_cpp) target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES}) target_link_libraries(server ${catkin_LIBRARIES} pthread) ############# ## Install ## ############# ## Mark executables and/or libraries for installation install(TARGETS ${PROJECT_NAME} server ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) ## Mark cpp header files for installation install(FILES include/${PROJECT_NAME}/client.h DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} )