Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various fixes and housekeeping #17

Merged
merged 15 commits into from
Mar 8, 2024
Merged

Various fixes and housekeeping #17

merged 15 commits into from
Mar 8, 2024

Conversation

dra27
Copy link
Contributor

@dra27 dra27 commented Mar 8, 2024

Functional changes:

  • Include preview versions of Visual Studio in the search (i.e. pass -prerelease to vswhere)
  • New option --installed. Essentially an early exit before probing and testing the installations, so it's much faster than --all
  • New output option --output=data. Intended to allow the output of msvs-detect to be parsed by another shell script
  • MSVS_NAME is always set, even for an environment compiler
  • Recognise opam's x86_32 and x86_64 architecture aliases
  • FIx to --arch to ensure that the environment compiler is always preferred (otherwise complementary compiler detection is counterintuitive)

Housekeeping:

  • Copyright years amended
  • AppVeyor testing matrix expanded
  • Considerably more tests
  • A bit more shell hardening
  • Remove unnecessary files from the release tarballs

dra27 added 15 commits March 8, 2024 08:29
- All compilers end up with a SETENV field with the actual script
- All compilers now have a VERSION field
  - For compilers found with vswhere, it's the full version
  - For old SDK compilers, it's also the full version (from the
    registry)
  - For other compilers, it's the same as the key
- The VC_VERSION and VSCMD_VER environment variables are captured and
  stored. Compilers without VSCMD_VER get an empty value;
  VisualStudioVersion is queried if VC_VERSION was not found (and the
  entry is empty otherwise).
The --installed switch displays a list of found Visual Studio
installations without interrogating them further, and with slightly more
information. It is faster than --all, since the installations are not
queried for contents.
--output=data requires a single architecture and displays the resulting
variables prefixed bin, inc or lib followed by '*' in native Windows
format. The first line of the output is the full path to the batch file
which was analysed by msvs-detect. The intention is that this output can
be trivially parsed in another shell script.
MSVS_NAME was being treated as for PATH, LIB and INCLUDE for the
environment compiler - it should be as for MSVS_ML.
x86 can now be referred to as 86, x86 or x86_32
x64 can now be referred to as 64, x64 or x86_64
When selecting a complementary compiler (e.g. requesting x64 where the
environment is x86), the x64 compiler of the environment compiler's
installation should be preferred.
@dra27 dra27 merged commit cc1dde0 into metastack:master Mar 8, 2024
1 check passed
@dra27 dra27 deleted the fixes branch March 8, 2024 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant