<div dir="ltr">We've just encountered an issue with ninja and VS2013 when using versions of CMake prior to 2.8.12.1. This isn't a combination that we typically use so we've not run into it previously in our own builds. It isn't specifically tied to upgrading the minimum version as it's a problem that already exists but I figure we'll hit it sooner or later on one of the bots as people start to use 2013 so best to deal with it sooner. Essentially, when building any configuration through ninja with debug data enabled with anything more than -j1 we'll hit an error like:<div><br></div><div>C:\work\public_svn\llvm\lib\Support\APInt.cpp : fatal error C1041: cannot open program database 'c:\work\public_svn\build-vs2013-native-ninja\lib\llvmsupport.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS<br></div><div><br></div><div>Here's the relevant CMake tracker which shows the fix going into <a href="http://2.8.12.1">2.8.12.1</a>:</div><div><a href="http://www.cmake.org/Bug/view.php?id=14492">http://www.cmake.org/Bug/view.php?id=14492</a><br></div><div><br></div><div>I think our options are to either require CMake 2.8.12.1 for VS2013/ninja builds (but I don't know how feasible this is) or we can put our own workaround into our CMakelists to push the /FS switch when using Ninja and Visual Studio, unless someone has any better ideas?</div><div><br></div><div>Any thoughts? Is this a blocker for updating the minimum version?</div><div><br></div><div>Thanks,</div><div><br></div><div>-Greg</div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On 31 January 2015 at 01:17, Chris Bieneman <span dir="ltr"><<a href="mailto:beanz@apple.com" target="_blank">beanz@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes. I’ll handle the documentation updates too.<br>
<br>
I’ll base the list of C++11 features on the MSDN documentation.<br>
<span class="HOEnZb"><font color="#888888"><br>
-Chris<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> On Jan 30, 2015, at 3:57 PM, Aaron Ballman <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>> wrote:<br>
><br>
> On Fri, Jan 30, 2015 at 6:51 PM, Chris Bieneman <<a href="mailto:cbieneman@apple.com">cbieneman@apple.com</a>> wrote:<br>
>> +Alex Bradbury<br>
>><br>
>> Sounds to me like we have no known users still on VS 2012.<br>
>><br>
>> So, how about we plan to move forward again with Chandler’s proposal for making this transition. For those who don’t want to dig through to the beginning here’s the basic plan:<br>
>><br>
>> 1) Loop in cfe-dev and lldb-dev (Done!)<br>
>> 2) Wait until this email fully circulates in digests and LLVM Weekly so that everyone who has an objection can voice it<br>
>> 3) If there are no objections, Commit a change to the CMake build which errors on old MSVC versions<br>
>> 4) Revert and fix buildbots<br>
>> 5) Repeat 3 & 4 until no issues<br>
>> 6) Once the change is live for a week with no issues, update the documentation to reflect the minimum required MSVC version as 2013<br>
><br>
> Also:<br>
><br>
> 7) Update the documentation as to what minimum set of C++11 features<br>
> are allowed in the code base.<br>
><br>
>> Alex, can you please make sure that this plan makes it into the next LLVM Weekly? If there are no objections this time I will update CMake files a few days after the LLVM Weekly goes out.<br>
><br>
> Can you also handle the documentation updates a few days after the<br>
> CMake changes have been made live?<br>
><br>
> Thanks!<br>
><br>
> ~Aaron<br>
<br>
</div></div></blockquote></div><br></div></div>