In the fmt.spec you posted, I see

%mingw_cmake -G Ninja  [...]

this means that you are generating ninja build scripts, not Makefiles. If you want to use ninja, you should call

%mingw_ninja

after %mingw_cmake -G Ninja.

Thanks! That appears to be the right thing for the %build section, I'm not sure what to do about the install section.

It's not that I WANT to use Ninja, it's that the author of the fmt.spec used it.

To generate Makefiles, call

%mingw_cmake

without the -G Ninja, and after this

%mingw_make_build

I've tried doing that for the mingw build only, leaving the native build using Ninja. The %mingw_cmake succeeds, bu the %mingw_make_build quickly fails:

+ /usr/bin/make -C build_win32 -O -j16 V=1 VERBOSE=1
make: *** No targets specified and no makefile found.  Stop.
error: Bad exit status from /var/tmp/rpm-tmp.cEdp0L (%build)

Best regards,
Eric