Commit Graph

16 Commits

Author SHA1 Message Date
Nicolas Fella 08f0204d16 Replace KF5_VERSION with KF_VERSION
Frameworks will be Frameworks 6 at some point and there is no good reason to have the major version in the variable name.

Given this is purely internal we can to this now, making it a bit more future-proof

GIT_SILENT

NO_CHANGELOG
2021-01-29 23:25:42 +01:00
Friedrich W. H. Kossebau f018779459 Use ecm_setup_qtplugin_macro_names
Summary:
Avoids all the explicit boilerplate needed and allows
code reusing.

Depends on D10749

Test Plan:
Still builds, generated and installed CMake Config file works
as before.

Reviewers: #plasma, #frameworks

Subscribers: apol

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11295
2018-03-21 00:55:32 +01:00
Friedrich W. H. Kossebau c03c2d5265 Help automoc to find metadata JSON files referenced in the code
Summary:
automoc by itself can only detect metadata files referenced by direct
usage of the Q_PLUGIN_METADATA macro. It does not do any C++ preprocessor
evaluation. Instead it needs to be helped with regexp-based filter rules
for detecting any names of files used as additional moc input.
See docs for AUTOMOC_DEPEND_FILTERS for further details.

In the near future all the boilerplate code should be replaced with a yet to
be designed ECM macro. For now explicit code is used to collect use cases
for the macro and still to fix the issue already.

Test Plan:
Changing a JSON file (or for those generated from .desktop files
changing that one) and running make results in the related *.moc file
being regenerated and the related object file being recompiled.
qtplugininfo shows that the created plugin binary has up-to-date JSON
content.

Reviewers: #frameworks, #build_system, apol

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D10732
2018-02-25 22:23:05 +01:00
Friedrich W. H. Kossebau f78eee320c Prevent cmake 3.10+ warning about moc include & Plasma plugin macros 2017-12-23 16:46:04 +01:00
Andreas Sturmlechner 5033a104e2 Add KF5WindowSystem to link interface
Summary:
Otherwise, reverse-dependencies are bugged
with finding KF5WindowSystem themselves.

Test Plan: Builds fine, plasma-sdk does not need to add KF5WindowSystem anymore.

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: plasma-devel, davidedmundson, #frameworks

Tags: #frameworks, #plasma

Differential Revision: https://phabricator.kde.org/D6493
2017-07-19 16:12:56 +02:00
Friedrich W. H. Kossebau 0fb9732866 [FEATURE] Option to build & install QCH file with the public API dox
Using the new extra-cmake-modules module ECMAddQch (since 5.36.0)
this adds the option to automatically build and install a file
in QCH format with the docs about the public API, which then can be
used e.g. in Qt Assistant, Qt Creator or KDevelop.

Additionally the installed cmake config files will be extended
with a target KF5Plasma_QCH containing information about how to "link"
into the generated QCH file, which then can be used in the cmake build
system of other libraries building on this library, by
simply listing this target in "LINK_QCHS" of their ecm_add_qch() usage.
And a respective doxygen tag file with all the metadata about the
generated QCH file and used for the "linking" will be created and
installed.

Pass -DBUILD_QCH=ON to cmake to enable this.
2017-06-05 04:25:55 +02:00
Sven Brauch f98979955f GIT_SILENT add missing include(CMakeFindDependencyMacro) 2017-01-04 00:58:38 +01:00
Aleix Pol a7068cb991 Add missing dependency in the config file
Qt5Gui is a public interface in plasma-framework

Reviewed by Harald Sitter
2016-07-20 14:34:27 +02:00
Marco Martin 15bd197fac correct folder for PLASMA_PLASMOIDS_PLUGINDIR
plugins are installed in ${KDE_INSTALL_PLUGINDIR}/plasma/applets

Change-Id: Ib9be609b43d28c1c3d93821ec5e7994073e3b71b
2016-06-13 16:28:22 +02:00
Marco Martin ea924b1469 port libplasma away from sycoca as much as possible
this ports most of libplasma away from sycoca, using instead
a combination of KPluginLoader and KPackage::PackageLoader instead
(so eventually using their own little caches instead of the
global sycoca cache)
a kservicetypetrader call is left in the loading of
containmentactions since is the only way to make an older
workspace still work, but is only a fallback, so containmentactions
in plasma-workspace can be ported eventually as well

Change-Id: Ie9579c3e01284f6d97043e22d01bbe63d3c3f45a
REVIEW:123626
2015-05-07 16:26:37 +02:00
Hrvoje Senjan ca1e2377fb Search for KF5Service in cmake config
It's a public dep, so make sure it's pulled in for p-f consumers

REVIEW: 123034
2015-03-18 21:29:09 +01:00
Marco Martin 1f01376198 remove set_and_check Plasma_INCLUDE_DIR
since Plasma_INCLUDE_DIR doesn't seem to be used anywhere and fails on CI
experiment with removing it, to see if all packages depending from plasma
build

Change-Id: I1b8f99b0d7e9de2f33674646e273f141646eaeb2
2014-12-30 13:55:07 +01:00
Marco Martin bc2253b666 find dependency then include kf5plasmatargets
Change-Id: I9c28e7c416deb3d040a0a97d6dbad8a5d4fbce10
2014-12-30 13:07:33 +01:00
Marco Martin a629fe4d8f migrate to KPackage
Plasma::Package internally uses KPackage, being a pure wrapper.
old client code and old packagestructures still work using the wrapper.
old workspace code that is not directly using kpackage continues to work correctly

Change-Id: I05f95e8d05e3b67759973c4009e3753c61b1dcce
2014-12-29 13:56:52 +01:00
Alex Merry 5d911b5cbd Fix Plasma_INCLUDE_INSTALL_DIR variable in config module
This should have been part of the INCLUDE_INSTALL_DIR to
KF5_INCLUDE_INSTALL_DIR commit.
2014-04-26 12:56:34 +01:00
Martin Klapetek 3214bd8132 Add KF5 prefix to plasma framework
This changes the lib name and package names to follow other frameworks

libFoo -> libKF5Foo
find_package(KFoo) -> find_package(KF5Foo)

REVIEW: 114389
2013-12-11 21:40:54 +01:00