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