39 lines
1.0 KiB
Docker
39 lines
1.0 KiB
Docker
ARG CC_PLATFORM_IMAGE
|
|
ARG VENDOR_PACKAGES_IMAGE
|
|
|
|
FROM ${CC_PLATFORM_IMAGE} AS ros_src
|
|
|
|
ARG ROS_DISTRO
|
|
|
|
WORKDIR /workspace
|
|
RUN mkdir -p /workspace/src
|
|
COPY ros2/ros_rolling.repos .
|
|
RUN vcs import --input ros_${ROS_DISTRO}.repos src
|
|
RUN echo "Build ros ${ROS_DISTRO}"
|
|
|
|
FROM ${VENDOR_PACKAGES_IMAGE} AS vendor_images
|
|
|
|
FROM ${CC_PLATFORM_IMAGE} AS ros_builder
|
|
|
|
COPY --from=ros_src /workspace /workspace
|
|
COPY --from=vendor_images ${TARGET_SYSROOT} ${TARGET_SYSROOT}
|
|
|
|
RUN touch src/ros2/geometry2/tf2_bullet/COLCON_IGNORE \
|
|
&& touch src/ros2/rosbag2/rosbag2_storage_sqlite3/COLCON_IGNORE
|
|
|
|
RUN MAKEFLAGS="-j6" colcon build \
|
|
--executor parallel \
|
|
--parallel-workers 6 \
|
|
--install-base ${TARGET_SYSROOT} \
|
|
--merge-install \
|
|
--packages-up-to ros_cpp \
|
|
--cmake-force-configure \
|
|
--cmake-args \
|
|
--no-warn-unused-cli \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_TOOLCHAIN_FILE=${CC_TOOLCHAIN_FILE} \
|
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
|
-DBUILD_TESTING=OFF \
|
|
-DTRACETOOLS_DISABLED=ON \
|
|
-DCV_BRIDGE_DISABLE_PYTHON=ON
|