├── .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 |
16 |
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 |
--------------------------------------------------------------------------------