Fix naming of dynamic reconfigure files
[ros_wild_thumper.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.8.3)
2 project(wild_thumper)
3
4 ## Find catkin macros and libraries
5 ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6 ## is used, also find other catkin packages
7 find_package(catkin REQUIRED sensor_msgs cv_bridge roscpp rospy std_msgs image_transport dynamic_reconfigure message_generation rosruby)
8 find_package(OpenCV)
9
10 ## System dependencies are found with CMake's conventions
11 # find_package(Boost REQUIRED COMPONENTS system)
12
13
14 ## Uncomment this if the package has a setup.py. This macro ensures
15 ## modules and global scripts declared therein get installed
16 ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
17 catkin_python_setup()
18
19 ################################################
20 ## Declare ROS messages, services and actions ##
21 ################################################
22
23 ## To declare and build messages, services or actions from within this
24 ## package, follow these steps:
25 ## * Let MSG_DEP_SET be the set of packages whose message types you use in
26 ##   your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
27 ## * In the file package.xml:
28 ##   * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
29 ##   * If MSG_DEP_SET isn't empty the following dependencies might have been
30 ##     pulled in transitively but can be declared for certainty nonetheless:
31 ##     * add a build_depend tag for "message_generation"
32 ##     * add a run_depend tag for "message_runtime"
33 ## * In this file (CMakeLists.txt):
34 ##   * add "message_generation" and every package in MSG_DEP_SET to
35 ##     find_package(catkin REQUIRED COMPONENTS ...)
36 ##   * add "message_runtime" and every package in MSG_DEP_SET to
37 ##     catkin_package(CATKIN_DEPENDS ...)
38 ##   * uncomment the add_*_files sections below as needed
39 ##     and list every .msg/.srv/.action file to be processed
40 ##   * uncomment the generate_messages entry below
41 ##   * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
42
43 ## Generate messages in the 'msg' folder
44 add_message_files(
45   FILES
46   LedStripe.msg
47   Led.msg
48   Sensor.msg
49 )
50
51 ## Generate services in the 'srv' folder
52 add_service_files(
53   FILES
54   DWM1000Center.srv
55 )
56
57 ## Generate actions in the 'action' folder
58 # add_action_files(
59 #   FILES
60 #   Action1.action
61 #   Action2.action
62 # )
63
64 ## Generate added messages and services with any dependencies listed here
65 generate_messages(
66   DEPENDENCIES
67   std_msgs  # Or other packages containing msgs
68 )
69
70 rosruby_setup()
71 rosruby_generate_messages(fiducial_msgs)
72
73 generate_dynamic_reconfigure_options(
74   config/PathFollowing.cfg
75   config/WildThumper.cfg
76 )
77
78 ###################################
79 ## catkin specific configuration ##
80 ###################################
81 ## The catkin_package macro generates cmake config files for your package
82 ## Declare things to be passed to dependent projects
83 ## INCLUDE_DIRS: uncomment this if you package contains header files
84 ## LIBRARIES: libraries you create in this project that dependent projects also need
85 ## CATKIN_DEPENDS: catkin_packages dependent projects also need
86 ## DEPENDS: system dependencies of this project that dependent projects also need
87 catkin_package(
88 #  INCLUDE_DIRS include
89 #  LIBRARIES wild_thumper
90 #   CATKIN_DEPENDS sensor_msgs
91 #  DEPENDS system_lib
92    CATKIN_DEPENDS message_runtime
93 )
94
95 ###########
96 ## Build ##
97 ###########
98
99 ## Specify additional locations of header files
100 ## Your package locations should be listed before other locations
101 include_directories(
102     ${catkin_INCLUDE_DIRS}
103     /opt/ros/tinkerforge/c_bindings/source
104 )
105
106 ## Declare a cpp library
107 # add_library(wild_thumper
108 #   src/${PROJECT_NAME}/wild_thumper.cpp
109 # )
110
111 ## Declare a cpp executable
112 add_executable(path_following src/path_following.cpp)
113
114 ## Add cmake target dependencies of the executable/library
115 ## as an example, message headers may need to be generated before nodes
116 add_dependencies(path_following ${PROJECT_NAME}_gencfg)
117
118 ## Specify libraries to link a library or executable target against
119 target_link_libraries(path_following
120    ${catkin_LIBRARIES}
121    ${OpenCV_LIBS}
122 )
123
124 #############
125 ## Install ##
126 #############
127
128 # all install targets should use catkin DESTINATION variables
129 # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
130
131 ## Mark executable scripts (Python etc.) for installation
132 ## in contrast to setup.py, you can choose the destination
133 # install(PROGRAMS
134 #   scripts/my_python_script
135 #   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
136 # )
137
138 ## Mark executables and/or libraries for installation
139 # install(TARGETS wild_thumper wild_thumper_node
140 #   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
141 #   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
142 #   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
143 # )
144
145 ## Mark cpp header files for installation
146 # install(DIRECTORY include/${PROJECT_NAME}/
147 #   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
148 #   FILES_MATCHING PATTERN "*.h"
149 #   PATTERN ".svn" EXCLUDE
150 # )
151
152 ## Mark other files for installation (e.g. launch and bag files, etc.)
153 # install(FILES
154 #   # myfile1
155 #   # myfile2
156 #   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
157 # )
158
159 #############
160 ## Testing ##
161 #############
162
163 ## Add gtest based cpp test target and link libraries
164 # catkin_add_gtest(${PROJECT_NAME}-test test/test_wild_thumper.cpp)
165 # if(TARGET ${PROJECT_NAME}-test)
166 #   target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
167 # endif()
168
169 ## Add folders to be run by python nosetests
170 # catkin_add_nosetests(test)