LLVM ClangをVisual Studio 2019でビルドする

Clang,CMake,LLVM,Visual Studio

LLVM ClangをVisuao Stduio 2019(MSVC)でビルドする方法を紹介します。


環境

  • Clang 11.0.0
  • CMake 3.1.8.4
  • Visual Studio 2019 16.7.6

ダウンロード

Clang C Language Family Frontend for LLVM

CMake

LLVM Clang と CMake をそれぞれダウンロードします。

  • LLVM source code (.sig)
  • Clang source code (.sig)
  • cmake-3.18.4-win64-x64.msi

それぞれ展開して、clang は、llvm/tools/clang に配置します。

ビルド

CMakeを実行してVisual Studioのプロジェクトを作成します。

cmake -G "Visual Studio 16 2019" -Thost=x64 -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_FLAGS_RELEASE:STRING="/MT" -DCMAKE_CXX_FLAGS_DEBUG:STRING="/MTd" -DCMAKE_INSTALL_PREFIX:PATH="../install/release"

Clangのビルドには時間がかかるので、必要なプロジェクトだけをビルドします。

for /f "usebackq delims=" %%a in (`"%ProgramFiles(x86)%/Microsoft Visual Studio/Installer/vswhere" -version 16 -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do set VSPATH=%%a
call "%VSPATH%/VC/Auxiliary/Build/vcvars64.bat"

MSBuild.exe tools\clang\lib\AST\clangAST.vcxproj /t:build /p:configuration=Debug /p:Platform="x64"
MSBuild.exe tools\clang\lib\AST\clangAST.vcxproj /t:build /p:configuration=Release /p:Platform="x64" 

Ninjaでビルドする方法はこちらの記事で紹介しています。