Page MenuHome GnuPG

WIP: Add cmake build system for cpp bindings
Needs RevisionPublic

Authored by CarlSchwan on Jan 23 2024, 6:37 PM.

Details

Reviewers
werner
Test Plan
  • Compile on Linux
    • Work with only Qt6 enabled
    • Work with only Qt5 enabled
    • Work with only cpp enabled
  • Compile on Windows
    • Work with only Qt6 enabled
    • Work with only Qt5 enabled
    • Work with only cpp enabled
  • Compile on mac
    • Work with only Qt6 enabled
    • Work with only Qt5 enabled
    • Work with only cpp enabled

Diff Detail

Repository
rM GPGME
Branch
work/carl/cmake-2
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

CarlSchwan created this revision.
CarlSchwan retitled this revision from Add cmake build system for cpp bindings to WIP: Add cmake build system for cpp bindings.Jan 23 2024, 6:39 PM
werner added a subscriber: werner.

Having a second build system for GPGME is not a good idea. This gives us a headache for maintaining. If you really need this for private things, put this into a contrib directory and make clear that this is a non supported way to build things. And for the Qt bindings I am anyway in favor of removing them from GPGME proper.

This revision now requires changes to proceed.Jan 24 2024, 8:05 AM

@werner This has been discussed by you and Andre and you gave green light as far as I know. It's not needed for private things but for providing Windows builds with MSVC for various KDE projects. This will be maintained by KDE people. Yes, we will make clear that this is a non supported way to build things.

Let's discuss splitting the Qt bindings out of gpgme in the office.

And it isn't a second build system for all of gpgme, but only for the C++ binding and the Qt bindings.

I wouldn't mind having the c++ and qt bindings in a separate library released at the same time as gpgme but with a cmake build system. It would simplify a lot in the craft build system as building the same repo with two different build system is not something that craft support very well...

And yeah we need that to build Kmail, Merkuro, KMyMoney, KGet and Okular on MSVC and get CI coverage for Kleopatra, libkleo, mimetreeparser on Windows.