Przeglądaj źródła

Merge branch 'fix/detect_diff_cmake_python' into 'master'

Tools: Detect if the project is configured for a different Python

Closes IDFGH-8540

See merge request espressif/esp-idf!20672
Roland Dobai 3 lat temu
rodzic
commit
818a1866e6
1 zmienionych plików z 10 dodań i 0 usunięć
  1. 10 0
      tools/idf_py_actions/tools.py

+ 10 - 0
tools/idf_py_actions/tools.py

@@ -442,6 +442,7 @@ def ensure_build_directory(args: 'PropertyDict', prog_name: str, always_run_cmak
                 '-G',
                 args.generator,
                 '-DPYTHON_DEPS_CHECKED=1',
+                '-DPYTHON={}'.format(sys.executable),
                 '-DESP_PLATFORM=1',
             ]
             if args.cmake_warn_uninitialized:
@@ -482,6 +483,15 @@ def ensure_build_directory(args: 'PropertyDict', prog_name: str, always_run_cmak
     except KeyError:
         pass  # if cmake failed part way, CMAKE_HOME_DIRECTORY may not be set yet
 
+    try:
+        python = cache['PYTHON']
+        if python != sys.executable:
+            raise FatalError(
+                "'{}' is currently active in the environment while the project was configured with '{}'. "
+                "Run '{} fullclean' to start again.".format(sys.executable, python, prog_name))
+    except KeyError:
+        pass
+
 
 def merge_action_lists(*action_lists: Dict) -> Dict:
     merged_actions: Dict = {