mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-03 13:23:22 +00:00
This reverts commit 043bb58488
.
Note that scripts/requirements-actions.txt might not be 100% the same
as what was pinned prior to the revert due to it being difficult to
restore previous versions while also accounting for the new dependencies
that were added in the meantime.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
45 lines
1.6 KiB
CMake
45 lines
1.6 KiB
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
include_guard(GLOBAL)
|
|
|
|
# On Windows, instruct Python to output UTF-8 even when not
|
|
# interacting with a terminal. This is required since Python scripts
|
|
# are invoked by CMake code and, on Windows, standard I/O encoding defaults
|
|
# to the current code page if not connected to a terminal, which is often
|
|
# not what we want.
|
|
if (WIN32)
|
|
set(ENV{PYTHONIOENCODING} "utf-8")
|
|
endif()
|
|
|
|
set(PYTHON_MINIMUM_REQUIRED 3.10)
|
|
|
|
if(NOT DEFINED Python3_EXECUTABLE AND DEFINED WEST_PYTHON)
|
|
set(Python3_EXECUTABLE "${WEST_PYTHON}")
|
|
endif()
|
|
|
|
if(NOT Python3_EXECUTABLE)
|
|
# We are using foreach here, instead of
|
|
# find_program(PYTHON_EXECUTABLE_SYSTEM_DEFAULT "python" "python3")
|
|
# cause just using find_program directly could result in a python2.7 as python,
|
|
# and not finding a valid python3.
|
|
foreach(candidate "python" "python3")
|
|
find_program(Python3_EXECUTABLE ${candidate} PATHS ENV VIRTUAL_ENV NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
|
|
if(Python3_EXECUTABLE)
|
|
execute_process (COMMAND "${Python3_EXECUTABLE}" -c
|
|
"import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))"
|
|
RESULT_VARIABLE result
|
|
OUTPUT_VARIABLE version
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
if(version VERSION_LESS PYTHON_MINIMUM_REQUIRED)
|
|
set(Python3_EXECUTABLE "Python3_EXECUTABLE-NOTFOUND" CACHE INTERNAL "Path to a program")
|
|
endif()
|
|
endif()
|
|
endforeach()
|
|
endif()
|
|
|
|
find_package(Python3 ${PYTHON_MINIMUM_REQUIRED} REQUIRED)
|
|
|
|
# Zephyr internally used Python variable.
|
|
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
|