Advertisement
Guest User

CMakeLists.txt

a guest
Mar 11th, 2017
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.02 KB | None | 0 0
  1. cmake_minimum_required(VERSION 2.8.3)
  2. project(package_pub_sub)
  3.  
  4. ## Add support for C++11, supported in ROS Kinetic and newer
  5. # add_definitions(-std=c++11)
  6.  
  7. ## Find catkin macros and libraries
  8. ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
  9. ## is used, also find other catkin packages
  10. find_package(catkin REQUIRED COMPONENTS
  11. roscpp
  12. rospy
  13. std_msgs
  14. )
  15.  
  16. ## System dependencies are found with CMake's conventions
  17. # find_package(Boost REQUIRED COMPONENTS system)
  18.  
  19.  
  20. ## Uncomment this if the package has a setup.py. This macro ensures
  21. ## modules and global scripts declared therein get installed
  22. ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
  23. # catkin_python_setup()
  24.  
  25. ################################################
  26. ## Declare ROS messages, services and actions ##
  27. ################################################
  28.  
  29. ## To declare and build messages, services or actions from within this
  30. ## package, follow these steps:
  31. ## * Let MSG_DEP_SET be the set of packages whose message types you use in
  32. ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
  33. ## * In the file package.xml:
  34. ## * add a build_depend tag for "message_generation"
  35. ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
  36. ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in
  37. ## but can be declared for certainty nonetheless:
  38. ## * add a run_depend tag for "message_runtime"
  39. ## * In this file (CMakeLists.txt):
  40. ## * add "message_generation" and every package in MSG_DEP_SET to
  41. ## find_package(catkin REQUIRED COMPONENTS ...)
  42. ## * add "message_runtime" and every package in MSG_DEP_SET to
  43. ## catkin_package(CATKIN_DEPENDS ...)
  44. ## * uncomment the add_*_files sections below as needed
  45. ## and list every .msg/.srv/.action file to be processed
  46. ## * uncomment the generate_messages entry below
  47. ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
  48.  
  49. ## Generate messages in the 'msg' folder
  50. # add_message_files(
  51. # FILES
  52. # Message1.msg
  53. # Message2.msg
  54. # )
  55.  
  56. ## Generate services in the 'srv' folder
  57. # add_service_files(
  58. # FILES
  59. # Service1.srv
  60. # Service2.srv
  61. # )
  62.  
  63. ## Generate actions in the 'action' folder
  64. # add_action_files(
  65. # FILES
  66. # Action1.action
  67. # Action2.action
  68. # )
  69.  
  70. ## Generate added messages and services with any dependencies listed here
  71. # generate_messages(
  72. # DEPENDENCIES
  73. # std_msgs # Or other packages containing msgs
  74. # )
  75.  
  76. ################################################
  77. ## Declare ROS dynamic reconfigure parameters ##
  78. ################################################
  79.  
  80. ## To declare and build dynamic reconfigure parameters within this
  81. ## package, follow these steps:
  82. ## * In the file package.xml:
  83. ## * add a build_depend and a run_depend tag for "dynamic_reconfigure"
  84. ## * In this file (CMakeLists.txt):
  85. ## * add "dynamic_reconfigure" to
  86. ## find_package(catkin REQUIRED COMPONENTS ...)
  87. ## * uncomment the "generate_dynamic_reconfigure_options" section below
  88. ## and list every .cfg file to be processed
  89.  
  90. ## Generate dynamic reconfigure parameters in the 'cfg' folder
  91. # generate_dynamic_reconfigure_options(
  92. # cfg/DynReconf1.cfg
  93. # cfg/DynReconf2.cfg
  94. # )
  95.  
  96. ###################################
  97. ## catkin specific configuration ##
  98. ###################################
  99. ## The catkin_package macro generates cmake config files for your package
  100. ## Declare things to be passed to dependent projects
  101. ## INCLUDE_DIRS: uncomment this if you package contains header files
  102. ## LIBRARIES: libraries you create in this project that dependent projects also need
  103. ## CATKIN_DEPENDS: catkin_packages dependent projects also need
  104. ## DEPENDS: system dependencies of this project that dependent projects also need
  105. catkin_package(
  106. # INCLUDE_DIRS include
  107. # LIBRARIES package_pub_sub
  108. # CATKIN_DEPENDS roscpp rospy
  109. # DEPENDS system_lib
  110. )
  111.  
  112. ###########
  113. ## Build ##
  114. ###########
  115.  
  116. ## Specify additional locations of header files
  117. ## Your package locations should be listed before other locations
  118. #include_directories(include)
  119. include_directories(
  120. ${catkin_INCLUDE_DIRS}
  121. )
  122.  
  123. ## Declare a C++ library
  124. # add_library(${PROJECT_NAME}
  125. # src/${PROJECT_NAME}/package_pub_sub.cpp
  126. # )
  127.  
  128. ## Add cmake target dependencies of the library
  129. ## as an example, code may need to be generated before libraries
  130. ## either from message generation or dynamic reconfigure
  131. # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
  132.  
  133. ## Declare a C++ executable
  134. ## With catkin_make all packages are built within a single CMake context
  135. ## The recommended prefix ensures that target names across packages don't collide
  136. add_executable(node_pub src/node_pub.cpp)
  137. add_executable(node_sub src/node_sub.cpp)
  138.  
  139. ## Rename C++ executable without prefix
  140. ## The above recommended prefix causes long target names, the following renames the
  141. ## target back to the shorter version for ease of user use
  142. ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"
  143. # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")
  144.  
  145. ## Add cmake target dependencies of the executable
  146. ## same as for the library above
  147. # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
  148. #add_dependencies(node_pub ${PROJECT_NAME}_gencpp)
  149. #add_dependencies(node_sub ${PROJECT_NAME}_gencpp)
  150.  
  151. ## Specify libraries to link a library or executable target against
  152. target_link_libraries(node_pub ${catkin_LIBRARIES})
  153. target_link_libraries(node_sub ${catkin_LIBRARIES})
  154. #############
  155. ## Install ##
  156. #############
  157.  
  158. # all install targets should use catkin DESTINATION variables
  159. # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
  160.  
  161. ## Mark executable scripts (Python etc.) for installation
  162. ## in contrast to setup.py, you can choose the destination
  163. # install(PROGRAMS
  164. # scripts/my_python_script
  165. # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
  166. # )
  167.  
  168. ## Mark executables and/or libraries for installation
  169. # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node
  170. # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  171. # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  172. # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
  173. # )
  174.  
  175. ## Mark cpp header files for installation
  176. # install(DIRECTORY include/${PROJECT_NAME}/
  177. # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
  178. # FILES_MATCHING PATTERN "*.h"
  179. # PATTERN ".svn" EXCLUDE
  180. # )
  181.  
  182. ## Mark other files for installation (e.g. launch and bag files, etc.)
  183. # install(FILES
  184. # # myfile1
  185. # # myfile2
  186. # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
  187. # )
  188.  
  189. #############
  190. ## Testing ##
  191. #############
  192.  
  193. ## Add gtest based cpp test target and link libraries
  194. # catkin_add_gtest(${PROJECT_NAME}-test test/test_package_pub_sub.cpp)
  195. # if(TARGET ${PROJECT_NAME}-test)
  196. # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
  197. # endif()
  198.  
  199. ## Add folders to be run by python nosetests
  200. # catkin_add_nosetests(test)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement