Skip to content

Commit 36ed120

Browse files
authored
Make rosidl packages use FindPython3 instead of FindPythonInterp (#612)
Signed-off-by: Shane Loretz <[email protected]>
1 parent f24e385 commit 36ed120

15 files changed

+32
-14
lines changed

rosidl_adapter/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.12)
22

33
project(rosidl_adapter NONE)
44

rosidl_adapter/cmake/rosidl_adapt_interfaces.cmake

+4-5
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,13 @@ function(rosidl_adapt_interfaces idl_var arguments_file)
3737
"arguments: ${ARG_UNPARSED_ARGUMENTS}")
3838
endif()
3939

40-
find_package(PythonInterp REQUIRED)
41-
if(NOT PYTHON_EXECUTABLE)
42-
message(FATAL_ERROR "Variable 'PYTHON_EXECUTABLE' must not be empty")
43-
endif()
40+
find_package(ament_cmake_core REQUIRED) # for get_executable_path
41+
find_package(Python3 REQUIRED COMPONENTS Interpreter)
42+
get_executable_path(python_interpreter Python3::Interpreter CONFIGURE)
4443

4544
set(idl_output "${CMAKE_CURRENT_BINARY_DIR}/rosidl_adapter/${ARG_TARGET}.idls")
4645
set(cmd
47-
"${PYTHON_EXECUTABLE}" -m rosidl_adapter
46+
"${python_interpreter}" -m rosidl_adapter
4847
--package-name ${PROJECT_NAME}
4948
--arguments-file "${arguments_file}"
5049
--output-dir "${CMAKE_CURRENT_BINARY_DIR}/rosidl_adapter/${PROJECT_NAME}"

rosidl_adapter/package.xml

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
<license>Apache License 2.0</license>
1212
<author email="[email protected]">Dirk Thomas</author>
1313

14+
<buildtool_export_depend>ament_cmake_core</buildtool_export_depend>
15+
<buildtool_export_depend>python3</buildtool_export_depend>
16+
1417
<build_depend>ament_cmake</build_depend>
1518

1619
<exec_depend>python3-empy</exec_depend>

rosidl_generator_c/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.12)
22

33
project(rosidl_generator_c C)
44

rosidl_generator_c/cmake/rosidl_generator_c_generate_interfaces.cmake

+4-1
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,12 @@ rosidl_write_generator_arguments(
7979
TARGET_DEPENDENCIES ${target_dependencies}
8080
)
8181

82+
find_package(Python3 REQUIRED COMPONENTS Interpreter)
83+
8284
add_custom_command(
8385
OUTPUT ${_generated_headers} ${_generated_sources}
84-
COMMAND ${PYTHON_EXECUTABLE} ${rosidl_generator_c_BIN}
86+
COMMAND Python3::Interpreter
87+
ARGS ${rosidl_generator_c_BIN}
8588
--generator-arguments-file "${generator_arguments_file}"
8689
DEPENDS ${target_dependencies}
8790
COMMENT "Generating C code for ROS interfaces"

rosidl_generator_c/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<buildtool_depend>ament_cmake_ros</buildtool_depend>
1515

1616
<buildtool_export_depend>ament_cmake_core</buildtool_export_depend>
17+
<buildtool_export_depend>python3</buildtool_export_depend>
1718
<buildtool_export_depend>rosidl_cmake</buildtool_export_depend>
1819

1920
<build_export_depend>rosidl_typesupport_interface</build_export_depend>

rosidl_generator_cpp/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.12)
22

33
project(rosidl_generator_cpp)
44

rosidl_generator_cpp/cmake/rosidl_generator_cpp_generate_interfaces.cmake

+4-1
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,12 @@ rosidl_write_generator_arguments(
7474
TARGET_DEPENDENCIES ${target_dependencies}
7575
)
7676

