<br><br><div class="gmail_quote">On 17 March 2010 19:07, Óscar Fuentes <span dir="ltr"><<a href="mailto:ofv@wanadoo.es">ofv@wanadoo.es</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">Victor Zverovich <<a href="mailto:victor.zverovich@googlemail.com">victor.zverovich@googlemail.com</a>> writes:<br>
<br>
</div><div class="im">>> > Attached are two patches for the LLVM cmake build system.<br>
>> ><br>
>> > The first one adds static runtimes (MT and MTd) to the list of<br>
>> > runtimes for the MSVC build.<br>
>><br>
>> This seems not to be as easy as you put it. It was discussed here<br>
>> recently:<br>
>><br>
>> From: José Fonseca<br>
>> Subject: [PATCH]: MSVC build enhancements<br>
>> Date: Sat, 6 Mar 2010 10:43:50 +0000<br>
>><br>
>><br>
> I've read this thread but what I propose is simpler because this only allows<br>
> the user to choose static runtime for all configurations (Debug, Release,<br>
> MinSizeRel and RelWithDebInfo). I understand that it is not ideal because<br>
> one would normally want MTd for Debug and MT for the rest but that's how it<br>
> works now for MD as well. This patch doesn't try to solve this issue. But I<br>
> don't see why static runtime options should be excluded as they are now. It<br>
> only makes more difficult to build LLVM with a static runtime.<br>
<br>
</div>If I understand correctly the clarifications given by José on that<br>
thread, adding the /MT flag is not enough. You must remove the /MD or<br>
/MDd flags from whatever cmake variables where they can be present.<br>
<div class="im"><br></div></blockquote><div><br></div><div>I  tested it with VS2008 and CMake 2.8 and it works.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">
>> Interesting idea. But this method does not take into account the case<br>
>> where the user does not build all libraries (i.e. ignores some LLVM<br>
>> targets). On this scenario your method will take into account all<br>
>> libraries, including those not built. IMO it is really needed to know<br>
>> which LLVM libraries were built before resolving dependencies for client<br>
>> projects, as it actually does for resolving dependencies for the LLVM<br>
>> tools. I pretend to incorporate this information on a cmake file that is<br>
>> installed along the rest of LLVM.<br>
>><br>
>><br>
> I don't see what is the advantage for the user in the method you describe.<br>
> In both cases the user will get an error when using library which was not<br>
> built, right? Why not install LLVMLibDeps.cmake?<br>
<br>
</div>LLVMLibDeps.cmake will be installed. It is useful to know which<br>
libraries are available. See tools/llc/CMakeLists.txt, for instance. It<br>
uses ${LLVM_TARGETS_TO_BUILD} for building the llc tool with support for<br>
all targets included on the LLVM build.<br>
<div><div></div><div class="h5"><br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br>