<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/m4/qt6.m4, branch tobias/fix-proc-all-sigs-gpgtar</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=tobias%2Ffix-proc-all-sigs-gpgtar</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=tobias%2Ffix-proc-all-sigs-gpgtar'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2024-07-18T12:41:52Z</updated>
<entry>
<title>build,qt: Decouple generation of moc files</title>
<updated>2024-07-18T12:41:52Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2024-07-17T12:06:52Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=e6830b58b6de6d4fa02f1055cd0e992c9310b51a'/>
<id>urn:sha1:e6830b58b6de6d4fa02f1055cd0e992c9310b51a</id>
<content type='text'>
* m4/qt5.m4: Export moc for Qt 5 in variable MOC5. Unset temporary MOC2.
* m4/qt6.m4: Export moc for Qt 6 in variable MOC6.
* lang/qt/src/Makefile.am: Generate .moc5 files from .h files. Generate
.moc forwarding headers in moc5 subfolder. Add moc5 subfolder to include
paths for Qt 5-based qgpgme library. Ditto for Qt 6. Clean up moc5 and
moc6 subfolders.
* lang/qt/tests/Makefile.am: List tests and test runners for Qt 5 and
Qt 6. Generate .moc5 files from .cpp files of tests. Generate .moc
forwarding headers in moc5 subfolder. Generate .hmoc file from
t-support.h directly in moc5 subfolder. Add moc5 subfolder to include
paths for all Qt 5-based tests and runners. Ditto for Qt 6. Specify
sources, LDADD and CPPFLAGS for all tests and test runners for Qt 5 and
Qt 6. Clean up moc5 and moc6 subfolders.
--

The output of Qt 5's moc and Qt 6's moc is incompatible. Therefore, we
need to generate different .moc files for Qt 5 and Qt 6 to support
co-building of the Qt 5 and Qt 6 bindings. The duplication of the
listing of the tests couldn't be avoided because automake doesn't
understand `the_tests5 = $(the_tests:%=%5)` and couldn't match the
tests with their _SOURCES. Maybe some m4 programming would have helped,
but that would have made the Makefiles even more unreadable.

GnuPG-bug-id: 7205
</content>
</entry>
<entry>
<title>build,qt: Build Qt with -fPIC if required or requested</title>
<updated>2023-10-30T08:42:09Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-10-30T08:28:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=ae332749eee056f59bf902a65ffb012fcf181875'/>
<id>urn:sha1:ae332749eee056f59bf902a65ffb012fcf181875</id>
<content type='text'>
* configure.ac: Add option to enable building the Qt 6 binding with
-fPIC. Fix typo and mention default for --enable-no-direct-extern-access
option.
* m4/qt6.m4: Add -fPIC to GPGME_QT6_CFLAGS if requested or if Qt 6 was
built with reduce_relocations.
--

GnuPG-bug-id: 6781
</content>
</entry>
<entry>
<title>build,qt: Autodetect whether Qt was built with -mno-direct-extern-access</title>
<updated>2023-09-21T20:53:00Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-09-21T20:53:00Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=4e321a0f06ffba2437fa34ccb88527e9ea633703'/>
<id>urn:sha1:4e321a0f06ffba2437fa34ccb88527e9ea633703</id>
<content type='text'>
* m4/qt6.m4: Check the build configuration of Qt 6 for
no_direct_extern_access.
--

If building with -mno-direct-extern-access has been neither enabled nor
disabled explicitly, then check whether Qt 6 was built with this flag.
The check is skipped, if we build for Windows.

GnuPG-bug-id: 6696
</content>
</entry>
<entry>
<title>build,qt: Optionally build Qt 6 bindings with -mno-direct-extern-access</title>
<updated>2023-09-21T08:58:27Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-09-21T08:56:26Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=927f129663b8bde1ecb4e2ac2b233a7baca8a568'/>
<id>urn:sha1:927f129663b8bde1ecb4e2ac2b233a7baca8a568</id>
<content type='text'>
* configure.ac: Check if C++ compiler supports
-mno-direct-extern-access. Add option to enable building with
-mno-direct-extern-access.
* m4/ax_check_compile_flag.m4: New.
* m4/qt6.m4: Add -mno-direct-extern-access to GPGME_QT6_CFLAGS if
supported and requested.
--

This adds the possibility to build the Qt 6 bindings with the
-mno-direct-extern-access flag. This is required if Qt 6 was built with
this flag. This is a workaround for the lack of Qt 6's pkgconfig files
providing this flag if needed.

