diff --git a/urdf/CMakeLists.txt b/urdf/CMakeLists.txt
index d3cfecf..ac088c9 100644
--- a/urdf/CMakeLists.txt
+++ b/urdf/CMakeLists.txt
@@ -10,11 +10,14 @@ find_package(catkin REQUIRED COMPONENTS
find_package(TinyXML REQUIRED)
+find_package(PkgConfig)
+pkg_check_modules(libpcrecpp libpcrecpp)
+
catkin_package(
LIBRARIES ${PROJECT_NAME}
INCLUDE_DIRS include ${TinyXML_INCLUDE_DIRS}
CATKIN_DEPENDS rosconsole_bridge roscpp
- DEPENDS urdfdom_headers urdfdom Boost
+ DEPENDS urdfdom_headers urdfdom Boost pcrecpp
)
include_directories(SYSTEM ${Boost_INCLUDE_DIR})
@@ -30,7 +33,7 @@ include_directories(
link_directories(${catkin_LIBRARY_DIRS})
add_library(${PROJECT_NAME} src/model.cpp src/rosconsole_bridge.cpp)
-target_link_libraries(${PROJECT_NAME} ${TinyXML_LIBRARIES} ${catkin_LIBRARIES} ${urdfdom_LIBRARIES})
+target_link_libraries(${PROJECT_NAME} ${TinyXML_LIBRARIES} ${catkin_LIBRARIES} ${urdfdom_LIBRARIES} ${libpcrecpp_LIBRARIES})
if(APPLE)
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
diff --git a/urdf/package.xml b/urdf/package.xml
index 5a778e6..c0cc382 100644
--- a/urdf/package.xml
+++ b/urdf/package.xml
@@ -23,6 +23,7 @@
liburdfdom-headers-dev
rosconsole_bridge
roscpp
+ pcre
urdf_parser_plugin
pluginlib
cmake_modules
@@ -32,6 +33,7 @@
liburdfdom-headers-dev
rosconsole_bridge
roscpp
+ pcre
urdf_parser_plugin
pluginlib
diff --git a/urdf/src/model.cpp b/urdf/src/model.cpp
index 7a6d4ff..636c697 100644
--- a/urdf/src/model.cpp
+++ b/urdf/src/model.cpp
@@ -52,6 +52,9 @@
#include
#include
+#include
+pcrecpp::RE __re__("");
+
namespace urdf{
static bool IsColladaData(const std::string& data)