LLVM Build on Windows 10

Well, I emerge from a week of getting my new Windows 10 machine running smoothly. Now I have to tackle the LLVM build. When I do a build, I get a boatload of the following messages. I searched my old machine for settings involving policies, with no luck. I don’t recall seeing these when I started building LLVM on my old machine. As always, any help is appreciated and your patience duly noted.

The warning is brand-new in cmake 2.20, which is not officially
released yet. See
You probably have an older cmake on your machine.


I have only version 3.20.0-rc2 on my new machine. I didn't notice that I was installing a release candidate. Shall I uninstall it and install the latest 3.19?

You could also fix the LLVM build system to work with cmake 2.20, this
could mean to just call cmake_policy as suggested. We would want LLVM
to eventually work with cmake 2.20 anyway.


I uninstalled Cmake 2.20 and installed 2.19. Then I could make some progress. My build is now hanging after a series of the following messages. I mean really hanging; I have to blow away the process. Does anyone know what a PDB error is?

Could you post the exact commands you are using for initializing your vcvars and configuring cmake? I haven’t built LLVM on Windows in recent weeks but do have some experience with it.

My suspicion is that you have initialized the vcvars in some way so that it is doing 32bit builds/using 32bit compiler tools. I exclusively build x64 configurations on Windows, and I suspect the error is exactly what it says: the 32bit linker cannot access enough heap to finish. A quick search online suggests that the automatic fail over to a 64bit linker may be a bit unreliable.

(caveat: I am not an expert on msft tool trivia - just been around the block a few times)

By “vcvars”, I was referring to the method you used to get a command prompt that had the environment setup to use the VC compiler and linker tools. You may have selected something like a developer command prompt from the start menu, or you may have run a variant of the vcvarsall.bat file that comes with visual studio.

It looks like this page provides some up to date docs (I just have it buried in some startup script and have long since forgotten): https://docs.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line?view=msvc-160

If you change any of these options, clear your CmakeCache.txt file to make sure everything is reprobed.