-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
WIP: Qt6 transition #11651
base: develop
Are you sure you want to change the base?
WIP: Qt6 transition #11651
Conversation
* Remove individual feature flags in favor of a single `KPXC_MINIMAL` flag that removes advanced features from the build. Basic features are no longer guarded by feature flags. * Basic features: Auto-Type, Yubikey, KeeShare * Advanced features include: Browser (and passkeys), SSH Agent, and Secret Service * Networking, Documentation, and Update Checking remain as feature flags to accommodate various distro requirements. This change also cleans up the main CMakeLists.txt by re-arranging some content and placing macros into a dedicated include file. The minimum CMake version was bumped to 3.16.0 to conform to our minimum Ubuntu support of Focal (20.04). This also allows us to default to C++20, we fall back to C++17 for Qt versions less than 5.15.0 due to lack of support. Lastly this change removes the KEEPASSXC_BUILD_TYPE="PreRelease" which is never used. We only support "Snapshot" and "Release" now.
Co-authored-by: Carlo Teubner <carlo@cteubner.net>
- Fix missing X11 library for linker - Other Linux fixes NOTE: FDOSECRETS CURRENTLY CRASHES WHEN ATTEMPTING TO BE USED
* Also reduce minimum Qt version to 6.4.2 to align with Ubuntu 24.04
# Find PCSC and LibUSB for hardware key support | ||
find_package(PCSC REQUIRED) | ||
include_directories(SYSTEM ${PCSC_INCLUDE_DIRS}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this needs to be wrapped in if(WITH_XC_YUBIKEY)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yubikey is actually standard feature for 2.8.0 so this won't get wrapped. We have removed several feature flags.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to ask you to please reconsider this choice. I am building this on a Gentoo system with limited resources. I do not have a YubiKey, nor am I likely to get one. Compiling and installing libraries for hardware that I do not own places an unnecessary burden on my system, impacting performance and efficiency. I am sure many other users feel the same.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
libpcsc is hardly a burden on the system, especially since we use Qt which is about 1000x bigger. You are welcome to patch out the change if you are compiling this for yourself
# TODO: Increase minimum to 2.19.1 and drop Argon2 package | ||
find_package(Botan REQUIRED) | ||
if(BOTAN_VERSION VERSION_GREATER_EQUAL "3.0.0") | ||
set(WITH_BOTAN3 TRUE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is still a reference to the old define in src/fdosecrets/objects/SessionCipher.cpp:#ifdef WITH_XC_BOTAN3
Any chance of this making it into v2.7.10? Apparently, Qt 5 is pretty much unsupported at this point. |
No. This needs more work. |
@varjolintu Gotcha. Keep up the good work! |
Continues work from #10267, using #11003 as the base.
Fixes #7774.
Type of change