build: new branch to RTOS_SDK [1/1]

PD#SWPL-61292

Problem:
push build to RTOS SDK

Solution:
push build to RTOS SDK

Verify:
ad409_a113l

Change-Id: I3612e3a9f3316a7831cd7d2d8ec67355a6941e68
Signed-off-by: bin.chen <bin.chen@amlogic.com>
diff --git a/cmake/python.cmake b/cmake/python.cmake
new file mode 100755
index 0000000..0ac40f9
--- /dev/null
+++ b/cmake/python.cmake
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: Apache-2.0
+
+# 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.6)
+
+# 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(PYTHON_PREFER ${PYTHON_PREFER} ${WEST_PYTHON} "python" "python3")
+  find_program(PYTHON_PREFER_EXECUTABLE ${PYTHON_PREFER})
+  if(PYTHON_PREFER_EXECUTABLE)
+      execute_process (COMMAND "${PYTHON_PREFER_EXECUTABLE}" -c
+                               "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))"
+                       RESULT_VARIABLE result
+                       OUTPUT_VARIABLE version
+                       ERROR_QUIET
+                       OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+     if(version VERSION_LESS PYTHON_MINIMUM_REQUIRED)
+       set(PYTHON_PREFER_EXECUTABLE "PYTHON_PREFER_EXECUTABLE-NOTFOUND")
+     else()
+       set(PYTHON_MINIMUM_REQUIRED ${version})
+       set(PYTHON_EXACT EXACT)
+       # Python3_ROOT_DIR ensures that location will be preferred by FindPython3.
+       # On Linux, this has no impact as it will usually be /usr/bin
+       # but on Windows it solve issues when both 32 and 64 bit versions are
+       # installed, as version is not enough and FindPython3 might pick the
+       # version not on %PATH%. Setting Python3_ROOT_DIR ensures we are using
+       # the version we just tested.
+       get_filename_component(PYTHON_PATH ${PYTHON_PREFER_EXECUTABLE} DIRECTORY)
+       set(Python3_ROOT_DIR ${PYTHON_PATH})
+       break()
+     endif()
+  endif()
+endforeach()
+
+find_package(Python3 ${PYTHON_MINIMUM_REQUIRED} REQUIRED ${PYTHON_EXACT})
+set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})