On Thu, 16 Feb 2023 13:02:29 -0800 (PST) Tobias T wrote:
TT> I've had a quick look at github actions to create offical builds.
Thanks!
TT> Building vc14x is certainly possible with a few more minor tweaks.
This is already good news!
TT> See here for a first try.
Just to check: is it intentional that the artefact produced by this build
contains just the build logs and not the files themselves?
TT> The software installed on the github runners only include Visual Studio 2022.
TT> Thats should be fine for vc14x builds,
Actually, unfortunately, not quite, 64 bit code generated by relatively
recent versions of 2019 (and all versions of 2022) is incompatible with the
MSVS 2017 CRT any longer and so the libraries built with them can't be used
with MSVS 2017 out of the box (it still works in 32 bits).
TT> but older VS builds would require a silent install of these versions in
TT> the runner before building wxWidgets. Which I'm not sure would be
TT> possible.
Me neither :-( FWIW I know that AppVeyor still has images with old MSVS
versions, see
https://www.appveyor.com/docs/windows-images-software/, but
it's not as convenient to use as GHA.
TT> With MinGW/MSYS there is also only one version (which I think isn't one
TT> we currently build for).
We should be able to install any version of MinGW we need at least.
TT> But maybe just building vc14x builds as part of the create release
TT> workflow would be good start?
I really don't know. If you look at the download statistics, all binaries
seem to be downloaded about the same number of times (a few thousands). I
strongly suspect that there is something fishy going on, e.g. maybe there
is some automated process downloading each of them daily or something like
that because I just can't believe that there are as many people developing
with ancient MSVS versions as with much newer ones, but I can't really be
sure.
TT> Apart from that what would you think about building the official
TT> binaries with CMake ? That would get rid of the usage of nmake and
TT> could simplify the build scripts significantly (archive, checksums, etc
TT> could simply be an additional "package" target).
I'm still ambivalent towards CMake but even it is certainly better than
nmake (and should also build much faster as it would use all the CPUs), so
I guess that objectively this would be a good idea. We would need to check
that the binaries produced by it for 3.2 are ABI-compatible with the ones
we have now (normally I don't see why they shouldn't be, but who knows),
but other than that I don't have any objections to it.
Of course, as long as Danny (and Xavier, if you also think that CMake can
be used for MinGW binaries) actually build these binaries, it's their
opinion which really matters and not mine.
Thanks again for looking at this!
VZ