top of page

Story of the Project

Expanding Compiler Support for Krita From MinGW to MSVC

Project Goals and Challenges

 
 
 

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.

background.png

Problem Statement

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.

Our Solution

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.

our solution.png
our solution - mobile.png

Customization

Custom scripts and tools were developed to facilitate the transition and ensure that the build process could seamlessly switch between MinGW and MSVC. We also provided detailed documentation to assist future developers in using MSVC.

Technologies Used

The project required deep expertise in C++, the MinGW and MSVC compilers, CMake build system, and Windows development environments.

Outcome & Impact

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.

Implementation Process

We began with a thorough assessment of the existing codebase, identifying areas that would require modification for MSVC compatibility.

Adaptation

We systematically addressed each incompatibility, modifying the code, and adjusting the build system to support MSVC.


Testing

Rigorous testing was conducted to ensure that the MSVC build produced identical functionality and performance to the MinGW version.

Final Integration

After successful testing, the changes were integrated into the main codebase, with ongoing support to resolve any emerging issues.


Collaboration with Client

Regular communication and collaboration with the Krita team ensured that our changes aligned with the project's goals and standards. Feedback loops were established to refine the solution continuously.

Similar Stories

Here you can see other project stories that are similar to this one, check now!

 
 
 

Krita

Expanding Compiler Support for Krita From MinGW to MSVC

Krita

Expanding Compiler Support for Krita From MinGW to MSVC

Business Meeting

Call to Action

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.

bottom of page