Instead generate it as a pre-build step. It can't be generated as part
of the CMake build process because MSVC changes the PATH so that another
convert.exe conflicts with imagemagick's.
It requires Inkscape and ImageMagick to be installed. This does not
replace the existing icon.ico file because of issues integrating the
script into the CI build system, but at least the process is now
documented and reproducible. Closes#713.
https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-app-assets#asset-size-tables
- The old icon embeded within the EXE does not scale when zoomed or when pinned to the Start Menu (Icon stays small with big box around it)
- The new icon has additional layers (256 128 96 80 72 64 60 48 40 36 32 30 24 20 16) to better support higher DPI displays.
- I recommend submitting the following assets as a bare minimum based on the above link if the ICO file size needs to be reduced:
16x16, 24x24, 32x32, 48x48, 256x256
prevent-invalid-input only applies to pattern matching, so ignore it.
Instead, auto-validate and provide an error message, and widen the
inputs so the message can be displayed fully.
The translate() function with a variable number of parameters couldn't
be used in conjunction with plural forms support in Boost.Locale, and
wasn't getting picked up by the pre-commit hook.
Also detect l10n strings in the query handling header files, though
someone else had already added them to the POT file.