Set environment for powershell on all platforms (#1017)

This commit is contained in:
百地 希留耶
2022-03-28 23:41:40 +08:00
committed by GitHub
parent 2346baa7bb
commit 714d434b1a

View File

@@ -2461,7 +2461,7 @@ def process_tool_list(tools_to_activate):
def write_set_env_script(env_string):
assert(WINDOWS)
assert(CMD or POWERSHELL)
open(EMSDK_SET_ENV, 'w').write(env_string)
@@ -2478,18 +2478,18 @@ def set_active_tools(tools_to_activate, permanently_activate, system):
generate_dot_emscripten(tools_to_activate)
# Construct a .bat script that will be invoked to set env. vars and PATH
# We only do this on windows since emsdk.bat is able to modify the
# calling shell environment. On other platform `source emsdk_env.sh` is
# Construct a .bat or .ps1 script that will be invoked to set env. vars and PATH
# We only do this on cmd or powershell since emsdk.bat/ps1 is able to modify the
# calling shell environment. On other shell `source emsdk_env.sh` is
# required.
if WINDOWS:
if CMD or POWERSHELL:
# always set local environment variables since permanently activating will only set the registry settings and
# will not affect the current session
env_vars_to_add = get_env_vars_to_add(tools_to_activate, system, user=permanently_activate)
env_string = construct_env_with_vars(env_vars_to_add)
write_set_env_script(env_string)
if permanently_activate:
if WINDOWS and permanently_activate:
win_set_environment_variables(env_vars_to_add, system, user=permanently_activate)
return tools_to_activate
@@ -3101,7 +3101,7 @@ def main(args):
tools_to_activate = currently_active_tools()
tools_to_activate = process_tool_list(tools_to_activate)
env_string = construct_env(tools_to_activate, arg_system, arg_permanent)
if WINDOWS and not BASH:
if CMD or POWERSHELL:
write_set_env_script(env_string)
else:
sys.stdout.write(env_string)