GnuPG-bug-id: 6696
</content>
</entry>
<entry>
<title>build,qt: Drop broken check for -fPIC</title>
<updated>2023-09-21T08:45:09Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-09-21T08:45:09Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3e6485620816c9097f98cbe4fdb82a4683918a63'/>
<id>urn:sha1:3e6485620816c9097f98cbe4fdb82a4683918a63</id>
<content type='text'>
* m4/qt6.m4: Remove attempt to build a Qt program with -fPIC.
--

libtool already takes care of adding -fPIC. Moreover, building without
-fPIC succeeded even if Qt was built with -fPIC, i.e. the check didn't
work as intended.

GnuPG-bug-id: 6696
</content>
</entry>
<entry>
<title>build,qt: Simplify check for moc</title>
<updated>2023-04-19T07:23:05Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-04-19T07:23:05Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=a14155d2c1b2ddc167dbf278faf1d6b469575492'/>
<id>urn:sha1:a14155d2c1b2ddc167dbf278faf1d6b469575492</id>
<content type='text'>
m4/qt6.m4: Remove alternative checks for moc that were taken over from
Qt 5 and that are obsolete for Qt 6.
--
</content>
</entry>
<entry>
<title>build,qt: Check whether building with -fPIC is needed</title>
<updated>2022-10-14T12:16:47Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-10-14T12:16:47Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2ff09f474fb908dff83cce79c9d84b4fa21f5d7b'/>
<id>urn:sha1:2ff09f474fb908dff83cce79c9d84b4fa21f5d7b</id>
<content type='text'>
m4/qt6.m4: Use build test to check whether -fPIC is needed for building
a Qt application.
--
</content>
</entry>
<entry>
<title>build,qt: Fail check for Qt if moc wasn't found</title>
<updated>2022-10-14T12:02:26Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-10-14T12:02:26Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=1792db58346cb39fd99332478d56dc190bae7836'/>
<id>urn:sha1:1792db58346cb39fd99332478d56dc190bae7836</id>
<content type='text'>
* m4/qt5.m4, m4/qt6.m4: Perform build test only if moc was found.
--

If moc wasn't found but the build test (which doesn't require moc)
succeeded, then success was reported.
</content>
</entry>
<entry>
<title>build,qt: Always compile the Qt 6 test application with -fpic</title>
<updated>2022-10-14T07:31:18Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-10-13T13:36:32Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=f7a46714283bb8c107c68d0f1227abfe223b2365'/>
<id>urn:sha1:f7a46714283bb8c107c68d0f1227abfe223b2365</id>
<content type='text'>
* m4/qt6.m4: Do not add -fpic to GPGME_QT6_CFLAGS. Add -fpic to CPPFLAGS
used for build test of simple Qt 6 application.
--

The pkgconfig files of Qt6Core do not contain the qt_config variable,
so that we cannot easily check whether Qt6 was compiled with pic. For
simplicity we always compile the test application with -fpic to avoid
a build failure if Qt6 was actually compiled with pic.
For the actual build of QGpgME libtool automatically uses -fPIC, so that
we don't have to add it to the GPGME_QT6_CFLAGS.
</content>
</entry>
<entry>
<title>build,qt: Allow building QGpgME for Qt 6</title>
<updated>2022-10-11T09:00:14Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-10-11T08:14:53Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8d019bbb8d40de2cbed7ad6d3367c6a46a561fab'/>
<id>urn:sha1:8d019bbb8d40de2cbed7ad6d3367c6a46a561fab</id>
<content type='text'>
* configure.ac: Look for Qt 5 and/or Qt 6. Require C++17 if Qt 6 binding
is built. Build cmake files QGpgmeConfig* for Qt 5 and QGpgmeQt6Config*
for Qt 6.
(available_languages): Add "qt5" and "qt6".
(WANT_QT5, WANT_QT6): New conditionals.
* lang/qt/src/Makefile.am: Keep building libqgpgme for Qt 5. Build
libqgpgmeqt6 for Qt 6.
* lang/qt/tests/Makefile.am: Build tests for Qt 5 or Qt 6.
* lang/qt/src/QGpgmeQt6Config-w32.cmake.in.in,
lang/qt/src/QGpgmeQt6Config.cmake.in.in,
lang/qt/src/QGpgmeQt6ConfigVersion.cmake.in, m4/qt6.m4: New.
--

This makes it possible to build QGpgME optionally for Qt 6.4.0 or later.
By default or if the language "qt" is enabled, then QGpgME is built
either for Qt 5 (if found) or Qt 6. A build for Qt 5 or Qt 6 can be
requested by explicitly enabling the language "qt5" or "qt6". Building
QGpgME for Qt 5 and Qt 6 simultaneously is not supported.
</content>
</entry>
</feed>
