Skip to content

Conversation

@wchou158
Copy link

This changes user-visible behavior

The following changes are proposed:

  • Added "ClangCl" to the CompilerVendorEnum type
  • Enhanced vendor detection to identify Clang-cl kits by name
  • Updated version detection to treat ClangCl the same as Clang (reusing the same regex)
  • Fixed variable expansion for ${buildKitVendor}, ${buildKitVersionMajor}, etc., when using clang-cl-based kits on Windows

The purpose of this change

When using a clang-cl toolchain on Windows, variables like ${buildKitVendor} and ${buildKitVersionMajor} did not expand correctly in user-defined build directory paths. For example, with Cmake: Build Directory set to

${workspaceFolder}/build-${buildKitHostOs}-${buildKitVendor}${buildKitVersionMajor}-${buildKitTargetArch}-${buildType}

Before:

[cmake] -- Build files have been written to: C:/svn/myApp/build-win32-__unknown_vendor__0-unknown-Debug

After this change:

[cmake] -- Build files have been written to: C:/svn/myApp/build-win32-ClangCl20-x64-Debug

@gcampbell-msft
Copy link
Collaborator

Could you add a changelog update? In a new 1.22 section. Thanks!

@wchou158
Copy link
Author

@microsoft-github-policy-service agree

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.

2 participants