Context
Our client reached out to us to port their C++/Qt application to Windows. While the software worked correctly on its original system, it no longer met portability and maintainability standards required for future updates.
The project aimed to integrate a modern build system, improve dependency management and adapt the continuous integration (CI) pipelines for the Windows environment.
Our approach
Smart choices for porting: CMake, Conan and Jenkins
The project was structured in several phases to minimize the risk of issues during migration. We first replaced the existing build system with CMake, a robust and cross-platform tool that ensured compatibility with the existing Linux version.
For dependency management, we implemented Conan—a reliable solution we already used internally and which was approved by the client. As Jenkins was already part of the client’s CI infrastructure, we extended it to include a Windows build and an installer via CPack, simplifying packaging and deployment across environments.
Additionally, we developed new features, including a streaming video player based on FFmpeg. Final tests were conducted to validate application quality before deployment.
Results
A successful migration and a solid foundation for future development
The application now runs smoothly on both Linux and Windows without compromising stability or performance. CI pipelines are fully functional and ensure seamless integration of new versions.
This migration achieved its original objectives and laid the groundwork for future enhancements—whether to add new features or expand compatibility to other platforms.