deplinenoise / tundra

Tundra is a code build system that tries to be accurate and fast for incremental builds
MIT License
438 stars 74 forks source link

Add support for VS 2022 #338

Closed RyanJGray closed 1 year ago

RyanJGray commented 1 year ago

Spent some time adding support for VS 2022, since it seemed pretty straightforward to get this up and running.

One thing of note, is that Microsoft have recently marked the ToolsVersion attribute as being obsolete.

The MSBuild ToolsVersion attribute on the Project element in Visual Studio and MSBuild project files is considered obsolete in Visual Studio 2019 and later; you can safely delete it.

ToolsVersion MSBuild Docs

I've removed VS 2019 from the check that sets that attribute, as it seemed unnecessary, given what Microsoft has said.

VCProjectVersion seems to be completely undocumented, and I couldn't seem to find a VS 2019 or VS 2022 C++ project that has that element inside of it. Seems like it was just a VS 2017 thing, not sure. Didn't notice any side effects of that being removed in my tests, on VS 2022.

Let me know if you want anything updated or changed on this, and I'll get it sorted.

(Please excuse the CI workflow commits, that was me mucking about doing some tests, I've reverted them. I am hoping to do a squash & merge so that history won't linger around in here, let me know what you would prefer).