Neumann-A / my-vcpkg-triplets

my collection of vcpkg triplets
MIT License
72 stars 12 forks source link

Using VS- build in Clang #7

Open aungthetnaing opened 11 months ago

aungthetnaing commented 11 months ago

Are triplets for manually installed LLVM ? Can it be used with build-in Clang support in VS 2022 ?

I tried x64-win-llvm and getting the following:

Unable to find a valid Visual Studio instance with toolset version ClangCL The following Visual Studio instances were considered: C:\Program Files\Microsoft Visual Studio\2022\Enterprise The following paths were examined for Visual Studio instances: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary/Build\vcvarsall.bat C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools/MSVC\14.36.32532\bin/HostX86/x86\dumpbin.exe

CLang-CL toolchain is in C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\Llvm

Neumann-A commented 11 months ago

You need to have: image installed which is not the same as image

In general it should work with either.

aungthetnaing commented 11 months ago

Yes, I have them both.

Any other CMake project works with -TClangCL properly in the same setup.

On Tue, Nov 21, 2023 at 2:45 PM Alexander Neumann @.***> wrote:

You need to have: [image: image] https://user-images.githubusercontent.com/30894796/284738753-3b85b2cc-d680-483b-8544-57d8743f3383.png installed which is not the same as [image: image] https://user-images.githubusercontent.com/30894796/284738813-161b3c97-f8f1-40f7-8ae7-df72132ca463.png

In general it should work with either.

— Reply to this email directly, view it on GitHub https://github.com/Neumann-A/my-vcpkg-triplets/issues/7#issuecomment-1821818428, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG3RZVQFKBFDDVZITSQ4HC3YFUVKHAVCNFSM6AAAAAA7VJPFT2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRRHAYTQNBSHA . You are receiving this because you authored the thread.Message ID: @.***>

-- Sincerely yours, Aung Thet @.*** Kai Ming

Neumann-A commented 11 months ago
Unable to find a valid Visual Studio instance
with toolset version ClangCL

means that vcpkg tried to locate a toolset with the name ClangCL. However, vcpkg doesn't know how to look up custom toolsets apart from the vc14x ones.

https://github.com/Neumann-A/my-vcpkg-triplets/blob/cb4dc2eb68339a39e9f0de11fa530655c6f09aed/x64-win-llvm.cmake#L10-L12

The if(DEFINED VCPKG_PLATFORM_TOOLSET) is a trick to make vcpkg lookup vcvars without having a PLATFORM_TOOLSET defined and thus not looking for the ClangCL toolset but a normal vc14x one and then after the lookup switches the toolset back to ClangCL via the logic in the truplet.

Have you setup some environment variable which modifies the lookup behavior or have you modified the triplet?