Skip to content

Commit 7d323bb

Browse files
committed
prepend INCLUDE env, instead of override
1 parent 73f029b commit 7d323bb

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

modules/virtual_environments/nu_msvs/nu_msvs.nu

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
def --env find_msvs [] {
22
export-env {
33
$env.MSVS_BASE_PATH = $env.Path
4+
$env.INCLUDE_BEFORE = if "INCLUDE" in $env { ($env.INCLUDE | split row (char esep)) } else { null }
45
$env.PATH_VAR = (if "Path" in $env { "Path" } else { "PATH" })
5-
$env.INCLUDE_BEFORE = ($env.INCLUDE | split row (char esep))
66

77
# According to https://github.com/microsoft/vswhere/wiki/Installing, vswhere should always be in this location.
88
let vswhere_cmd = ($'($env."ProgramFiles(x86)")\Microsoft Visual Studio\Installer\vswhere.exe')
@@ -38,7 +38,7 @@ def --env find_msvs [] {
3838
$'($env.MSVS_MSDK_ROOT)Include\($env.MSVS_MSDK_VER)\ucrt',
3939
$'($env.MSVS_MSDK_ROOT)Include\($env.MSVS_MSDK_VER)\um',
4040
$'($env.MSVS_MSDK_ROOT)Include\($env.MSVS_MSDK_VER)\winrt'
41-
] | append $env.INCLUDE_BEFORE | str join (char esep))
41+
] | str join (char esep))
4242

4343
let esep_path_converter = {
4444
from_string: { |s| $s | split row (char esep) }
@@ -162,7 +162,11 @@ export def --env activate [
162162
}
163163
load-env {
164164
$env.PATH_VAR: $env_path,
165-
INCLUDE: $env.MSVS_INCLUDE_PATH,
165+
INCLUDE: (if $env.INCLUDE_BEFORE == null {
166+
$env.MSVS_INCLUDE_PATH
167+
} else {
168+
$env.MSVS_INCLUDE_PATH | append $env.INCLUDE_BEFORE
169+
}),
166170
LIB: $lib_path
167171
}
168172

@@ -180,15 +184,22 @@ export def --env deactivate [] {
180184

181185
load-env {
182186
$env.PATH_VAR: $env.MSVS_BASE_PATH,
183-
INCLUDE: ($env.INCLUDE_BEFORE | path expand | str join (char esep)),
184187
}
185188

186189
hide-env LIB
187-
hide-env INCLUDE_BEFORE
188190
hide-env MSVS_BASE_PATH
189191
hide-env MSVS_ROOT
190192
hide-env MSVS_MSVC_ROOT
191193
hide-env MSVS_MSDK_ROOT
192194
hide-env MSVS_MSDK_VER
193195
hide-env MSVS_INCLUDE_PATH
194-
}
196+
197+
if $env.INCLUDE_BEFORE == null {
198+
hide-env INCLUDE
199+
} else {
200+
load-env {
201+
INCLUDE: ($env.INCLUDE_BEFORE | path expand | str join (char esep))
202+
}
203+
hide-env INCLUDE_BEFORE
204+
}
205+
}

0 commit comments

Comments
 (0)