├── .gitattributes ├── .gitignore ├── LICENSE.TXT ├── README.md ├── Win32 ├── Microsoft.Cpp.Win32.LLVM-vs2010.props ├── Microsoft.Cpp.Win32.LLVM-vs2010.targets ├── Microsoft.Cpp.Win32.LLVM-vs2012.props ├── Microsoft.Cpp.Win32.LLVM-vs2012.targets ├── Microsoft.Cpp.Win32.LLVM-vs2012_xp.props ├── Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets ├── toolset-vs2013.props ├── toolset-vs2013.targets ├── toolset-vs2013_xp.props ├── toolset-vs2013_xp.targets ├── toolset-vs2014.props ├── toolset-vs2014.targets ├── toolset-vs2014_xp.props ├── toolset-vs2014_xp.targets ├── toolset-vs2017.props ├── toolset-vs2017.targets ├── toolset-vs2017_xp.props └── toolset-vs2017_xp.targets ├── install.bat ├── uninstall.bat └── x64 ├── Microsoft.Cpp.x64.LLVM-vs2010.props ├── Microsoft.Cpp.x64.LLVM-vs2010.targets ├── Microsoft.Cpp.x64.LLVM-vs2012.props ├── Microsoft.Cpp.x64.LLVM-vs2012.targets ├── Microsoft.Cpp.x64.LLVM-vs2012_xp.props ├── Microsoft.Cpp.x64.LLVM-vs2012_xp.targets ├── toolset-vs2013.props ├── toolset-vs2013.targets ├── toolset-vs2013_xp.props ├── toolset-vs2013_xp.targets ├── toolset-vs2014.props ├── toolset-vs2014.targets ├── toolset-vs2014_xp.props ├── toolset-vs2014_xp.targets ├── toolset-vs2017.props ├── toolset-vs2017.targets ├── toolset-vs2017_xp.props └── toolset-vs2017_xp.targets /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | *.bat text eol=crlf 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.suo 8 | *.user 9 | *.userosscache 10 | *.sln.docstates 11 | 12 | # User-specific files (MonoDevelop/Xamarin Studio) 13 | *.userprefs 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Dd]ebugPublic/ 18 | [Rr]elease/ 19 | [Rr]eleases/ 20 | bld/ 21 | [Bb]in/ 22 | [Oo]bj/ 23 | [Ll]og/ 24 | 25 | # Visual Studio 2015 cache/options directory 26 | .vs/ 27 | # Uncomment if you have tasks that create the project's static files in wwwroot 28 | #wwwroot/ 29 | 30 | # MSTest test Results 31 | [Tt]est[Rr]esult*/ 32 | [Bb]uild[Ll]og.* 33 | 34 | # NUNIT 35 | *.VisualState.xml 36 | TestResult.xml 37 | 38 | # Build Results of an ATL Project 39 | [Dd]ebugPS/ 40 | [Rr]eleasePS/ 41 | dlldata.c 42 | 43 | # .NET Core 44 | project.lock.json 45 | project.fragment.lock.json 46 | artifacts/ 47 | **/Properties/launchSettings.json 48 | 49 | *_i.c 50 | *_p.c 51 | *_i.h 52 | *.ilk 53 | *.meta 54 | *.obj 55 | *.pch 56 | *.pdb 57 | *.pgc 58 | *.pgd 59 | *.rsp 60 | *.sbr 61 | *.tlb 62 | *.tli 63 | *.tlh 64 | *.tmp 65 | *.tmp_proj 66 | *.log 67 | *.vspscc 68 | *.vssscc 69 | .builds 70 | *.pidb 71 | *.svclog 72 | *.scc 73 | 74 | # Chutzpah Test files 75 | _Chutzpah* 76 | 77 | # Visual C++ cache files 78 | ipch/ 79 | *.aps 80 | *.ncb 81 | *.opendb 82 | *.opensdf 83 | *.sdf 84 | *.cachefile 85 | *.VC.db 86 | *.VC.VC.opendb 87 | 88 | # Visual Studio profiler 89 | *.psess 90 | *.vsp 91 | *.vspx 92 | *.sap 93 | 94 | # TFS 2012 Local Workspace 95 | $tf/ 96 | 97 | # Guidance Automation Toolkit 98 | *.gpState 99 | 100 | # ReSharper is a .NET coding add-in 101 | _ReSharper*/ 102 | *.[Rr]e[Ss]harper 103 | *.DotSettings.user 104 | 105 | # JustCode is a .NET coding add-in 106 | .JustCode 107 | 108 | # TeamCity is a build add-in 109 | _TeamCity* 110 | 111 | # DotCover is a Code Coverage Tool 112 | *.dotCover 113 | 114 | # Visual Studio code coverage results 115 | *.coverage 116 | *.coveragexml 117 | 118 | # NCrunch 119 | _NCrunch_* 120 | .*crunch*.local.xml 121 | nCrunchTemp_* 122 | 123 | # MightyMoose 124 | *.mm.* 125 | AutoTest.Net/ 126 | 127 | # Web workbench (sass) 128 | .sass-cache/ 129 | 130 | # Installshield output folder 131 | [Ee]xpress/ 132 | 133 | # DocProject is a documentation generator add-in 134 | DocProject/buildhelp/ 135 | DocProject/Help/*.HxT 136 | DocProject/Help/*.HxC 137 | DocProject/Help/*.hhc 138 | DocProject/Help/*.hhk 139 | DocProject/Help/*.hhp 140 | DocProject/Help/Html2 141 | DocProject/Help/html 142 | 143 | # Click-Once directory 144 | publish/ 145 | 146 | # Publish Web Output 147 | *.[Pp]ublish.xml 148 | *.azurePubxml 149 | # TODO: Comment the next line if you want to checkin your web deploy settings 150 | # but database connection strings (with potential passwords) will be unencrypted 151 | *.pubxml 152 | *.publishproj 153 | 154 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 155 | # checkin your Azure Web App publish settings, but sensitive information contained 156 | # in these scripts will be unencrypted 157 | PublishScripts/ 158 | 159 | # NuGet Packages 160 | *.nupkg 161 | # The packages folder can be ignored because of Package Restore 162 | **/packages/* 163 | # except build/, which is used as an MSBuild target. 164 | !**/packages/build/ 165 | # Uncomment if necessary however generally it will be regenerated when needed 166 | #!**/packages/repositories.config 167 | # NuGet v3's project.json files produces more ignorable files 168 | *.nuget.props 169 | *.nuget.targets 170 | 171 | # Microsoft Azure Build Output 172 | csx/ 173 | *.build.csdef 174 | 175 | # Microsoft Azure Emulator 176 | ecf/ 177 | rcf/ 178 | 179 | # Windows Store app package directories and files 180 | AppPackages/ 181 | BundleArtifacts/ 182 | Package.StoreAssociation.xml 183 | _pkginfo.txt 184 | 185 | # Visual Studio cache files 186 | # files ending in .cache can be ignored 187 | *.[Cc]ache 188 | # but keep track of directories ending in .cache 189 | !*.[Cc]ache/ 190 | 191 | # Others 192 | ClientBin/ 193 | ~$* 194 | *~ 195 | *.dbmdl 196 | *.dbproj.schemaview 197 | *.jfm 198 | *.pfx 199 | *.publishsettings 200 | orleans.codegen.cs 201 | 202 | # Since there are multiple workflows, uncomment next line to ignore bower_components 203 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 204 | #bower_components/ 205 | 206 | # RIA/Silverlight projects 207 | Generated_Code/ 208 | 209 | # Backup & report files from converting an old project file 210 | # to a newer Visual Studio version. Backup files are not needed, 211 | # because we have git ;-) 212 | _UpgradeReport_Files/ 213 | Backup*/ 214 | UpgradeLog*.XML 215 | UpgradeLog*.htm 216 | 217 | # SQL Server files 218 | *.mdf 219 | *.ldf 220 | *.ndf 221 | 222 | # Business Intelligence projects 223 | *.rdl.data 224 | *.bim.layout 225 | *.bim_*.settings 226 | 227 | # Microsoft Fakes 228 | FakesAssemblies/ 229 | 230 | # GhostDoc plugin setting file 231 | *.GhostDoc.xml 232 | 233 | # Node.js Tools for Visual Studio 234 | .ntvs_analysis.dat 235 | node_modules/ 236 | 237 | # Typescript v1 declaration files 238 | typings/ 239 | 240 | # Visual Studio 6 build log 241 | *.plg 242 | 243 | # Visual Studio 6 workspace options file 244 | *.opt 245 | 246 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 247 | *.vbw 248 | 249 | # Visual Studio LightSwitch build output 250 | **/*.HTMLClient/GeneratedArtifacts 251 | **/*.DesktopClient/GeneratedArtifacts 252 | **/*.DesktopClient/ModelManifest.xml 253 | **/*.Server/GeneratedArtifacts 254 | **/*.Server/ModelManifest.xml 255 | _Pvt_Extensions 256 | 257 | # Paket dependency manager 258 | .paket/paket.exe 259 | paket-files/ 260 | 261 | # FAKE - F# Make 262 | .fake/ 263 | 264 | # JetBrains Rider 265 | .idea/ 266 | *.sln.iml 267 | 268 | # CodeRush 269 | .cr/ 270 | 271 | # Python Tools for Visual Studio (PTVS) 272 | __pycache__/ 273 | *.pyc 274 | 275 | # Cake - Uncomment if you are using it 276 | # tools/** 277 | # !tools/packages.config 278 | 279 | # Telerik's JustMock configuration file 280 | *.jmconfig 281 | 282 | # BizTalk build output 283 | *.btp.cs 284 | *.btm.cs 285 | *.odx.cs 286 | *.xsd.cs 287 | -------------------------------------------------------------------------------- /LICENSE.TXT: -------------------------------------------------------------------------------- 1 | ============================================================================== 2 | LLVM Release License 3 | ============================================================================== 4 | University of Illinois/NCSA 5 | Open Source License 6 | 7 | Copyright (c) 2003-2017 University of Illinois at Urbana-Champaign. 8 | All rights reserved. 9 | 10 | Developed by: 11 | 12 | LLVM Team 13 | 14 | University of Illinois at Urbana-Champaign 15 | 16 | http://llvm.org 17 | 18 | Permission is hereby granted, free of charge, to any person obtaining a copy of 19 | this software and associated documentation files (the "Software"), to deal with 20 | the Software without restriction, including without limitation the rights to 21 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 22 | of the Software, and to permit persons to whom the Software is furnished to do 23 | so, subject to the following conditions: 24 | 25 | * Redistributions of source code must retain the above copyright notice, 26 | this list of conditions and the following disclaimers. 27 | 28 | * Redistributions in binary form must reproduce the above copyright notice, 29 | this list of conditions and the following disclaimers in the 30 | documentation and/or other materials provided with the distribution. 31 | 32 | * Neither the names of the LLVM Team, University of Illinois at 33 | Urbana-Champaign, nor the names of its contributors may be used to 34 | endorse or promote products derived from this Software without specific 35 | prior written permission. 36 | 37 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 38 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 39 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 40 | CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 41 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 42 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE 43 | SOFTWARE. 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Clang Integration for Visual Studio, stand-alone 3 | 4 | Users of VS2017 (and later) should try the Visual Studio extension 5 | [LLVM Compiler Toolchain](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain). 6 | It is more configurable, contains some bug-fixes and is supported by LLVM. 7 | 8 | Users of VS2015 and earlier, or who want to compile with LLVM/Clang using the 9 | older toolsets, can try this implementation. 10 | Or try extracting the new implementation, see a 11 | [solution by CFSworks at stackoverflow](https://stackoverflow.com/a/52582414/2504346) 12 | 13 | This is an reimplementation of the legacy integration method, as used by the 14 | LLVM installer up to v6.0.1. 15 | Originally created to test an update for the LLVM/Clang integration, adding 16 | support for Visual Studio 2017. 17 | 18 | This adds LLVM toolset configurations for any installed legacy toolsets since 19 | VS2010 (including the Windows XP toolsets). 20 | Allowing building these toolset with the targeted version of LLVM/Clang. 21 | 22 | Target: Clang for Windows, stable release **v6.0.1** 23 | 24 | Expected to work with: 25 | Visual Studio versions: VS2010, VS2013, VS2015 and VS2017. 26 | Visual C++ Build Tools: 2017 and 2015. 27 | 28 | 29 | 30 | ## Instructions 31 | 32 | ### Installation 33 | 1. Extract all files in an empty directory. 34 | 2. Run `install.bat`. 35 | As Administrator when needed. The script requires write access to the 36 | MSBuild and VS2017 install directories. 37 | *Note*: Currently the install script stops on the first error. 38 | 39 | ### Removal 40 | 1. Run the supplied `uninstall.bat` (as Administrator, when needed.) 41 | 2. (For LLVM v6.01 and earlier) Restore the original configuration. 42 | `{LLVM install dir.}\tools\msbuild\install.bat` 43 | 44 | 45 | 46 | ## Changes 47 | 48 | - `install.bat` / `uninstall.bat` 49 | - Total rewrite, to support user defined install locations for VS2017 50 | Using the [Visual Studio Locator Tool](https://github.com/Microsoft/vswhere) 51 | - Accepting other platform types, when defined, 52 | based on directory structure. 53 | - Only installing toolsets when the base MSVC toolset is installed. 54 | - Apply redefined install method for older versions. *(Needs more testing.)* 55 | - Use `pushd` and `popd` to switch the working directory back when the 56 | script finishes. 57 | - On a copy error, try for the next VS installation. 58 | This allows for installs and updates without admin rights. 59 | E.g. when VS2017 is installed on a users' personal drive. 60 | - Combined the install and uninstall script. 61 | Reducing code duplication, from the shared path generation. 62 | - Improved progress reporting. 63 | - `*.props` files 64 | - Add vs2017 versions. 65 | - Fixed `LibraryPath` version number. 66 | - `*.targets` files 67 | - Add vs2017 versions. 68 | - For toolset versions `140(_xp)` and `141_(xp)`, inherit from the Microsoft 69 | supplied configuration, to stay up to date. (As the `*.props` do.) 70 | - *Note*: no changes have been made to the files for older compilers. 71 | These have been included for proper operation of the install script. 72 | 73 | 74 | 75 | ## License 76 | 77 | This project contains code from, and based on the LLVM project. 78 | 79 | LLVM is open source software. You may freely distribute it under the terms of 80 | the license agreement found in LICENSE.TXT. 81 | 82 | 83 | 84 | ----------- 85 | [Top](#top) 86 | -------------------------------------------------------------------------------- /Win32/Microsoft.Cpp.Win32.LLVM-vs2010.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m32 -fmsc-version=1600 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Win32/Microsoft.Cpp.Win32.LLVM-vs2010.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /Win32/Microsoft.Cpp.Win32.LLVM-vs2012.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m32 -fmsc-version=1700 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Win32/Microsoft.Cpp.Win32.LLVM-vs2012.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Win32/Microsoft.Cpp.Win32.LLVM-vs2012_xp.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m32 -fmsc-version=1700 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Win32/Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | v4.0 5 | NoSupportCodeAnalysisXP;$(BeforeClCompileTargets) 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | CheckWindowsSDK71A;$(PrepareForBuildDependsOn) 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Win32/toolset-vs2013.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m32 -fmsc-version=1800 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Win32/toolset-vs2013.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Win32/toolset-vs2013_xp.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m32 -fmsc-version=1800 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Win32/toolset-vs2013_xp.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | v4.0 5 | NoSupportCodeAnalysisXP;$(BeforeClCompileTargets) 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | CheckWindowsSDK71A;$(PrepareForBuildDependsOn) 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Win32/toolset-vs2014.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m32 -fmsc-version=1900 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Win32/toolset-vs2014.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Win32/toolset-vs2014_xp.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m32 -fmsc-version=1900 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Win32/toolset-vs2014_xp.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | v4.0 5 | NoSupportCodeAnalysisXP;$(BeforeClCompileTargets) 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | CheckWindowsSDK71A;$(PrepareForBuildDependsOn) 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Win32/toolset-vs2017.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 7 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 8 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 9 | 10 | 11 | 12 | 13 | 14 | -m32 -fmsc-version=1913 %(AdditionalOptions) 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Win32/toolset-vs2017.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Win32/toolset-vs2017_xp.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 7 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 8 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 9 | 10 | 11 | 12 | 13 | 14 | -m32 -fmsc-version=1913 %(AdditionalOptions) 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Win32/toolset-vs2017_xp.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /install.bat: -------------------------------------------------------------------------------- 1 | ::===-- msbuild/install.bat - Clang Integration in MSBuild ----------------===:: 2 | :: 3 | :: The LLVM Compiler Infrastructure 4 | :: 5 | :: This file is distributed under the University of Illinois Open Source 6 | :: License. See LICENSE.TXT for details. 7 | :: 8 | ::===----------------------------------------------------------------------===:: 9 | :: 10 | :: This file is an executable script for use on Microsoft Windows. 11 | :: Providing the installation and removal of the configuration files, 12 | :: required to support the integration of LLVM/Clang-CL, in the directory 13 | :: structure of Microsoft Visual Studio. 14 | :: 15 | ::===----------------------------------------------------------------------===:: 16 | @echo off 17 | setlocal 18 | pushd "%~dp0" & REM Set current directory to the location of this batch file. 19 | if /i [%1]==[--uninstall] ( set _Uninstall=1 20 | echo Uninstalling MSVC integration... 21 | ) else ( 22 | if not [%1]==[] echo ERROR: Unknown input parameter. & exit /b 1 23 | echo Installing MSVC integration... 24 | ) 25 | set /a "_SuccessCnt=0" 26 | set /a "_FailCnt=0" 27 | 28 | :: Legacy installations. Detection by explicit directory structure. 29 | if defined ProgramFiles(x86) call :fn_legacy "%ProgramFiles(x86)%" 30 | if not %ERRORLEVEL%==0 goto FINISHED 31 | call :fn_legacy "%ProgramFiles%" 32 | if not %ERRORLEVEL%==0 goto FINISHED 33 | :: VS2017 (VC++ toolset v141) and later. 34 | call :fn_vswhere 35 | 36 | :FINISHED 37 | if not %ERRORLEVEL%==0 echo ERROR: Internal script error. 38 | if not defined _Uninstall ( 39 | if not %_FailCnt%==0 ( 40 | echo WARNING: Copy operation failed for %_FailCnt% installations. 41 | echo: Verify write access. (Run as administrator.^) 42 | ) 43 | if %_SuccessCnt%==0 ( echo WARNING: Failed to install any toolset. 44 | ) else ( echo Installed integation for %_SuccessCnt% toolsets. ) 45 | goto END_ALL 46 | ) 47 | set /a "_Removed=_SuccessCnt - _FailCnt" 48 | echo Removed %_Removed% of %_SuccessCnt% LLVM configurations. 49 | 50 | :END_ALL 51 | echo Done! 52 | popd & REM Reset current directory. 53 | endlocal 54 | pause 55 | exit /b 56 | 57 | ::===----------------------------------------------------------------------===:: 58 | :: Function Definitions 59 | ::===----------------------------------------------------------------------===:: 60 | 61 | :: Try known values for $(VCTargetsPath) to find MSVC toolsets. 62 | :fn_legacy 63 | setlocal 64 | if [%1]==[] echo ERROR: fn_legacy - no input & goto:eof 65 | set "_BaseDir=%~1" 66 | :: VS2010 (v100). 67 | call :fn_platforms "%_BaseDir%\MSBuild\Microsoft.Cpp\v4.0" 68 | :: VS2012 (v110). 69 | call :fn_platforms "%_BaseDir%\MSBuild\Microsoft.Cpp\v4.0\V110" 70 | :: VS2013 (v120). 71 | call :fn_platforms "%_BaseDir%\MSBuild\Microsoft.Cpp\v4.0\V120" 72 | :: VS2015 (v140). 73 | call :fn_platforms "%_BaseDir%\MSBuild\Microsoft.Cpp\v4.0\V140" 74 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & set "_FailCnt=%_FailCnt%" 75 | goto:eof 76 | 77 | :: Find MSVC toolsets since VS2017 with the Visual Studio Locator tool. 78 | :fn_vswhere 79 | setlocal 80 | if DEFINED ProgramFiles(x86) ( 81 | set "_Vswhere=%ProgramFiles(x86)%") else (set "_Vswhere=%ProgramFiles%") 82 | set _Vswhere="%_Vswhere%\Microsoft Visual Studio\Installer\vswhere.exe" 83 | if not exist %_Vswhere% goto:eof 84 | for /f "usebackq tokens=*" %%i in ( 85 | `%_Vswhere% -all -prerelease -products * -property installationPath` 86 | ) do ( REM Construct path equal to $(VCTargetsPath). 87 | echo Found VS: %%i 88 | call :fn_platforms "%%i\Common7\IDE\VC\VCTargets" 89 | ) 90 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & set "_FailCnt=%_FailCnt%" 91 | goto:eof 92 | 93 | :: Find supported platforms by folder name. 94 | :fn_platforms 95 | setlocal 96 | if [%1]==[] echo ERROR: fn_platforms - no input & goto:eof 97 | set "_VCTargetsPath=%~1" 98 | if not exist "%_VCTargetsPath%\Platforms" goto:eof 99 | setlocal EnableDelayedExpansion 100 | for /f "usebackq tokens=*" %%P in (`dir "!_VCTargetsPath!\Platforms" /a:d /b` 101 | ) do ( 102 | if exist ".\%%P" ( 103 | if not defined _Uninstall ( 104 | call :fn_toolsets "!_VCTargetsPath!\Platforms\%%P\PlatformToolsets" %%P 105 | ) else ( 106 | call :fn_remove "!_VCTargetsPath!\Platforms\%%P\PlatformToolsets" %%P 107 | ) 108 | if not !ERRORLEVEL!==0 set /a "_FailCnt+=1" 109 | ) 110 | ) 111 | endlocal & ( REM /EnableDelayedExpansion 112 | set "_SuccessCnt=%_SuccessCnt%" & set "_FailCnt=%_FailCnt%" ) 113 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & set "_FailCnt=%_FailCnt%" 114 | exit /b 0 & REM Contain ERRORLEVEL. 115 | 116 | :: Install Clang integration for each supported toolset that is present. 117 | :fn_toolsets 118 | setlocal DisableDelayedExpansion 119 | if [%2]==[] echo ERROR: fn_toolsets - no input & goto:eof 120 | set "_ToolsetDir=%~1" 121 | set "_Platform=%~2" 122 | ::===---------- configurations ------------------------------------------===:: 123 | :: _Name Name for the LLVM toolset. 124 | :: _Props Predefined property file. 125 | :: _Targets Predefined targets file. 126 | :: _NoRename Set to TRUE to keep the predefined file names. (v100, v110) 127 | 128 | :: Installing the v100 toolchain. 129 | setlocal 130 | set _Name=LLVM-vs2010 131 | set _Props=Microsoft.Cpp.%_Platform%.LLVM-vs2010.props 132 | set _Targets=Microsoft.Cpp.%_Platform%.LLVM-vs2010.targets 133 | set _NoRename=TRUE 134 | if exist "%_ToolsetDir%\v100" call :fn_copy 135 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & if not %ERRORLEVEL%==0 goto:eof 136 | 137 | :: Installing the v110 toolchain. 138 | setlocal 139 | set _Name=LLVM-vs2012 140 | set _Props=Microsoft.Cpp.%_Platform%.LLVM-vs2012.props 141 | set _Targets=Microsoft.Cpp.%_Platform%.LLVM-vs2012.targets 142 | set _NoRename=TRUE 143 | if exist "%_ToolsetDir%\v110" call :fn_copy 144 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & if not %ERRORLEVEL%==0 goto:eof 145 | :: Installing the v110_xp toolchain. 146 | setlocal 147 | set _Name=LLVM-vs2012_xp 148 | set _Props=Microsoft.Cpp.%_Platform%.LLVM-vs2012_xp.props 149 | set _Targets=Microsoft.Cpp.%_Platform%.LLVM-vs2012_xp.targets 150 | set _NoRename=TRUE 151 | if exist "%_ToolsetDir%\v110_xp" call :fn_copy 152 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & if not %ERRORLEVEL%==0 goto:eof 153 | 154 | :: Installing the v120 toolchain. 155 | setlocal 156 | set _Name=LLVM-vs2013 157 | set _Props=toolset-vs2013.props 158 | set _Targets=toolset-vs2013.targets 159 | if exist "%_ToolsetDir%\v120" call :fn_copy 160 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & if not %ERRORLEVEL%==0 goto:eof 161 | :: Installing the v120_xp toolchain. 162 | setlocal 163 | set _Name=LLVM-vs2013_xp 164 | set _Props=toolset-vs2013_xp.props 165 | set _Targets=toolset-vs2013_xp.targets 166 | if exist "%_ToolsetDir%\v120_xp" call :fn_copy 167 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & if not %ERRORLEVEL%==0 goto:eof 168 | 169 | :: Installing the v140 toolchain. 170 | setlocal 171 | set _Name=LLVM-vs2014 172 | set _Props=toolset-vs2014.props 173 | set _Targets=toolset-vs2014.targets 174 | if exist "%_ToolsetDir%\v140" call :fn_copy 175 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & if not %ERRORLEVEL%==0 goto:eof 176 | :: Installing the v140_xp toolchain. 177 | setlocal 178 | set _Name=LLVM-vs2014_xp 179 | set _Props=toolset-vs2014_xp.props 180 | set _Targets=toolset-vs2014_xp.targets 181 | if exist "%_ToolsetDir%\v140_xp" call :fn_copy 182 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & if not %ERRORLEVEL%==0 goto:eof 183 | 184 | :: Installing the v141 toolchain. 185 | setlocal 186 | set _Name=LLVM-vs2017 187 | set _Props=toolset-vs2017.props 188 | set _Targets=toolset-vs2017.targets 189 | if exist "%_ToolsetDir%\v141" call :fn_copy 190 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & if not %ERRORLEVEL%==0 goto:eof 191 | :: Installing the v141_xp toolchain. 192 | setlocal 193 | set _Name=LLVM-vs2017_xp 194 | set _Props=toolset-vs2017_xp.props 195 | set _Targets=toolset-vs2017_xp.targets 196 | if exist "%_ToolsetDir%\v141_xp" call :fn_copy 197 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & if not %ERRORLEVEL%==0 goto:eof 198 | ::===--------------------------------------------------------------------===:: 199 | endlocal & set "_SuccessCnt=%_SuccessCnt%" 200 | goto:eof 201 | 202 | :: Perform the copy operations. 203 | :fn_copy 204 | setlocal 205 | if not defined _ToolsetDir goto:eof 206 | if not defined _Props goto:eof 207 | if not defined _Targets goto:eof 208 | if not defined _Name goto:eof 209 | 210 | echo: %_Name% (%_Platform%) 211 | set _PropsFile=".\%_Platform%\%_Props%" 212 | set _TargetsFile=".\%_Platform%\%_Targets%" 213 | set "_Dir=%_ToolsetDir%\%_Name%" 214 | 215 | if not exist "%_Dir%" mkdir "%_Dir%" 216 | if not %ERRORLEVEL%==0 goto:eof 217 | if [%_NoRename%]==[TRUE] goto doNotRename 218 | if exist %_PropsFile% copy %_PropsFile% "%_Dir%\toolset.props" > NUL 219 | if not %ERRORLEVEL%==0 goto:eof 220 | if exist %_TargetsFile% copy %_TargetsFile% "%_Dir%\toolset.targets" > NUL 221 | if not %ERRORLEVEL%==0 goto:eof 222 | goto CopyEnd 223 | :doNotRename & REM VS2010 and VS2012. 224 | if exist %_PropsFile% copy %_PropsFile% "%_Dir%" > NUL 225 | if not %ERRORLEVEL%==0 goto:eof 226 | if exist %_TargetsFile% copy %_TargetsFile% "%_Dir%" > NUL 227 | if not %ERRORLEVEL%==0 goto:eof 228 | :CopyEnd 229 | endlocal & set /a "_SuccessCnt+=1" 230 | goto:eof 231 | 232 | :: Remove toolset configurations that follow the LLVM naming format. 233 | :fn_remove 234 | setlocal DisableDelayedExpansion 235 | if [%2]==[] echo ERROR: fn_remove - no input & goto:eof 236 | set "_ToolsetDir=%~1" 237 | set "_Platform=%2" 238 | if not exist "%_ToolsetDir%\LLVM-*" goto:eof 239 | setlocal EnableDelayedExpansion 240 | for /f "usebackq tokens=*" %%D in (`dir "!_ToolsetDir!\LLVM-*" /a:d /b`) do ( 241 | set /a "_SuccessCnt+=1" 242 | set _File="!_ToolsetDir!\%%D\toolset.props" 243 | if exist !_File! del !_File! > NUL 244 | set _File="!_ToolsetDir!\%%D\toolset.targets" 245 | if exist !_File! del !_File! > NUL 246 | :: VS2010 and VS2012: 247 | set _File="!_ToolsetDir!\%%D\Microsoft.Cpp.%_Platform%.LLVM-vs201*.props" 248 | if exist !_File! del !_File! > NUL 249 | set _File="!_ToolsetDir!\%%D\Microsoft.Cpp.%_Platform%.LLVM-vs201*.targets" 250 | if exist !_File! del !_File! > NUL 251 | :: Remove folder if empty, else report. 252 | rmdir "!_ToolsetDir!\%%D" || (echo !_ToolsetDir!\%%D & set /a "_FailCnt+=1") 253 | ) 254 | endlocal & ( REM /EnableDelayedExpansion 255 | set "_SuccessCnt=%_SuccessCnt%" & set "_FailCnt=%_FailCnt%" ) 256 | endlocal & set "_SuccessCnt=%_SuccessCnt%" & set "_FailCnt=%_FailCnt%" 257 | exit /b 0 & REM Contain ERRORLEVEL. 258 | -------------------------------------------------------------------------------- /uninstall.bat: -------------------------------------------------------------------------------- 1 | ::===-- msbuild/uninstall.bat - Clang Integration in MSBuild --------------===:: 2 | :: 3 | :: The LLVM Compiler Infrastructure 4 | :: 5 | :: This file is distributed under the University of Illinois Open Source 6 | :: License. See LICENSE.TXT for details. 7 | :: 8 | ::===----------------------------------------------------------------------===:: 9 | :: 10 | :: This file is an executable script for use on Microsoft Windows. 11 | :: Calling the accompaning install.bat, to remove the LLVM/Clang-CL 12 | :: configuration files from the directory structure of Microsoft Visual Studio. 13 | :: 14 | ::===----------------------------------------------------------------------===:: 15 | @echo off 16 | pushd "%~dp0" &REM Set current directory to the location of this batch file. 17 | 18 | if exist install.bat (call .\install.bat --uninstall 19 | ) else ( 20 | echo ERROR: File not found: 21 | echo: %~dp0install.bat 22 | ) 23 | popd 24 | exit /b 25 | -------------------------------------------------------------------------------- /x64/Microsoft.Cpp.x64.LLVM-vs2010.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m64 -fmsc-version=1600 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /x64/Microsoft.Cpp.x64.LLVM-vs2010.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /x64/Microsoft.Cpp.x64.LLVM-vs2012.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m64 -fmsc-version=1700 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /x64/Microsoft.Cpp.x64.LLVM-vs2012.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /x64/Microsoft.Cpp.x64.LLVM-vs2012_xp.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m64 -fmsc-version=1700 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /x64/Microsoft.Cpp.x64.LLVM-vs2012_xp.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | v4.0 5 | NoSupportCodeAnalysisXP;$(BeforeClCompileTargets) 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | CheckWindowsSDK71A;$(PrepareForBuildDependsOn) 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /x64/toolset-vs2013.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m64 -fmsc-version=1800 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /x64/toolset-vs2013.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /x64/toolset-vs2013_xp.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m64 -fmsc-version=1800 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /x64/toolset-vs2013_xp.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | v4.0 5 | NoSupportCodeAnalysisXP;$(BeforeClCompileTargets) 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | CheckWindowsSDK71A;$(PrepareForBuildDependsOn) 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /x64/toolset-vs2014.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m64 -fmsc-version=1900 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /x64/toolset-vs2014.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /x64/toolset-vs2014_xp.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 7 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 8 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 9 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 10 | 11 | 12 | 13 | 14 | 15 | -m64 -fmsc-version=1900 %(AdditionalOptions) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /x64/toolset-vs2014_xp.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | v4.0 5 | NoSupportCodeAnalysisXP;$(BeforeClCompileTargets) 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | CheckWindowsSDK71A;$(PrepareForBuildDependsOn) 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /x64/toolset-vs2017.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 7 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 8 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 9 | 10 | 11 | 12 | 13 | 14 | -m64 -fmsc-version=1913 %(AdditionalOptions) 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /x64/toolset-vs2017.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /x64/toolset-vs2017_xp.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 6 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 7 | $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) 8 | $(LLVMInstallDir)\lib\clang\6.0.1\lib\windows;$(LibraryPath) 9 | 10 | 11 | 12 | 13 | 14 | -m64 -fmsc-version=1913 %(AdditionalOptions) 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /x64/toolset-vs2017_xp.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | --------------------------------------------------------------------------------