If you're primarily a *NIX user, there are a bunch of reasonable build system alternatives out there, but if "supporting Windows" is even a little bit of a priority, I have found CMake to be far and away the least painful way to build multi-platform software on Windows, especially if you're a novice.
Until Meson even approaches being as easy to use on Windows, I feel like it's going to continue to be second fiddle.
It may be second fiddle for people who care about Windows, but thankfully they seem to be few and far between these days. There's no reason to support Windows when they won't even pretend to care about standards compliance. Although even then, having to draw the ignorant masses of Windows devs out of their GUIs would be quite a task.
I don't know how common I am, but literally everybody that's ever paid me to do any development work has wanted support for Windows. (I'm a bit worried that this might date me, but my first time coding for coins was 20 years ago.) Tools that don't support Windows are just not useful to me.
I'm not even sure which standards you're worried about, either. VC++ supports C++14 pretty thoroughly, and you've got various builds of gcc or clang if you want whatever extra support they give you. We're long past the dark days of yore when support was hit or miss and MS didn't give a shit.
If you want POSIX, you are out of luck, but that's fine, because Windows isn't a Unix, so POSIX doesn't apply. My view is that this is actually a pretty good thing, but reasonable people may differ - e.g., by thinking that this is a fantastic, amazing, excellent and extremely good thing ;)
Overall: the really weird thing is that Windows support is no harder to arrange than support for any other platform. But because it's so unpopular with a certain brand of nerd, it's somehow OK to just code for POSIX, complain when your code doesn't build on Windows, and blame the whole affair on Windows. But, dear people that do this, I'm afraid you appear not to have noticed that portability is your job, not platform vendors'.
>But, dear people that do this, I'm afraid you appear not to have noticed that portability is your job, not platform vendors'.
That's rich. CPU manufacturers ship C compilers and virtually every operating system other than Windows provides a POSIX interface (and in fact, so did Windows at one point!).
Consider the math; if the platform supports portable interfaces then the vendor did a small amount of work to support a large number of programs. If the programs support the platform then a large number of programs have to do the work to support a single platform.
Windows is quickly losing what little relevance it has left. Today's most relevant platform is the web and end users are accessing it on their phones - and we both know how Windows for phones ended. Windows Server is a bad joke and the servers which power the platforms of today are run on Unicies and programmed by engineers on Unicies. Windows is dying quickly and is simply not important anymore. What few end users they have left are being driven away to Chromebooks and Macbooks by unwanted updates, advertising, and a non-stop barrage of annoying bullshit.
> There's no reason to support Windows when they won't even pretend to care about standards compliance.
There's a lot of standards that windows support and linux does not though, for instance a lot of protocols used in multimedia works, art installations... A simple thing such as sharing a video buffer in the GPU between two processes is trivial in Windows or macOS and a damn pain on current desktop linux (dunno in wayland). And I say that as a hardcore linux user.
If you're primarily a *NIX user, there are a bunch of reasonable build system alternatives out there, but if "supporting Windows" is even a little bit of a priority, I have found CMake to be far and away the least painful way to build multi-platform software on Windows, especially if you're a novice.
Until Meson even approaches being as easy to use on Windows, I feel like it's going to continue to be second fiddle.