77+
find_package(Python3 REQUIRED COMPONENTS Interpreter)
78+
7779
add_custom_command(
7880
OUTPUT ${_generated_headers}
79-
COMMAND ${PYTHON_EXECUTABLE} ${rosidl_generator_cpp_BIN}
81+
COMMAND Python3::Interpreter
82+
ARGS ${rosidl_generator_cpp_BIN}
8083
--generator-arguments-file "${generator_arguments_file}"
8184
DEPENDS ${target_dependencies}
8285
COMMENT "Generating C++ code for ROS interfaces"

rosidl_generator_cpp/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<buildtool_depend>ament_cmake</buildtool_depend>
1313

1414
<buildtool_export_depend>ament_cmake_core</buildtool_export_depend>
15+
<buildtool_export_depend>python3</buildtool_export_depend>
1516
<buildtool_export_depend>rosidl_cmake</buildtool_export_depend>
1617

1718
<!-- This is needed for the rosidl_message_type_support_t struct and visibility macros -->

rosidl_typesupport_introspection_c/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.12)
22

33
project(rosidl_typesupport_introspection_c C)
44

rosidl_typesupport_introspection_c/cmake/rosidl_typesupport_introspection_c_generate_interfaces.cmake

+4-1
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,12 @@ rosidl_write_generator_arguments(
7272
TARGET_DEPENDENCIES ${target_dependencies}
7373
)
7474

75+
find_package(Python3 REQUIRED COMPONENTS Interpreter)
76+
7577
add_custom_command(
7678
OUTPUT ${_generated_header_files} ${_generated_source_files}
77-
COMMAND ${PYTHON_EXECUTABLE} ${rosidl_typesupport_introspection_c_BIN}
79+
COMMAND Python3::Interpreter
80+
ARGS ${rosidl_typesupport_introspection_c_BIN}
7881
--generator-arguments-file "${generator_arguments_file}"
7982
DEPENDS ${target_dependencies}
8083
COMMENT "Generating C introspection for ROS interfaces"

rosidl_typesupport_introspection_c/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<buildtool_depend>ament_cmake_ros</buildtool_depend>
1515

1616
<buildtool_export_depend>ament_cmake</buildtool_export_depend>
17+
<buildtool_export_depend>python3</buildtool_export_depend>
1718
<buildtool_export_depend>rosidl_cmake</buildtool_export_depend>
1819

1920
<build_export_depend>rosidl_runtime_c</build_export_depend>

rosidl_typesupport_introspection_cpp/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.12)
22

33
project(rosidl_typesupport_introspection_cpp)
44

rosidl_typesupport_introspection_cpp/cmake/rosidl_typesupport_introspection_cpp_generate_interfaces.cmake

+4-1
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,12 @@ rosidl_write_generator_arguments(
7272
TARGET_DEPENDENCIES ${target_dependencies}
7373
)
7474

75+
find_package(Python3 REQUIRED COMPONENTS Interpreter)
76+
7577
add_custom_command(
7678
OUTPUT ${_generated_header_files} ${_generated_source_files}
77-
COMMAND ${PYTHON_EXECUTABLE} ${rosidl_typesupport_introspection_cpp_BIN}
79+
COMMAND Python3::Interpreter
80+
ARGS ${rosidl_typesupport_introspection_cpp_BIN}
7881
--generator-arguments-file "${generator_arguments_file}"
7982
DEPENDS ${target_dependencies}
8083
COMMENT "Generating C++ introspection for ROS interfaces"

rosidl_typesupport_introspection_cpp/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<buildtool_depend>ament_cmake_ros</buildtool_depend>
1515

1616
<buildtool_export_depend>ament_cmake</buildtool_export_depend>
17+
<buildtool_export_depend>python3</buildtool_export_depend>
1718
<buildtool_export_depend>rosidl_cmake</buildtool_export_depend>
1819

1920
<build_export_depend>rosidl_runtime_c</build_export_depend>

0 commit comments

Comments
 (0)