@@ -88,6 +88,23 @@ def get_directory(filename, dirs):
88
88
except :
89
89
octomap_found = False
90
90
91
+ # DART has some URDF dependency
92
+ urdfdom_check = ['/usr/local/include' , '/usr/include' , '/opt/local/include' , '/sw/include' , '/opt/homebrew/include' ]
93
+ urdfdom_check = urdfdom_check + [i + '/urdfdom_headers' for i in urdfdom_check ]
94
+ urdfdom_libs = ['/usr/lib' , '/usr/local/lib64' , '/usr/local/lib' , '/opt/local/lib' , '/sw/lib' , '/lib' , '/usr/lib64' , '/usr/lib/x86_64-linux-gnu/' , '/usr/local/lib/x86_64-linux-gnu/' , '/usr/lib/aarch64-linux-gnu/' , '/usr/local/lib/aarch64-linux-gnu/' , '/opt/homebrew/lib' ]
95
+ if 'ROS_DISTRO' in os .environ :
96
+ urdfdom_check .append ('/opt/ros/' + os .environ ['ROS_DISTRO' ] + '/include' )
97
+ urdfdom_libs .append ('/opt/ros/' + os .environ ['ROS_DISTRO' ] + '/lib' )
98
+ urdfdom_include = []
99
+ urdfdom_lib = []
100
+ urdfdom_found = False
101
+ try :
102
+ urdfdom_include = [get_directory ('urdf_model/model.h' , urdfdom_check )]
103
+ # urdfdom_lib = [get_directory('liburdfdom_model.' + suffix, urdfdom_libs)]
104
+ urdfdom_found = True
105
+ except :
106
+ urdfdom_found = False
107
+
91
108
dart_load_prefix = 'utils'
92
109
dart_include = []
93
110
dart_major = - 1
@@ -164,21 +181,24 @@ def get_directory(filename, dirs):
164
181
dart_cxx_flags = '-std=c++17'
165
182
166
183
dart_include = []
184
+ if urdfdom_found :
185
+ dart_include += urdfdom_include
186
+ else :
187
+ fail ('urdfdom_headers not found' , required )
167
188
dart_include .append (get_directory ('dart/dart.hpp' , includes_check ))
168
189
dart_include .append (get_directory ('dart/' + dart_load_prefix + '/' + dart_load_prefix + '.hpp' , includes_check ))
169
190
dart_include .append (get_directory ('dart/' + dart_load_prefix + '/urdf/urdf.hpp' , includes_check ))
170
191
dart_include = list (set (dart_include ))
171
192
conf .end_msg (str (dart_major )+ '.' + str (dart_minor )+ '.' + str (dart_patch )+ ' in ' + dart_include [0 ])
172
193
173
- more_includes = []
174
-
175
194
conf .start_msg ('Checking for DART libs (including io/urdf)' )
195
+
176
196
dart_lib = []
177
197
dart_lib .append (get_directory ('libdart.' + suffix , libs_check ))
178
198
dart_lib .append (get_directory ('libdart-' + dart_load_prefix + '.' + suffix , libs_check ))
179
199
dart_lib .append (get_directory ('libdart-' + dart_load_prefix + '-urdf.' + suffix , libs_check ))
180
200
dart_lib = list (set (dart_lib ))
181
- conf .env .INCLUDES_DART = dart_include + more_includes
201
+ conf .env .INCLUDES_DART = dart_include
182
202
conf .env .LIBPATH_DART = dart_lib
183
203
conf .env .LIB_DART = ['dart' , 'dart-' + dart_load_prefix , 'dart-' + dart_load_prefix + '-urdf' ]
184
204
if len (dart_cxx_flags ) > 0 :
0 commit comments