Expanding Compiler Support for Krita From MinGW to MSVC
Krita, a renowned open-source digital painting software, was originally built using the MinGW compiler. Our goal was to enhance the software's versatility and developer accessibility by adding support for the Microsoft Visual C++ (MSVC) compiler across the entire project. This posed significant challenges, including ensuring compatibility and maintaining the software's performance and stability.


Initial Situation
Krita's development was heavily reliant on the MinGW compiler, which limited the pool of developers who could contribute, as many preferred or required MSVC for various reasons including better integration with certain development tools and IDEs.
Client's Pain Points
The client needed to expand the project's compiler support to attract more developers, improve the development experience, and potentially open up more optimization opportunities available through MSVC.
We undertook the task of integrating MSVC support into the Krita project. This required extensive modifications to the build system, resolving compiler-specific issues, and ensuring that the entire codebase was compatible with MSVC.
The project required deep expertise in C++, the MinGW and MSVC compilers, CMake build system, and Windows development environments.
The project required deep expertise in C++, the MinGW and MSVC compilers, CMake build system, and Windows development environments.
We began with a thorough assessment of the existing codebase, identifying areas that would require modification for MSVC compatibility.


The successful addition of MSVC support significantly broadened Krita's developer base, allowing contributions from a wider range of developers who prefer or require MSVC.
Business Impact
Our contribution not only enhanced Krita's technical capabilities but also strengthened its community, which is critical for the longevity and growth of open-source projects.
This project exemplified our ability to work closely with an open-source community, respecting the project's ethos while bringing in significant technical enhancements.
Interested in expanding your software's capabilities or improving developer experience? Contact us to explore how we can help you achieve similar successes.
