Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Qt6, keep Qt5, remove Qt4 #283

Merged
merged 6 commits into from
Jan 5, 2024
Merged

Conversation

ursfassler
Copy link
Contributor

@ursfassler ursfassler commented Jan 4, 2024

Summary

Add support for Qt6.

Details

Adding support (and using) Qt6. The officially not supported Qt4 is removed. We now support Qt5 and Qt6. Both versions are tested within the CI.

The CMake option CUKE_ENABLE_QT is replaced with either CUKE_ENABLE_QT_6 or CUKE_ENABLE_QT_5 to give better control to the user as both versions can be installed side by side. CMake version 3.16 is now needed instead of 3.9.

The CalcQt example was refactored to be a bit more modern and compatible with Qt6.

Motivation and Context

Qt6 is the current version, Qt5 is still active but Qt4 is no longer supported by the developers. This changes reflect the current state.

How Has This Been Tested?

CI builds, runs unit test and examples for Qt5 and Qt6.
CalcQt example (GUI application) tested manually.

Types of changes

  • Bug fix (non-breaking change which fixes an issue).
  • New feature (non-breaking change which adds functionality).
  • Breaking change (fix or feature that would cause existing functionality to not work as expected).

Breaking change should only be the mentioned CMake options and CMake version.

Checklist:

  • It is my own work, its copyright is implicitly assigned to the project and no substantial part of it has been copied from other sources (including Stack Overflow). In rare occasions this is acceptable, like in CMake modules where the original copyright information should be kept.
  • I'm using the same code standards as the existing code (indentation, spacing, variable naming, ...).
  • I've added tests for my code.
  • I have verified whether my change requires changes to the documentation
  • My change either requires no documentation change or I've updated the documentation accordingly.
  • My branch has been rebased to main, keeping only relevant commits.

Qt4 is not supported for some time and therefore removed from cucumber-cpp.
Same extension as other header files.
@ursfassler ursfassler force-pushed the qt6 branch 2 times, most recently from 7215bbc to 61d413a Compare January 4, 2024 22:07
This allows to only use the calculation in the cucumber tests. GUI is no
longer needed in CI. Also simplifies the test setup within the cucumber /
C++ code.
@ursfassler ursfassler force-pushed the qt6 branch 9 times, most recently from 330f992 to b6209af Compare January 5, 2024 08:15
Use Qt6 by default. Explicit option to use Qt5 or Qt6 since they both can
be installed on a system.
@ursfassler ursfassler changed the title Qt6 Add support for Qt6, keep Qt5, remove Qt4 Jan 5, 2024
@ursfassler ursfassler marked this pull request as ready for review January 5, 2024 08:33
@ursfassler ursfassler merged commit b1c509d into cucumber:main Jan 5, 2024
7 checks passed
@ursfassler ursfassler deleted the qt6 branch January 5, 2024 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant