<div dir="ltr"><span style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:16px">Do I have to use a flag to tell it where the LLVM include files are?</span> <div><br></div><div>Not at all. CMake should be using the CMakeLists.txt to locate all the files it needs for builds. In my downloaded source for LLVM, the main folder has a bunch of folders in it:  lib, projects, docs, examples, etc.  One of those is "include", which for me has two subfolders:  "llvm" and "llvm-c". I assume that is where Cmake finds all the LLVM include files it needs. The only other include files it would need for build would be standard library include files which you should have as a result of having installed Visual Studio.<br></div><div><br></div><div>So, that's why I am baffled by your problem, as I cannot imagine how your build is failing to find the include files it needs. I don't know about the architecture of LLVM to recognize the include files that your build is failing on, to know who they belong to and where they reside. I do know that CMake goes through a discovery process during generation, where it attempts to guess where to find build environment resources, such as the compiler and key external folders. So maybe? if you have multiple build tools or libraries installed, potentially it could get its wires crossed and not be pointing at resources known to Visual Studio 2017. I just don't know. Without detailed knowledge of your set up and lacking detailed knowledge of LLVM's architecture, it is hard for me to diagnose what might be going wrong.</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 28, 2018 at 9:06 PM Osman Zakir via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr">
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>Do I have to use a flag to tell it where the LLVM include files are?  And would it be easier to do that in the CMake GUI?  Please tell me how you had it find the include files if that may help me.</span></div>
<hr style="display:inline-block;width:98%">
<div id="m_7868318861313364099divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Jonathan Goodwin <<a href="mailto:jondgoodwin@gmail.com" target="_blank">jondgoodwin@gmail.com</a>><br>
<b>Sent:</b> Wednesday, November 28, 2018 6:24 AM<br>
<b>To:</b> <a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a><br>
<b>Cc:</b> Osman Zakir; <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<b>Subject:</b> Re: [llvm-dev] Have LLD and Clang in their correct locations, but still can't generate project files for LLVM</font>
<div> </div>
</div>
<div>
<div dir="ltr">I am evidently one of those rare people successfully building LLVM v7 inside VS 2017 and targeting WebAssembly. Unlike Osman, I build the 32-bit version, but I suspect I would have no significant trouble switching to building the 64-bit version.
<div><br>
</div>
<div>I use CMake-Gui vs. Osman using Cmake on the command line. This allows me to use the mouse to select the CLANG_BUILD_TOOLS and LLD_BUILD_TOOLS options which are also needed to build those tools along with the rest of LLVM. I do this after the Configure
 step and before the Generate step.</div>
<div><br>
</div>
<div>When that is done, I double click on the generated LLVM.sln file to fire up Visual Studio. I then right-click on BUILD_ALL to build LLVM, followed by right-clicking on INSTALL to finish the process a few hours later.</div>
<div><br>
</div>
<div>That said, I looked at Osman's log and saw the build was struggling to locate various include files, which seems a very basic error suggesting something fundamentally is amiss with how the build is locating LLVM source files. I know too little about Osman's
 set up and LLVM's CMake process to hazard a guess as to what might be causing that.</div>
</div>
<br>
<div class="m_7868318861313364099x_gmail_quote">
<div dir="ltr">On Wed, Nov 28, 2018 at 9:52 AM Zachary Turner via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
</div>
<blockquote class="m_7868318861313364099x_gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">I think most people are using ninja to do the build.  You can still use the Visual Studio generator for the IDE experience while doing build from ninja.  I know there are a couple of people who build from inside of Visual Studio, but it's a pretty
 small number, and I don't think they are targeting WebAssembly.</div>
<br>
<div class="m_7868318861313364099x_gmail_quote">
<div dir="ltr">On Tue, Nov 27, 2018 at 12:46 PM Osman Zakir via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
</div>
<blockquote class="m_7868318861313364099x_gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>Is there no one who has already built LLVM for targeting WebAsesembly with, using Visual Studio 2017 as the generator and toolchain (x64 of course)?  </span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span><br>
</span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>My LLVM root folder is C:/llvm, and LLD and Clang are in llvm_root/tools/lld and llvm_root/tools/clang respectively.  If this is as it should be, then what's the problem? Would someone please help me with this by also checking the logs I've attached to
 the first message in this thread?  Thanks in advance.</span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span><br>
</span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>In llvm/tools/, I see there's also a folder called "msbuild" which also has a .sln file called llvm.sln.  How about if I just try to build that (and if needed, would it be okay to just put the preprocessor definition <span style="display:inline!important;color:rgb(231,76,60);font-family:"Inconsolata","Consolata","Monaco",monospace;font-size:14.4px">LLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly</span>
 in there for each project?)?  </span></div>
<hr style="display:inline-block;width:98%">
<div id="m_7868318861313364099x_m_8713322203742191848m_-5681561014756733350divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>>
 on behalf of Osman Zakir via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
<b>Sent:</b> Tuesday, November 27, 2018 4:30 AM<br>
<b>To:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a></font></div>
</div>
<div dir="ltr">
<div id="m_7868318861313364099x_m_8713322203742191848m_-5681561014756733350divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><br>
<b>Subject:</b> Re: [llvm-dev] Have LLD and Clang in their correct locations, but still can't generate project files for LLVM</font></div>
</div>
<div dir="ltr">
<div dir="ltr">
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>Yeah, I don't think that matters.  It did set the toolset architecture to x64.  </span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span><br>
</span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>You know, I attached those log files for a reason.</span></div>
<hr style="display:inline-block;width:98%">
<div id="m_7868318861313364099x_m_8713322203742191848m_-5681561014756733350x_divRplyFwdMsg" dir="ltr">
<font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>><br>
<b>Sent:</b> Tuesday, November 27, 2018 4:27 AM<br>
<b>To:</b> Osman Zakir<br>
<b>Cc:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<b>Subject:</b> Re: [llvm-dev] Have LLD and Clang in their correct locations, but still can't generate project files for LLVM</font>
<div> </div>
</div>
<div>
<div dir="ltr">I don't know if it actually matters, but I think there should not be a space after -T.  Usually I would specify it like -Thost=x64.</div>
<br>
<div class="m_7868318861313364099x_m_8713322203742191848m_-5681561014756733350x_x_gmail_quote">
<div dir="ltr">On Mon, Nov 26, 2018 at 8:53 AM Osman Zakir via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
</div>
<blockquote class="m_7868318861313364099x_m_8713322203742191848m_-5681561014756733350x_x_gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>I ran CMake on the command line with this command: </span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>"</span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>cmake .. -DCMAKE_INSTALL_PREFIX=../install_x64 -T host=x64 -G "Visual Studio 15 2017 Win64" -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly</span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span>"</span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
<span><br>
</span></div>
<div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif;font-size:12pt">
And I have LLD and Clang where they should be.  But I still couldn't generate project files.  The path to the build and installation directories don't have spaces at all this time, either.  I'm attaching the logs to this message.  Please help.</div>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote>
</div>
</div>
</div>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote>
</div>
</div>
</div>

_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>