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