From 64cd6aeb6d3adbb911436c944b02834937e70628 Mon Sep 17 00:00:00 2001 From: "-T.K.-" Date: Thu, 14 Nov 2024 00:06:58 -0800 Subject: [PATCH] FIX: let CMake find Python version that corresponds to ROS distro --- src/rl_sar/CMakeLists.txt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/rl_sar/CMakeLists.txt b/src/rl_sar/CMakeLists.txt index 72cb6be..05627af 100644 --- a/src/rl_sar/CMakeLists.txt +++ b/src/rl_sar/CMakeLists.txt @@ -29,8 +29,19 @@ find_package(rclpy REQUIRED) find_package(gazebo_msgs REQUIRED) find_package(std_srvs REQUIRED) -# Make sure to find Python 3.8 -find_package(Python3 3.8 EXACT COMPONENTS Interpreter Development REQUIRED) +# Make sure to find correct Python version based on ROS distro +if(DEFINED ENV{ROS_DISTRO}) + set(ROS_DISTRO_ENV $ENV{ROS_DISTRO}) + if(ROS_DISTRO_ENV STREQUAL "foxy") + find_package(Python3 3.8 EXACT COMPONENTS Interpreter Development REQUIRED) + elseif(ROS_DISTRO_ENV STREQUAL "humble") + find_package(Python3 3.10 EXACT COMPONENTS Interpreter Development REQUIRED) + else() + # Not very sure what would the default case be. A fuzzy match? + find_package(Python3 COMPONENTS Interpreter Development REQUIRED) + endif() +endif() + link_directories(/usr/local/lib) include_directories(${YAML_CPP_INCLUDE_DIR})