Skip to content

Add ext_icoutils to replace ext_png2ico for MinGW build

Alvin Wong requested to merge alvinwong/krita:alvin/mingw-icoutils into master

The old png2ico util produces icons with lower quality and is no longer supported since ECM 5.72 (though we are still using 5.64).

The replacement, icotool from icoutils (https://www.nongnu.org/icoutils/) uses an Autotools build system, so I had to improvise a CMake build setup for it. The config.h is generated by setting some vars and running configure --disable-nls under Git Bash (which is almost MSYS2). This build setup is not portable (only really supposed to work with x64 mingw-w64) and will need some extra work to build with MSVC. For our use this is good enough for now.

Test Plan

  • Check that after building ext_icotool in 3rdparty/, cmake configure on the source code shows that IcoTool can be found.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • n/a I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.
Edited by Alvin Wong

Merge request reports