Skip to content

Commit f749805

Browse files
committed
add ros package
1 parent 746fcc3 commit f749805

File tree

5 files changed

+154
-0
lines changed

5 files changed

+154
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.vscode

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "upstream"]
2+
path = upstream
3+
url = https://github.com/MRPT/mrpt.git

python_mrpt/CMakeLists.txt

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# ROS wrapper CMake project for these MRPT libraries:
2+
# mrpt-nav, mrpt-kinematics
3+
4+
cmake_minimum_required(VERSION 3.5)
5+
project(python_mrpt)
6+
7+
include(ExternalProject)
8+
9+
ExternalProject_Add(
10+
mrpt
11+
PREFIX ${CMAKE_BINARY_DIR}/mrpt-build
12+
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../upstream/
13+
CMAKE_ARGS
14+
# Main settings:
15+
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
16+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
17+
# Disabled stuff:
18+
-DDISABLE_JSONCPP=ON
19+
-DMRPT_INSTALL_EXAMPLES=OFF
20+
-DMRPT_INSTALL_SHARE_DIRS=OFF
21+
-DMRPT_BUILD_MANPAGES=OFF
22+
-DMRPT_INSTALL_CONFIG_HEADERS=OFF
23+
# Granular builds for each ROS package:
24+
-DMRPT_BUILD_APPLICATIONS=OFF
25+
-DMRPT_DISABLE_PYTHON_BINDINGS=OFF # Build pymrpt!
26+
-DMRPT_WITH_ROBOPEAK_LIDAR=OFF
27+
-DMRPT_BUILD_wxThings=OFF
28+
-DMRPT_BUILD_rplidar_sdk=OFF
29+
-DMRPT_BUILD_xsens=OFF
30+
-DMRPT_BUILD_nanogui=OFF
31+
# Libs:
32+
-DBUILD_mrpt-apps=OFF
33+
-DBUILD_mrpt-bayes=OFF
34+
-DBUILD_mrpt-comms=OFF
35+
-DBUILD_mrpt-config=OFF
36+
-DBUILD_mrpt-containers=OFF
37+
-DBUILD_mrpt-core=OFF
38+
-DBUILD_mrpt-expr=OFF
39+
-DBUILD_mrpt-graphs=OFF
40+
-DBUILD_mrpt-graphslam=OFF
41+
-DBUILD_mrpt-gui=OFF
42+
-DBUILD_mrpt-hwdrivers=OFF
43+
-DBUILD_mrpt-img=OFF
44+
-DBUILD_mrpt-io=OFF
45+
-DBUILD_mrpt-kinematics=OFF
46+
-DBUILD_mrpt-maps=OFF
47+
-DBUILD_mrpt-math=OFF
48+
-DBUILD_mrpt-nav=OFF
49+
-DBUILD_mrpt-obs=OFF
50+
-DBUILD_mrpt-opengl=OFF
51+
-DBUILD_mrpt-poses=OFF
52+
-DBUILD_mrpt-random=OFF
53+
-DBUILD_mrpt-ros2bridge=OFF
54+
-DBUILD_mrpt-rtti=OFF
55+
-DBUILD_mrpt-serialization=OFF
56+
-DBUILD_mrpt-slam=OFF
57+
-DBUILD_mrpt-system=OFF
58+
-DBUILD_mrpt-tclap=OFF
59+
-DBUILD_mrpt-tfest=OFF
60+
-DBUILD_mrpt-topography=OFF
61+
-DBUILD_mrpt-typemeta=OFF
62+
-DBUILD_mrpt-vision=OFF
63+
# no install during build
64+
INSTALL_COMMAND ""
65+
)
66+
67+
# Actual "install":
68+
install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/mrpt-build/src/mrpt-build --target install)")

