diff --git a/tools/idf_py_actions/tools.py b/tools/idf_py_actions/tools.py index 8d0cdc2489..098d9a7815 100644 --- a/tools/idf_py_actions/tools.py +++ b/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 = {