<LLVMInstallDir Condition="'$(LLVMInstallDir)' != ''">$(LLVMInstallDir)\</LLVMInstallDir>\r
<ClangClExecutable>$(LLVMInstallDir)bin\clang-cl.exe</ClangClExecutable>\r
<LldLinkExecutable>$(LLVMInstallDir)bin\lld-link.exe</LldLinkExecutable>\r
+ <LlvmLibExecutable>$(LLVMInstallDir)bin\llvm-lib.exe</LlvmLibExecutable>\r
<UseClangCl>true</UseClangCl>\r
<UseLldLink>true</UseLldLink>\r
+ <UseLlvmLib>true</UseLlvmLib>\r
</PropertyGroup>\r
\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.WindowsSDK.props" Condition="Exists('$(VCTargetsPath)\Microsoft.Cpp.WindowsSDK.props')"/>\r
that the user may have overridden in the UI. -->\r
<CLToolExe Condition="$(UseClangCl)">$(ClangClExecutable)</CLToolExe>\r
<LinkToolExe Condition="$(UseLldLink)">$(LldLinkExecutable)</LinkToolExe>\r
+ <LIBToolExe Condition="$(UseLlvmLib)">$(LlvmLibExecutable)</LIBToolExe>\r
</PropertyGroup>\r
\r
<ItemGroup>\r
Category="General">\r
</StringProperty>\r
\r
+\r
+ <BoolProperty Name="UseLlvmLib"\r
+ DisplayName="Use llvm-lib"\r
+ Description="Use llvm-lib for managing libraries. If this option is disabled, the Microsoft librarian (lib.exe) will be used instead."\r
+ Category="General"\r
+ Default="true">\r
+ </BoolProperty>\r
+ <StringProperty Name="LlvmLibExecutable"\r
+ DisplayName="llvm-lib Executable"\r
+ Description="Specifies the path to llvm-lib.exe."\r
+ Category="General"\r
+ Default="$(LLVMInstallDir)bin\llvm-lib.exe"\r
+ Subtype="file">\r
+ </StringProperty>\r
+\r
+ <StringProperty Name="LlvmLibAdditionalOptions"\r
+ DisplayName="Additional Librarian Options"\r
+ Description="Additional options to pass to llvm-lib. This is essentially the same as General > Librarian > Command Line > Additional Options, except that it is safe to put options here that will be rejected by lib.exe in case you switch toolchains back and forth."\r
+ Category="General">\r
+ </StringProperty>\r
+\r
</Rule>\r