aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-10Fix reST list from not being a listivan tkachenko
2020-07-10Revert "Fix markdown list from not being a list"ivan tkachenko
This reverts commit 3830dde78f9bde7ebe01fddca49d5806d4e52bea.
2020-07-10fix license headersHenri Chain
2020-07-10Add ecm_generate_dbus_service_fileHenri Chain
Summary: It serves as a replacement for `kdbusaddons_generate_dbus_service_file`. An application can be a DBus-activated service just fine without using KDBusAddons. Moreover, this new module uses named arguments for future-proofing, and adds support for specifying a `SystemdService`. It also cleans up the confusion on what the "path" is about: Rather than requiring to specify executable and path separately, we just extract the executable file name on Windows, if necessary. Usage: ``` ecm_generate_dbus_service_file(NAME org.kde.kded5 EXECUTABLE ${KDE_INSTALL_FULL_BINDIR}/kded5 SYSTEMD_SERVICE plasma-kded) ``` Test Plan: * Was able to generate a kded service file * Was able to generate a kded service file with `SystemdUnit` * Verified that it moaned when executable wasn't an absolute path * Untested on Windwos Reviewers: #frameworks, davidedmundson, kossebau, kfunk, habacker Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29051
2020-07-10Introduce function ecm_install_configured_fileDavid Edmundson
Summary: This, as the name suggests, configures a file and installs it. It's not very complicated but it's a repeated pattern in plasma that gets quite messy dealing with temporary files. Test Plan: Used in a project Reviewers: #build_system Subscribers: apol, kossebau, pino, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D28355
2020-07-06Export Wayland_DATADIRDavid Edmundson
This is useful if a library intends to reparse the original wayland.xml file instead of using the pregenerated headers.
2020-07-01Fix Sphinx warning about cmake code blockv5.72.0-rc1v5.72.0ivan tkachenko
Lexer for CMake could not parse this broken grammar, because it is ".cmake.in", not just ".cmake". CMake itself solves this problems by declaring such code blocks as generic "::" blocks instead. For example, take a look at the last code block at CMakePackageConfigHelpers help page: - https://cmake.org/cmake/help/v3.18/module/CMakePackageConfigHelpers.html#example-generating-package-files - https://github.com/Kitware/CMake/blob/0464298956a204578aa8421ca0b84c089a97e0aa/Modules/CMakePackageConfigHelpers.cmake#L208
2020-06-30Use more https in links (and update outdated urls)Friedrich W. H. Kossebau
GIT_SILENT
2020-06-24Remove support for png2icoHannah von Reth
Png2Ico provides lower quality icons compared to icoutils as png2ico predates the current icon standard. Still lloking for png2ico prints * Png2Ico, Executable that converts a collection of PNG files into a Windows icon file, <https://www.winterdrache.de/freeware/png2ico/ or https://commits.kde.org/kdewin> which confuses new users.
2020-06-24Fix the ECM doc generationChristophe Giboudeaux
Without this simple space, FindTaglib doesn't appear on the generated ecm-find-modules.7.html page.
2020-06-23Fix markdown list from not being a listivan tkachenko
2020-06-22Deal with Qt's CMake code modifying CMAKE_SHARED_LIBRARY_SUFFIXVolker Krause
Qt adds the Android ABI to the suffix there unconditionally, without also adjusting CMAKE_FIND_LIBRARY_SUFFIXES accordingly, breaking find_library() for things built that way. Unfortunately we can't just set this in our toolchain file, as CMAKE_FIND_LIBRARY_SUFFIXES is overwritten by CMake after evaluating the toolchain file. So we need to use the variable_watch hack for this here, thanks to Aleix for the idea. With this, find_library() works for both suffixed and un-suffixed libraries again, such as Poppler built with or without Qt support.
2020-06-17Add FindTaglib find moduleElvis Angelaccio
Based on https://phabricator.kde.org/D21695 Several KDE projects use taglib, so we really need to provide a proper find module in ECM. AFAIK taglib-config should not be portable, so we don't try to run it on WIN32. See also: https://invent.kde.org/network/kio-extras/-/commit/548f525f4308810888c85f42a570139029c40618
2020-06-14extra-cmake-modules: Convert to SPDX license statementsAndreas Cord-Landwehr
2020-06-13GIT_SILENT Upgrade ECM version to 5.72.0.l10n daemon script
2020-05-19[android] Use newer Qt version in examplev5.71.0-rc3v5.71.0-rc2v5.71.0-rc1v5.71.0Nicolas Fella
2020-05-19GIT_SILENT: we don't use phabricator anymoreLaurent Montel
2020-05-13ECMGenerateExportHeader: add generation of *_DEPRECATED_VERSION_BELATED()Friedrich W. H. Kossebau
Summary: Now and then tagging some API as deprecated for the compiler is forgotten. Doing this retractivitly in newer versions but using the official version might break build setups configured to only show warnings up to a certain version and otherwise fail a build, using -Werror=deprecated-declarations. To allow retroactive tagging of API for compiler warnings, and showing the official version in the warniung message, while reacting only to warning controls for the current version where the tag is added, avoids any such annoying experiences, without wrong version info at the same time. Reviewers: #frameworks, #build_system, dfaure Reviewed By: dfaure Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29573
2020-05-11[android] Allow specifying APK install locationNicolas Fella
Summary: This allows `make create-apk` to directly write the APK to /output instead of the cp-with-prefix step in /opt/helpers/create-apk. It's also useful for manual development builds where one would need to copy it to some output location manually or for CI setups that expect the output in a certain location. If ANDROID_APK_INSTALL_DIR is not set the current behaviour is kept. Reviewers: #frameworks, #android, apol, vkrause Reviewed By: #android, apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29631
2020-05-09GIT_SILENT Upgrade ECM version to 5.71.0.l10n daemon script
2020-05-08ECMGeneratePriFile: fix for ECM_MKSPECS_INSTALL_DIR being absoluteDavid Faure
Test Plan: works as before for the case where it's relative. Reviewers: cgiboudeaux, vatra, kfunk, apol, vkrause Reviewed By: cgiboudeaux Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29524
2020-05-08ECMGeneratePriFile: make the pri files relocatableDavid Faure
Summary: Instead of generating QT.KArchive.includes = /full/path/include/KF5/KArchive make it QT.KArchive.includes = $$PWD/../../include/KF5/KArchive This makes the whole install prefix relocatable after the fact, the includes will be found based on where the .pri file ended up. This is especially useful for Conan support, says Bogdan. Test Plan: After make install in ECM, cd karchive/examples/helloworld && qmake && make Reviewers: vatra, kfunk, apol, vkrause Reviewed By: vkrause Subscribers: ablu, kossebau, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29274
2020-05-04Suppress find_package_handle_standard_args package name mismatch warning.Weng Xuetian
Summary: cmake introduced a new find_package mismatch check in 3.17, but also allows user to suppress the warning by setting a variable (Or parameter, but require new cmake 3.17). Same technique is also used with in cmake, e.g. FindGTK2.cmake. Test Plan: Test with FindXCB.cmake Reviewers: #frameworks, #build_system, apol Reviewed By: apol Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29396
2020-04-29android: include the architecture on the apk namev5.70.0-rc1v5.70.0Aleix Pol
Summary: Makes them easier to use afterwards. Test Plan: Tested locally Reviewers: #android, #frameworks, nicolasfella Reviewed By: nicolasfella Subscribers: vkrause, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29079
2020-04-26ECMAddQch: fix use of quotation marks with PREDEFINED in doxygen configFriedrich W. H. Kossebau
2020-04-22Adapt FindKF5 to stricter checks in newer find_package_handle_standard_argsFriedrich W. H. Kossebau
Test Plan: KF modules configure build as before, same some apps. Reviewers: #frameworks, #build_system, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29097
2020-04-19ECMAddQch: help doxygen to handle Q_DECLARE_FLAGS, so such types get docsFriedrich W. H. Kossebau
2020-04-18Fix wayland scanner warningsAleix Pol
Summary: Tells cmake not to automoc certain files that don't need it, which would become a big fuss on the cmake output. Test Plan: No warnings Reviewers: #build_system, #kwin, #frameworks, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D28900
2020-04-11GIT_SILENT Upgrade ECM version to 5.70.0.l10n daemon script
2020-04-05ECM: attempt to fix KDEInstallDirsTest.relative_or_absolute on WindowsDavid Faure
Summary: Not passing CMAKE_INSTALL_PREFIX is a weird thing to do. The test shows "Installing in ." and some values like KDE_INSTALL_FULL_EXECROOTDIR become "/" which is considered relative on Windows. The test that passes /usr to CMAKE_INSTALL_PREFIX actually passes on Windows. Pass /tmp to the other test, remove the test without prefix. Test Plan: Passes on Linux, not tested on Windows, CI will do that Reviewers: kossebau, apol, cgiboudeaux Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D28409
2020-03-24ECMPoQmToolsTest: have separate moc files for tr_thread_test 1 & 2v5.69.0-rc1v5.69.0Friedrich W. H. Kossebau
Reviewers: #frameworks, #build_system, dfaure Reviewed By: dfaure Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D28253
2020-03-12GIT_SILENT Upgrade ECM version to 5.69.0.l10n daemon script
2020-03-07GIT_SILENT Upgrade ECM version to 5.68.0.v5.68.0-rc1v5.68.0l10n daemon script
2020-03-06GIT_SILENT Upgrade ECM version to 5.69.0.l10n daemon script
2020-03-03Support NDK r20 and Qt 5.14Volker Krause
Summary: This changes from using the toolchain file provided by CMake to using the one provided by the NDK, as even recent CMake can't build successfully with r20. However this is a rather invasive change, the interface and variable names differ. The Qt 5.14 changes are less risky, as most of this is parallel to the support for older versions. Test Plan: Local builds with 5.14/r20, 5.14/r18 work, the Docker SDK isn't tested yet, and there's some remaining issues with 5.13 and older NDKs I don't fully understand yet. The resulting apks with 5.14 install, and work for QQC2 content, but fail to start Kirigami apps. Reviewers: apol Reviewed By: apol Subscribers: flherne, apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Maniphest Tasks: T12520 Differential Revision: https://phabricator.kde.org/D26749
2020-02-26Load QM files from assets: URLs on AndroidVolker Krause
Summary: This works with both the old and the new way of Qt's asset deployment, ie. with Qt 5.13 and Qt 5.14. Reviewers: apol Reviewed By: apol Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Maniphest Tasks: T12520 Differential Revision: https://phabricator.kde.org/D27596
2020-02-12GIT_SILENT: qtcreator created .cmake/ repo.Laurent Montel
2020-02-12ECMQtDeclareLoggingCategory: gently deal with no categories exportedFriedrich W. H. Kossebau
With some build configurations no catgories might be registered for a given export id. Instead of failing hard and thus forcing to catch this situation explicitly on the caller side, be grateful on the callee side and just generate an empty file, so the installed file set is consistent. GIT_SILENT
2020-02-11ECMQtDeclareLoggingCategory: use older NAME_WE with get_filename_componentFriedrich W. H. Kossebau
NAME_WLE might be more nice to support any people who might want to use a dot in the base filename, but that needs newer cmake. GIT_SILENT
2020-02-11Add ecm_qt_install_logging_categories & ecm_qt_export_logging_categoryFriedrich W. H. Kossebau
Summary: Having to manually maintain a separate copy of all the data about qt logging categories in the categories files comes with the usual disadvantages. The new macro ecm_qt_install_logging_categories together with the additions of arguments DESCRIPTION & EXPORT to ecm_qt_declare_logging_category allows to have just one place with one copy of the data, and have the categories file automatically generated from that data, linked via the EXPORT id. For cases not using ecm_qt_declare_logging_category, but having categories manually defined in code, yet wanting to have info about those categories in the installed fiel, ecm_qt_export_logging_category allows to add those data to the system. Test Plan: Added unit tests work, porting of some repos created categories files whose diff against the manually created files were only the DO_NOT_EDIT header. Reviewers: #build_system, #frameworks, broulik, mlaurent Reviewed By: mlaurent Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D27150
2020-02-09GIT_SILENT Upgrade ECM version to 5.68.0.l10n daemon script
2020-02-08ECMGeneratePriFile: unbreak for usages with LIB_NAME not a target nameFriedrich W. H. Kossebau
2020-02-07ECMGeneratePriFile: Fix static configurationsKevin Funk
Summary: Populate module_config with staticlib. This is needed for Qt 5.12, as Makefiles contain the full path to the library instead of just the base name. QMake needs to be aware of the build type. This issue was found in KDStateMachineEditor's .pri files. Before this patch the linker tried to link against .so files even for static libraries. Note: Probably not very relevenat to KDE Frameworks (since it's all about shared libraries, but I'd like to keep the original ECMGeneratePriFile version up-to-date) Compare: ``` % cat kdsme-qmake-test.pro QT += KDSMEDebugInterfaceSource !qtHaveModule(KDSMEDebugInterfaceSource): warning("Library not found") SOURCES += main.cpp % qmake --version QMake version 3.1 Using Qt version 5.9.8 in /home/kfunk/devel/build/qt5.9/qtbase/lib % qmake . % make ... g++ -Wl,-rpath,/home/kfunk/devel/build/qt5.9/qtbase/lib ... -L.../lib -lkdstatemachineeditor_debuginterfacesource ... % make clean % env-qt5.12 % qmake --version QMake version 3.1 Using Qt version 5.12.5 in /home/kfunk/devel/build/qt5.12/qtbase/lib % qmake . % make ... g++ -Wl,-rpath,/home/kfunk/devel/build/qt5.12/qtbase/lib ... .../lib/libkdstatemachineeditor_debuginterfacesource.a ... Reviewers: dfaure, winterz, vkrause, apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D26394
2020-01-28Add missing Import Env Variablev5.67.0-rc1v5.67.0Tomaz Canabrava
Summary: Without this, in Qt 5.14 I get an android-like QQC2 theme This used to work on Qt 5.13 so I assume that it's a regression Reviewers: mart Reviewed By: mart Subscribers: apol, davidedmundson, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D26573
2020-01-26ECMAddAppIcon: Add sc in regex to extract extension from valid namesPatrick José Pereira
Summary: Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com> Reviewers: tcanabrava, apol Reviewed By: tcanabrava, apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D26751
2020-01-23ECMAddQch: support & document K_DOXYGEN macro usageFriedrich W. H. Kossebau
2020-01-11GIT_SILENT Upgrade ECM version to 5.67.0.l10n daemon script
2020-01-04[android] Fix apk install targetv5.66.0-rc1v5.66.0Nicolas Fella
Summary: The APK output path changed at some point Test Plan: can do make install-apk-appname again Reviewers: apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D26402
2019-12-19API dox: fix rst syntax for KDEClangFormat textFriedrich W. H. Kossebau
2019-12-19API dox: add missing entry for KDEClangFormatFriedrich W. H. Kossebau