python_mrpt/package.xml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?xml version="1.0"?>
2+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
3+
<package format="3">
4+
<name>python_mrpt</name>
5+
<!-- Before updating version number, read [MRPT_ROOT]/version_prefix.txt first -->
6+
<version>2.13.5</version>
7+
<description>Python wrapper for Mobile Robot Programming Toolkit (MRPT) libraries</description>
8+
9+
<maintainer email="[email protected]">Jose-Luis Blanco-Claraco</maintainer>
10+
<license>BSD</license>
11+
12+
<url type="website">https://www.mrpt.org/</url>
13+
<url type="bugtracker">https://github.com/MRPT/mrpt/issues</url>
14+
15+
<author email="[email protected]">Jose-Luis Blanco-Claraco</author>
16+
17+
<!-- Deps required by user code (they are in public headers or built as ROS (vs system) packages -->
18+
<depend>mrpt_libapps</depend>
19+
<depend>mrpt_slam</depend>
20+
<depend>mrpt_gui</depend>
21+
<depend>mrpt_nav</depend>
22+
23+
<!-- COMMON DEPS: This ensures we have ROS_DISTRO, etc. env vars -->
24+
<build_depend>ros_environment</build_depend>
25+
26+
<!-- Deps required by building only -->
27+
<!-- <build_depend condition="$ROS_VERSION == 2">libfyaml-dev</build_depend> --> <!-- Removed since not packaged for non-Debian platforms -->
28+
<build_depend>pkg-config</build_depend>
29+
<build_depend>zlib</build_depend>
30+
31+
<!-- More build deps that are not actually required by this ROS package, but we need them for the mrpt/config.h to reflect we have such feature -->
32+
<build_depend>libjpeg</build_depend> <!-- To ensure no built-in version is used -->
33+
<build_depend>glut</build_depend>
34+
<build_depend>libglfw3-dev</build_depend>
35+
<build_depend>libxrandr</build_depend>
36+
<build_depend>libxxf86vm</build_depend>
37+
<build_depend>opengl</build_depend>
38+
<build_depend>assimp-dev</build_depend>
39+
<build_depend>ffmpeg</build_depend>
40+
<build_depend>libfreenect-dev</build_depend>
41+
<build_depend>libopenni2-dev</build_depend>
42+
<build_depend>libpcap</build_depend>
43+
<build_depend>libudev-dev</build_depend>
44+
<build_depend>libusb-1.0-dev</build_depend>
45+
<build_depend>pybind11-dev</build_depend>
46+
<build_depend>python3-pip</build_depend>
47+
<build_depend>tinyxml2</build_depend>
48+
<build_depend>wx-common</build_depend>
49+
<build_depend>wxwidgets</build_depend>
50+
51+
<!-- <build_depend>libqt5-opengl-dev</build_depend> -->
52+
<!-- <build_depend>qtbase5-dev</build_depend> -->
53+
54+
<!-- Required for cmake scripts to find ament_cmake and then realize we are in ROS 2, not ROS 1 -->
55+
<build_depend condition="$ROS_VERSION == 2">ament_cmake</build_depend>
56+
57+
<!-- Deps for ros1bridge/ros2bridge -->
58+
<build_depend>cv_bridge</build_depend>
59+
<build_depend>libopencv-dev</build_depend>
60+
<build_depend>liboctomap-dev</build_depend>
61+
<!--<depend>pcl_conversions</depend> WAS: To run unit tests only -->
62+
63+
<build_depend condition="$ROS_VERSION == 1">rosbag_storage</build_depend>
64+
<build_depend condition="$ROS_VERSION == 2">rosbag2_storage</build_depend>
65+
<build_depend condition="$ROS_VERSION == 1">roscpp</build_depend>
66+
<build_depend condition="$ROS_VERSION == 2">rclcpp</build_depend>
67+
68+
<!-- for rosbag2rawlog (ROS 1 only, ROS 2 version lives in the mrpt_navigation repository) -->
69+
<build_depend condition="$ROS_VERSION == 1">tf2_geometry_msgs</build_depend>
70+
71+
<doc_depend>doxygen</doc_depend>
72+
73+
<!-- Minimum entries to release non-catkin pkgs: -->
74+
<buildtool_depend>cmake</buildtool_depend>
75+
<export>
76+
<build_type>cmake</build_type>
77+
<rosdoc config="doc/rosdoc.yaml" />
78+
</export>
79+
<!-- End -->
80+
81+
</package>

upstream

Submodule upstream added at cf173a1

0 commit comments

Comments
 (0)