diff options
author | John W. Parent <45471568+johnwparent@users.noreply.github.com> | 2023-08-30 19:19:38 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-30 23:19:38 +0000 |
commit | 1ee7c735ec98c3a810d0280a33bb05ca6bc79987 (patch) | |
tree | 2ca784e3729d68d4d633d0af9d8ae1d4aa07371b /bin/spack_cmd.bat | |
parent | 22deed708e8168a9fafee27380774e13273ec1b7 (diff) | |
download | spack-1ee7c735ec98c3a810d0280a33bb05ca6bc79987.tar.gz spack-1ee7c735ec98c3a810d0280a33bb05ca6bc79987.tar.bz2 spack-1ee7c735ec98c3a810d0280a33bb05ca6bc79987.tar.xz spack-1ee7c735ec98c3a810d0280a33bb05ca6bc79987.zip |
Windows: oneapi/msvc consistency (#39180)
Currently, OneAPI's setvars scripts effectively disregard any arguments
we're passing to the MSVC vcvars env setup script, and additionally,
completely ignore the requested version of OneAPI, defaulting to whatever
the latest installed on the system is.
This leads to a scenario where we have improperly constructed Windows
native development environments, with potentially multiple versions of
MSVC and OneAPI being loaded or called in the same env. Obviously this is
far from ideal and leads to some fairly inscrutable errors such as
overlapping header files between MSVC and OneAPI and a different version
of OneAPI being called than the env was setup for.
This PR solves this issue by creating a structured invocation of each
relevant script in an order that ensures the correct values are set in
the resultant build env.
The order needs to be:
1. MSVC vcvarsall
2. The compiler specific env.bat script for the relevant version of
the oneapi compiler we're looking for. The root setvars scripts seems
to respect this as well, although it is less explicit
3. The root oneapi setvars script, which sets up everything else the
oneapi env needs and seems to respect previous env invocations.
Diffstat (limited to 'bin/spack_cmd.bat')
0 files changed, 0 insertions, 0 deletions