aboutsummaryrefslogtreecommitdiffstats
path: root/m4/qt6.m4 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cpp,qt: Remove C++ and Qt bindingsIngo Klöcker2025-02-031-98/+0
| | | | | | | | | | | | | | | | | * README: Update. * configure.ac: Remove checks, variables and file generations related to the C++/Qt bindings. Remove cpp and qt* from available_languages and default_languages. * lang/Makefile.am (DIST_SUBDIRS): Remove cpp and qt. * lang/cpp, lang/qt: Remove. * m4/ax_check_compile_flag.m4, m4/ax_cxx_compile_stdcxx.m4, m4/ax_gcc_func_attribute.m4, m4/pkg.m4, m4/qt5.m4, m4/qt6.m4: Remove. -- The C++ and Qt bindings have been moved to separate Git repositories: gpgmepp and gpgmeqt. GnuPG-bug-id: 7262
* build,qt: Decouple generation of moc filesIngo Klöcker2024-07-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* build,qt: Build Qt with -fPIC if required or requestedIngo Klöcker2023-10-301-11/+28
| | | | | | | | | | | * 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
* build,qt: Autodetect whether Qt was built with -mno-direct-extern-accessIngo Klöcker2023-09-211-3/+18
| | | | | | | | | | | | * 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
* build,qt: Optionally build Qt 6 bindings with -mno-direct-extern-accessIngo Klöcker2023-09-211-0/+6
| | | | | | | | | | | | | | | | | * 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
* build,qt: Drop broken check for -fPICIngo Klöcker2023-09-211-21/+1
| | | | | | | | | | | * 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
* build,qt: Simplify check for mocIngo Klöcker2023-04-191-24/+3
| | | | | | m4/qt6.m4: Remove alternative checks for moc that were taken over from Qt 5 and that are obsolete for Qt 6. --
* build,qt: Check whether building with -fPIC is neededIngo Klöcker2022-10-141-9/+28
| | | | | | m4/qt6.m4: Use build test to check whether -fPIC is needed for building a Qt application. --
* build,qt: Fail check for Qt if moc wasn't foundIngo Klöcker2022-10-141-0/+2
| | | | | | | | * 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.
* build,qt: Always compile the Qt 6 test application with -fpicIngo Klöcker2022-10-141-5/+3
| | | | | | | | | | | | | * 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.
* build,qt: Allow building QGpgME for Qt 6Ingo Klöcker2022-10-111-0/+82
* 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.