RFC: Adding newer VS proj files

Hi all,

We’d like to get some feedback on what people think about what compiler toolsets are being using on Windows currently, as we’re looking to add project files to support the newer C++ features (C++17, C++20) without having to modify the existing vc2015 files.

I have a PR up here for adding basic VS 2019 / v142 proj files: https://github.com/cinder/Cinder/pull/2113
And there is a related discussion in this closed PR, which added files for the older VS 2017 / v141 toolset: https://github.com/cinder/Cinder/pull/2082

The question is, should we skip v141 toolset altogether, minimizing the maintenance effort? My rationale is that v141 is quite similar to v140, which we will keep for the time being (in the vc2015 folders). On the other hand, v142 is a big step forward, bringing lots of new language features and faster compile / link times.

We’d like to know what the community is using, and if it is worth it to add a vc2017 cinder.proj file as well.

cheers,
Rich

2 Likes

I’ve been using VS 2017 for a while now and never had any issue when using “Retarget Projects”. Skipping 2017 doesn’t sound bad for me.

same as @xumo I use vs2017 for all my projects.
ok for vs2019

We quickly transitioned from the VS2017 IDE to 2019 here but have been sticking to the vs140 toolset mostly out of habit. I’d definitely be down to skip v141 and go straight to v142 and eliminate the need to hang on to more old build tools in the future.

I’ve been using VS 2017 with Cinder for several years, no problem using “retarget” (well, just manually selecting the toolchain (v141) and SDK version I want in the Project preferences).

However, without some major fiddling (and updating to a newer Boost version) I was not able to use C++17 with Cinder. (I can go into more detail if needed, it was mainly related to ASIO/networking and OSC if I recall, and also use of boost::variant and optional, which I’d be happy to switch for std::variant and std::optional in C++17!)

So whether you provide v141 project files or not, as long as Cinder works with C++17 (and newer Boost), I’ll be happy. I can switch to VS2019 if necessary.

Thanks,
Glen.

1 Like

hahahaha, where have I been? VS 2015 v140 here… using Paul’s reverse-z GLAD build.
I’ve been coming across more C++17 libraries that I’d like to use so I’m glad we’re looking at this. I’m comfortable skipping v141…