]> defiant.homedns.org Git - wt_open_manipulator.git/blob - CMakeLists.txt
Automatically power up/down
[wt_open_manipulator.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.8.3)
2 project(wt_open_manipulator)
3
4 ## Compile as C++11, supported in ROS Kinetic and newer
5 # add_compile_options(-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         joint_trajectory_controller
13         controller_manager
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 exec_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 exec_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 exec_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 your 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 wt_open_manipulator
108 #  CATKIN_DEPENDS other_catkin_pkg
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(
119  include
120  ${catkin_INCLUDE_DIRS}
121 )
122
123 ## Declare a C++ library
124 # add_library(${PROJECT_NAME}
125 #   src/${PROJECT_NAME}/wt_open_manipulator.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(${PROJECT_NAME}_node src/wt_open_manipulator_node.cpp)
137
138 ## Rename C++ executable without prefix
139 ## The above recommended prefix causes long target names, the following renames the
140 ## target back to the shorter version for ease of user use
141 ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"
142 # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")
143
144 ## Add cmake target dependencies of the executable
145 ## same as for the library above
146 # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
147
148 ## Specify libraries to link a library or executable target against
149 target_link_libraries(${PROJECT_NAME}_node
150   ${catkin_LIBRARIES}
151 )
152
153 #############
154 ## Install ##
155 #############
156
157 # all install targets should use catkin DESTINATION variables
158 # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
159
160 ## Mark executable scripts (Python etc.) for installation
161 ## in contrast to setup.py, you can choose the destination
162 # install(PROGRAMS
163 #   scripts/my_python_script
164 #   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
165 # )
166
167 ## Mark executables and/or libraries for installation
168 # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node
169 #   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
170 #   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
171 #   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
172 # )
173
174 ## Mark cpp header files for installation
175 # install(DIRECTORY include/${PROJECT_NAME}/
176 #   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
177 #   FILES_MATCHING PATTERN "*.h"
178 #   PATTERN ".svn" EXCLUDE
179 # )
180
181 ## Mark other files for installation (e.g. launch and bag files, etc.)
182 # install(FILES
183 #   # myfile1
184 #   # myfile2
185 #   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
186 # )
187
188 #############
189 ## Testing ##
190 #############
191
192 ## Add gtest based cpp test target and link libraries
193 # catkin_add_gtest(${PROJECT_NAME}-test test/test_wt_open_manipulator.cpp)
194 # if(TARGET ${PROJECT_NAME}-test)
195 #   target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
196 # endif()
197
198 ## Add folders to be run by python nosetests
199 # catkin_add_nosetests(test)