]> defiant.homedns.org Git - ros_wild_thumper.git/blob - CMakeLists.txt
3703bb7978f47271e67aec76a14b4ae4e87e7714
[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 )
104
105 ## Declare a cpp library
106 # add_library(wild_thumper
107 #   src/${PROJECT_NAME}/wild_thumper.cpp
108 # )
109
110 ## Declare a cpp executable
111 add_executable(path_following src/path_following.cpp)
112 add_executable(imu_brick_v2 src/tinkerforge_imu2.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 target_link_libraries(imu_brick_v2
124    ${catkin_LIBRARIES}
125    tinkerforge
126 )
127
128 #############
129 ## Install ##
130 #############
131
132 # all install targets should use catkin DESTINATION variables
133 # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
134
135 ## Mark executable scripts (Python etc.) for installation
136 ## in contrast to setup.py, you can choose the destination
137 # install(PROGRAMS
138 #   scripts/my_python_script
139 #   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
140 # )
141
142 ## Mark executables and/or libraries for installation
143 # install(TARGETS wild_thumper wild_thumper_node
144 #   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
145 #   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
146 #   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
147 # )
148
149 ## Mark cpp header files for installation
150 # install(DIRECTORY include/${PROJECT_NAME}/
151 #   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
152 #   FILES_MATCHING PATTERN "*.h"
153 #   PATTERN ".svn" EXCLUDE
154 # )
155
156 ## Mark other files for installation (e.g. launch and bag files, etc.)
157 # install(FILES
158 #   # myfile1
159 #   # myfile2
160 #   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
161 # )
162
163 #############
164 ## Testing ##
165 #############
166
167 ## Add gtest based cpp test target and link libraries
168 # catkin_add_gtest(${PROJECT_NAME}-test test/test_wild_thumper.cpp)
169 # if(TARGET ${PROJECT_NAME}-test)
170 #   target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
171 # endif()
172
173 ## Add folders to be run by python nosetests
174 # catkin_add_nosetests(test)