diff --git a/config/host/generic/build.sh b/config/host/generic/build.sh
index 31d497db..88fa746c 100755
--- a/config/host/generic/build.sh
+++ b/config/host/generic/build.sh
@@ -6,4 +6,10 @@ set +o nounset
. install/local_setup.bash
set -o nounset
+colcon build --packages-up-to service_msgs unique_identifier_msgs --metas src --cmake-args -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON $@
+
+set +o nounset
+. install/local_setup.bash
+set -o nounset
+
colcon build --metas src --cmake-args -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON $@
diff --git a/package.xml b/package.xml
index 537da409..112a679a 100644
--- a/package.xml
+++ b/package.xml
@@ -4,13 +4,16 @@
micro_ros_setup
5.0.0
Tools for setting up micro-ROS workspaces
- Pablo Garrido
+ Eugenio Collado
+ Carlos Espinoza
Apache-2.0
curl
python3-yaml
clang-tidy
+ ament_cmake
+ ament_lint_auto
flex
bison
libncurses-dev
diff --git a/scripts/build_firmware.sh b/scripts/build_firmware.sh
index 96a2c865..e82cc0fe 100755
--- a/scripts/build_firmware.sh
+++ b/scripts/build_firmware.sh
@@ -76,3 +76,17 @@ else
. $PREFIX/config/$RTOS/$PLATFORM/build.sh
fi
+######## Fix include paths ########
+if [ "$RTOS" != "host" ]; then
+ cd "$FW_TARGETDIR/mcu_ws"
+ INCLUDE_ROS2_PACKAGES=$(colcon list | awk '{print $1}' | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}')
+
+ for var in ${INCLUDE_ROS2_PACKAGES}; do
+ if [ -d "$FW_TARGETDIR/build/include/${var}/${var}" ]; then
+ mkdir -p "$FW_TARGETDIR/build/include/${var}"
+ cp -a "$FW_TARGETDIR/build/include/${var}/${var}/". "$FW_TARGETDIR/build/include/${var}/"
+ rm -rf "$FW_TARGETDIR/build/include/${var}/${var}"
+ fi
+ done
+fi
+
diff --git a/scripts/create_firmware_ws.sh b/scripts/create_firmware_ws.sh
index fc3b6665..a2beb6bc 100755
--- a/scripts/create_firmware_ws.sh
+++ b/scripts/create_firmware_ws.sh
@@ -104,6 +104,8 @@ if [ $RTOS != "host" ]; then
pushd $FW_TARGETDIR/$DEV_WS_DIR >/dev/null
# Fix failing build by ignoring rmw_test_fixture_implementation.
touch ros2/ament_cmake_ros/rmw_test_fixture_implementation/COLCON_IGNORE
+ # Fix failing build by ignoring rmw_test_fixture.
+ touch ros2/ament_cmake_ros/rmw_test_fixture/COLCON_IGNORE
colcon build
set +o nounset
# source dev workspace
@@ -116,4 +118,3 @@ rosdep install --os=ubuntu:noble -y --from-paths $PREFIX/config/$RTOS/$TARGET_FO
# Creating specific firmware folder
. $PREFIX/config/$RTOS/$TARGET_FOLDER/create.sh
-