Skip to content

maint: Ensure multi-platform support

This merge request transforms a simple Linux-only IoT sensor data collector into a comprehensive cross-platform application that can run on Windows, macOS, and Linux. The main changes include:

Multi-Platform Support: Added build configurations for Windows (using both Visual Studio and MinGW compilers) and macOS, with platform-specific optimizations and native API usage for better performance on each operating system.

Improved Project Structure: Reorganized the codebase with proper directories - moving headers to an include/ folder, source code to src/, and tests to tests/ - making the project more professional and maintainable.

Enhanced Build System: Expanded the CI/CD pipeline to automatically build, test, and package the application for all three platforms, with retry logic for reliability and proper artifact management.

Better Code Quality: Added more compiler warnings, enabled parallel compilation, and included platform-specific compiler optimizations. The code now uses modern C++17 standards consistently across all platforms.

Comprehensive Packaging: The system now creates platform-appropriate packages - ZIP files and installers for Windows, DMG files for macOS, and traditional packages for Linux - making distribution much easier.

Robust Testing: Enhanced the testing framework to work across all platforms with proper error handling and platform-specific test configurations.

These changes make the application production-ready for deployment across different operating systems while maintaining code quality and reliability.

Merge request reports

Loading