├── .gitignore ├── LLVM.Cpp.Common.props ├── LLVM.Cpp.Common.targets ├── Platformx64 ├── Toolset.props └── Toolset.targets ├── Platformx86 ├── Toolset.props └── Toolset.targets ├── README.md ├── UpgradeLog.htm ├── license.txt ├── llvm-general.xml ├── llvm2019.png ├── llvm2022.csproj ├── llvm2022.sln └── source.extension.vsixmanifest /.gitignore: -------------------------------------------------------------------------------- 1 | obj/ 2 | bin/ 3 | .vs/ 4 | Key.snk 5 | packages/ 6 | *.csproj.user 7 | TODO/ 8 | /_ReSharper.Caches -------------------------------------------------------------------------------- /LLVM.Cpp.Common.props: -------------------------------------------------------------------------------- 1 |  2 | 18 | 19 | 20 | 21 | Clang.Windows 22 | $(TargetPlatformIdentifier) 23 | 25 | true 26 | false 27 | 28 | $(IntermediateOutputPath) 29 | $(Configuration)\ 30 | $(SolutionDir)$(Configuration)\ 31 | $(IntDir) 32 | WindowsLocalDebugger 33 | 34 | 35 | 36 | 37 | <_PlatformToolsetShortNameFor_llvm>LLVM 38 | <_PlatformToolsetFriendlyNameFor_llvm>LLVM 39 | 40 | 41 | 42 | 43 | $(LLVMInstallDir) 44 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM) 45 | $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM) 46 | $(LLVMInstallDir)\ 47 | $(LLVMInstallDir)bin\clang-cl.exe 48 | $(LLVMInstallDir)bin\lld-link.exe 49 | true 50 | true 51 | 52 | 53 | 55 | 56 | 57 | 58 | 61 | $(IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath); 62 | $(WindowsSDK_MetadataPath); 63 | $(VC_SourcePath); 64 | 65 | 66 | 67 | 70 | 71 | 72 | 79 | Default 80 | 81 | 82 | -------------------------------------------------------------------------------- /LLVM.Cpp.Common.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10 | $(ClangClExecutable) 11 | $(LldLinkExecutable) 12 | <_ClExternalIncludesSupported>false 13 | <_LinkILKSupported>false 14 | <_LinkLTCGOUTSupported>false 15 | 16 | 17 | 18 | 19 | Project 20 | 21 | 22 | 23 | 24 | $(ClangIncludePath);$(IncludePath) 25 | $(ClangIncludePath);$(ExcludePath) 26 | 27 | 28 | 30 | 31 | 32 | true 33 | Default 34 | -m$(PlatformArchitecture) $(ClangClAdditionalOptions) %(AdditionalOptions) 35 | 36 | 37 | 38 | 39 | 40 | $(LldLinkAdditionalOptions) %(AdditionalOptions) 41 | 42 | 43 | 44 | 67 | 68 | 69 | 72 | 73 | 74 | 77 | 78 | 79 | 82 | 83 | 84 | 87 | 88 | 89 | 90 | 100 | OldStyle 101 | OldStyle 102 | 103 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 136 | Default 137 | 138 | 139 | 140 | -------------------------------------------------------------------------------- /Platformx64/Toolset.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(PATH); 6 | $(VC_ReferencesPath_x64); 7 | $(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 8 | $(VC_IncludePath);$(WindowsSDK_IncludePath);$(MSBuild_ExecutablePath);$(VC_LibraryPath_x64); 9 | $(VCToolsInstallDir)Debug_NonRedist\x64;$(WindowsSdkDir)bin\$(TargetPlatformVersion)\x64\ucrt 10 | 11 | -------------------------------------------------------------------------------- /Platformx64/Toolset.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /Platformx86/Toolset.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(PATH); 6 | $(VC_ReferencesPath_x86); 7 | $(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 8 | $(VC_IncludePath);$(WindowsSDK_IncludePath);$(MSBuild_ExecutablePath);$(VC_LibraryPath_x86); 9 | $(VCToolsInstallDir)Debug_NonRedist\x86;$(WindowsSdkDir)bin\$(TargetPlatformVersion)\x86\ucrt 10 | 11 | -------------------------------------------------------------------------------- /Platformx86/Toolset.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # llvm2022 2 | Allows the LLVM Compiler Toolchain (installed separately) to be used from within Visual Studio 2022 (only) to build C/C++ Projects. 3 | 4 | This is a (slighly) modified version of the extension as published under [llvm-project](https://github.com/llvm/llvm-project) (folder llvm/tools/msbuild) for Visual Studio 2017. 5 | 6 | This is a (slighly) modified version of the extension as published under [llvm2019](https://github.com/mangh/llvm2019) (folder llvm/tools/msbuild) for Visual Studio 2019. 7 | 8 | Built with Visual Studio 2022 Community edition. Tested (very cursory) under Visual Studio 2022 Community only. 9 | 10 | Inspired by: 11 | 12 | * [llvm2019](https://github.com/mangh/llvm2019) 13 | * [LLVM Compiler Toolchain extension @ Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain) 14 | * [Bug 42290 - LLVM Compiler Toolchain extension does not support Visual Studio 2019](https://bugs.llvm.org/show_bug.cgi?id=42290) 15 | * [Microsoft/PTVS Build error: The specified InstallRoot value of 'VCTargets' is invalid for item #5243](https://github.com/Microsoft/PTVS/issues/5243) 16 | -------------------------------------------------------------------------------- /UpgradeLog.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KomiMoe/llvm2019/45ee78cac36f8be30e6d3c3fee3cd5d6b8b5e11f/UpgradeLog.htm -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | ==================== 2 | LLVM Release License 3 | ==================== 4 | University of Illinois/NCSA 5 | Open Source License 6 | 7 | Copyright (c) 2007-2018 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 this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 19 | 20 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. 21 | 22 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. 23 | 24 | * Neither the names of the LLVM Team, University of Illinois at Urbana-Champaign, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. 25 | 26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. 27 | 28 | ==================== 29 | The LLVM software contains code written by third parties. Such software will have its own individual LICENSE.TXT file in the directory in which it appears. This file will describe the copyrights, license, and restrictions which apply 30 | to that code. 31 | 32 | The disclaimer of warranty in the University of Illinois Open Source License applies to all code in the LLVM Distribution, and nothing in any of the other licenses gives permission to use the names of the LLVM Team or the University of Illinois to endorse or promote products derived from this Software. 33 | 34 | The following pieces of software have additional or alternate copyrights, licenses, and/or restrictions: 35 | 36 | Program Directory 37 | ------- --------- 38 | 39 | -------------------------------------------------------------------------------- /llvm-general.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 21 | 22 | 28 | 29 | 30 | 36 | 37 | 38 | 42 | 43 | 44 | 49 | 50 | 56 | 57 | 58 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /llvm2019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KomiMoe/llvm2019/45ee78cac36f8be30e6d3c3fee3cd5d6b8b5e11f/llvm2019.png -------------------------------------------------------------------------------- /llvm2022.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 16.0 5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 6 | 7 | 8 | 9 | true 10 | 11 | 12 | Key.snk 13 | 14 | 15 | 16 | Debug 17 | AnyCPU 18 | 2.0 19 | {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 20 | {89FDE99F-79D1-419B-8728-AF50ACE007D9} 21 | Library 22 | Properties 23 | llvm2022 24 | llvm2022 25 | v4.8 26 | false 27 | false 28 | false 29 | false 30 | false 31 | false 32 | Program 33 | $(DevEnvDir)devenv.exe 34 | /rootsuffix Exp 35 | 36 | 37 | true 38 | full 39 | false 40 | bin\Debug\ 41 | DEBUG;TRACE 42 | prompt 43 | 4 44 | False 45 | 46 | 47 | pdbonly 48 | true 49 | bin\Release\ 50 | TRACE 51 | prompt 52 | 4 53 | False 54 | 55 | 56 | 57 | true 58 | MSBuild 59 | Microsoft\VC\v170\2052 60 | 61 | 62 | true 63 | MSBuild 64 | Microsoft\VC\v170 65 | 66 | 67 | Always 68 | true 69 | 70 | 71 | true 72 | MSBuild 73 | Microsoft\VC\v170 74 | 75 | 76 | Designer 77 | 78 | 79 | 80 | Always 81 | true 82 | 83 | 84 | true 85 | MSBuild 86 | Microsoft\VC\v170\Platforms\x64\PlatformToolsets\llvm 87 | 88 | 89 | true 90 | MSBuild 91 | Microsoft\VC\v170\Platforms\x64\PlatformToolsets\llvm 92 | 93 | 94 | true 95 | MSBuild 96 | Microsoft\VC\v170\Platforms\Win32\PlatformToolsets\llvm 97 | 98 | 99 | true 100 | MSBuild 101 | Microsoft\VC\v170\Platforms\Win32\PlatformToolsets\llvm 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | if not exist $(ProjectDir)Key.snk ("$(TargetFrameworkSDKToolsDirectory)\x64\sn.exe" -k $(ProjectDir)Key.snk) 111 | 112 | -------------------------------------------------------------------------------- /llvm2022.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.0.31903.59 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "llvm2022", "llvm2022.csproj", "{89FDE99F-79D1-419B-8728-AF50ACE007D9}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {89FDE99F-79D1-419B-8728-AF50ACE007D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {89FDE99F-79D1-419B-8728-AF50ACE007D9}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {89FDE99F-79D1-419B-8728-AF50ACE007D9}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {89FDE99F-79D1-419B-8728-AF50ACE007D9}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {382B0D3C-64A7-45D2-B81E-8DBE4EFD343E} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /source.extension.vsixmanifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | llvm2022 6 | Allows the LLVM Compiler Toolchain (installed separately) to be used from within Visual Studio 2022 (only) to build C/C++ Projects. 7 | https://github.com/KomiMoe/llvm2019 8 | license.txt 9 | llvm2019.png 10 | llvm; clang 11 | 12 | 13 | 14 | x86 15 | 16 | 17 | amd64 18 | 19 | 20 | x86 21 | 22 | 23 | amd64 24 | 25 | 26 | x86 27 | 28 | 29 | amd64 30 | 31 | 32 | x86 33 | 34 | 35 | amd64 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | --------------------------------------------------------------------------------