Building LLVM with -DLLVM_TARGETS_TO_BUILD="X86" and Platform=Win32 with VS2019

Hello

I am building ‘llvm’ for the ‘X86’ target on a Windows10 over an Intel Core 7 amd64 arch and VisualStudio 2019. This is fine for building the ‘x64’ Platform but the generated vcxproj do not contains any configuration for ‘Win32’.

Here the commands passed:

  1. cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=C:\ProgramFiles\LLVM\12.0\Release …\llvm
  2. cmake --build . --config Release – -p:Platform=Win32

Here the build log

D:\projects\as400\rpg\llvm-project\build>cmake --build . --config Release – -p:Platform=Win32
Microsoft (R) Build Engine version 16.8.2+25e4d540b pour .NET Framework
Copyright (C) Microsoft Corporation. Tous droits réservés.

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(408,5): error MSB8013: Ce projet ne contient pas la combinaison de configuration et de plateforme de Release|Win32. [D:\projects\as400\rpg\llvm-project\build\ZERO_CHECK.vcxproj]

What I am missing for getting the ‘Win32’ VS2019 platform?

Thank you

FA

The platform for the Visual Studio project generated by cmake is called “x64”, not Win32 (assuming you compile for 64 bits). There is also just one platform (AFAIK cmake does not support multiple per generated project), so you can leave away the platform parameter.

This works for me:

cmake --build . --config Release

Michael

Hello Michael

I want to build for the ‘Win32’ msbuild ‘Platform’ not the ‘x64 Platform’ one!

FA

Francis,

You need to add -AWin32 on your first cmake command-line.

Best,

Alex.