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