Skip to content

Commit 6b6c029

Browse files
authored
Merge pull request #189 from resibots/fix_urdfdom_check
Fix for urdfdom headers search
2 parents e2c2bd9 + c0ef499 commit 6b6c029

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

src/robot_dart/utils.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
#define ROBOT_DART_SHOW_WARNINGS true
1111
#endif
1212

13+
#ifndef M_PIf
1314
#define M_PIf static_cast<float>(M_PI)
15+
#endif
1416

1517
namespace robot_dart {
1618

waf_tools/dart.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,23 @@ def get_directory(filename, dirs):
8888
except:
8989
octomap_found = False
9090

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+
91108
dart_load_prefix = 'utils'
92109
dart_include = []
93110
dart_major = -1
@@ -164,21 +181,24 @@ def get_directory(filename, dirs):
164181
dart_cxx_flags = '-std=c++17'
165182

166183
dart_include = []
184+
if urdfdom_found:
185+
dart_include += urdfdom_include
186+
else:
187+
fail('urdfdom_headers not found', required)
167188
dart_include.append(get_directory('dart/dart.hpp', includes_check))
168189
dart_include.append(get_directory('dart/'+dart_load_prefix+'/'+dart_load_prefix+'.hpp', includes_check))
169190
dart_include.append(get_directory('dart/'+dart_load_prefix+'/urdf/urdf.hpp', includes_check))
170191
dart_include = list(set(dart_include))
171192
conf.end_msg(str(dart_major)+'.'+str(dart_minor)+'.'+str(dart_patch)+' in '+dart_include[0])
172193

173-
more_includes = []
174-
175194
conf.start_msg('Checking for DART libs (including io/urdf)')
195+
176196
dart_lib = []
177197
dart_lib.append(get_directory('libdart.' + suffix, libs_check))
178198
dart_lib.append(get_directory('libdart-'+dart_load_prefix+'.' + suffix, libs_check))
179199
dart_lib.append(get_directory('libdart-'+dart_load_prefix+'-urdf.' + suffix, libs_check))
180200
dart_lib = list(set(dart_lib))
181-
conf.env.INCLUDES_DART = dart_include + more_includes
201+
conf.env.INCLUDES_DART = dart_include
182202
conf.env.LIBPATH_DART = dart_lib
183203
conf.env.LIB_DART = ['dart', 'dart-'+dart_load_prefix, 'dart-'+dart_load_prefix+'-urdf']
184204
if len(dart_cxx_flags) > 0:

0 commit comments

Comments
 (0)