Age | Commit message (Collapse) | Author |
|
Summary: Instead of hardcoded /usr/lib, same solution as in D9116
Test Plan: Works fine with kwayland 5.42.0.
Reviewers: #frameworks, #build_system, cgiboudeaux
Reviewed By: cgiboudeaux
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D10201
|
|
Summary: This is copied from KScreenlocker, but will be utilized in Baloo too.
Test Plan:
- Autotests are working
- KScreenlocker and Baloo build with seccomp enabled
Reviewers: graesslin, cgiboudeaux
Reviewed By: cgiboudeaux
Subscribers: cgiboudeaux, #frameworks, #build_system
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D8998
|
|
Summary:
Commit ee5b036c1df4776a258c0d8067fd2eaf18875829 added a new FindPulseAudio module with a slightly different syntax than the old one. Since the old module was removed with commit 7574022825804db2274bba992d6fc4a4817c1536 plasma-desktop and plasma-pa are broken. Just adding the old syntax as synonym for fixing this.
See also https://bugs.kde.org/show_bug.cgi?id=386659
Test Plan: compile tested with plasma-desktop
Reviewers: #frameworks, cgiboudeaux
Reviewed By: cgiboudeaux
Subscribers: jriddell, ngraham, rikmills, cgiboudeaux, #build_system
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D8777
|
|
Summary:
We have copies of this module in several PIM repositories (kdepim-runtime,
kldap, kimap, libksieve...).
It's time to move it to ECM and get rid of these copies.
Reviewers: #kde_pim, vkrause
Reviewed By: #kde_pim, vkrause
Subscribers: #frameworks, #build_system
Tags: #frameworks, #build_system, #kde_pim
Differential Revision: https://phabricator.kde.org/D8790
|
|
Will initially be used by KMix.
Differential Revision: https://phabricator.kde.org/D7823
|
|
Explicitely set LIBRARY_OUTPUT_DIRECTORY for the python module
Differential Revision: https://phabricator.kde.org/D7677
CCMAIL: release-team@kde.org
|
|
Summary:
Passing NO_DEFAULT_PATH ignores $PATH and ensures that we use the
previously-detected Qt5 binary path.
Test Plan:
qhelpgenerator is now picked up from the same location as Qt5::qmake. Before,
anything in $PATH was preferred even if it was the Qt 4 version.
Reviewers: #frameworks, kossebau, kfunk
Reviewed By: kossebau, kfunk
Subscribers: alexeymin, asturmlechner, #build_system
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D6249
|
|
Summary:
Enables generation of QCH files during a normal build,
for documenting the public API of a library.
These macros are especially done with release builds in mind,
so distributed packages (like from Linux distributions) can
include QCH files matching the version of the library and will be
also automatically updated on new versions of the libary.
Next to that these macros also support linking between different
QCH files, so a subclass from another library for which there also
is a QCH file installed will be linked to the entry in that other
QCH file.
This inter-QCH linking is especially useful for libraries extending Qt,
where many of the used types are from Qt libraries. The macros
come with the needed information for Qt libraries prepared, so the
used Qt libraries just need to be listed in the LINK_QCHS argument
by target names, like Qt5Core_QCH or Qt5Widgets_QCH.
This should be a nice supplement to online services like api.kde.org,
like Qt's own QCH files are to doc.qt.io,
While QCH files from an abstract POV could be seen similar to code
libraries, being components with links to lookup symbols/entries in
other QCH files, so the rules and code should be done with similar
concepts, currently CMake's target system seems bound to executable
code creation. So things like "file(EXPORT ...)" could sadly not be
reused, as custom targets are not supported with that.
Thus a custom macro had to be created for now. Also could I not find
a way to use namespaces like KF5::, for more consistent target naming.
The patch also adds two variables to KDEInstallDirs.cmake for
controlling where the QCH (and respective doxygen tag files) are
installed. The QTQCHDIR variant allows to install QCH files for
Qt-extending libraries into the same folder where Qt's own QCH
files are, so Qt Assistant & other QCH viewer pick up them automatically
to add them to the default help file collection.
The QCHDIR variant would provide a neutral, but central installation
location. Neutral, as it never "pollutes" the Qt system dirs with files
possibly unrelated to Qt-based development (e.g. when simply using qthelp
tools for documentation), and central, to help with finding available QCH
files for manually adding/loading them into a viewer, given there is no
official way currently to register the availability of QCH files on
installing.
Open questions:
a) target system for exporting/importing done in a sane way?
Better name pattern for the QCH targets than xxx_QCH
(see the targets created for Qt, like Qt5Core_QCH)?
b) sharing metadata with kapidox
Initially I placed these macros into the kapidox module, as this seems the
logic place. And would match what kdoctools does for user manuals.
Just, that would create a build dependency on kapidox which complicates usage
a little. Having these macros in ECM delivers them with no extra effort
needed.
The data in metainfo.yaml is partially duplicated with the data feed into
the macros. How to deduplicate that is still open. Especially with the need
to not depend on external data sources like identify.kde.org.
Issues:
* doxygen versions before 1.8.13 are broken and miss to include some files
with generated QCH (https://bugzilla.gnome.org/show_bug.cgi?id=773693)
* Qt Assistant often only built with QTextBrowser, while doxygen uses lots
of HTML5 (incl. hardcoded JavaScript)
(https://bugzilla.gnome.org/show_bug.cgi?id=773715),
needs e.g. distributions to use QtWebKit to work, upcoming Qt versions
might soon also have QtWebEngine based help viewer
(https://codereview.qt-project.org/#/c/111559/)
* inter-QCH links do not work in KDevelop currently
(see https://bugs.kde.org/show_bug.cgi?id=372747) if installed as
separate QCH files
More details/background info at
https://frinring.wordpress.com/2016/09/27/adding-api-dox-generation-to-the-build-by-cmake-macros/
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D2854
|
|
Summary:
Add a simple module to look for GNU gperf at build time, providing an
helper macro for adding generations to a list of sources.
gperf will be used to generate the C/C++ sources at build time, instead
of using static versions in VCS; at least kcodecs, khtml, and kio-extras
will be switched to this method.
Reviewers: #windows, #frameworks, #build_system, kde-mac, adridg, rjvbb
Reviewed By: adridg, rjvbb
Subscribers: kfunk, rjvbb, adridg
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D3830
|
|
Summary:
While my distro does have a versioned clang executable, it doesn't
have a versioned clang++ executable. The versioned executable is
still searched first, falling back to the unversioned one.
Reviewers: #frameworks, #build_system
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D5291
|
|
Summary:
On Linux, inotify always exists; all you need is the header file.
On the BSDs, inotify is provided through a shim to kqueue, which
must be installed separately. Add a FindInotify to help sort
that out.
Based on RB 129316 and RB 129549.
Test Plan:
- On FreeBSD, reliably detects presence of libinotify in $LOCALBASE,
- Needs testing on Linux that it does find the header file.
Reviewers: apol, arrowdodger, #build_system, #frameworks, tcberner, ervin, skelly, dfaure, kfunk
Reviewed By: tcberner, kfunk
Subscribers: kfunk, #freebsd
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D3826
|
|
With some combination of PyQt/compiler this breaks the build of
kcoreaddons.
This reverts commit 2e20aeab6e86670a66ff99a7b79120c4004b4d22.
|
|
This should have been removed in a prior commit.
|
|
|
|
|
|
Don't export API which has visibility "hidden".
Visibility attributes on variables are ignored, but call the generic
method anyway.
Remove checks for macros which obscure the attributes. Processing the
attribute directly means that is not needed.
|
|
De-duplicate it between variables and functions. The callers already
handle reporting the removal.
|
|
|
|
Fix the anchoring of the regular expression matching to cover the
complete input. This was an oversight and should have no visible
effects except that if new fields are added to a rule database,
existing rules with wildcards will greedily match the new fields.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Clang API is odd.
|
|
|
|
|
|
|
|
Don't prepend a namespace to it as we do otherwise with enum/flags.
|
|
|
|
Only one directory may provide the PyKF5 namespace, so if testing
KAuth, which depends on KCoreAddons, both have to be in the same
directory. That means that the KAuth tests can only be run
post-intallation which doesn't really cause problems.
|
|
Allow modifying the name also.
|
|
Don't process the same function name twice.
|
|
|
|
The KConfig build creates two libraries and they should both be output
in the same place so that they can be tested together.
|
|
It is not appropriate to decorate each forward declaration with the SIP
attribute /External/. That is only needed for forward declarations of
types which are defined in a different module.
Local forward declarations can be omitted from the sip code. In sip
code, a forward declaration followed later by a full class definition is
an error.
Omit forward declarations unless they are decorated with the external
attribute. Introduce a rules database for consumers to decorate them
with the attribute as required.
|
|
Custom rules should be able to deal with lists in these cases. This is
already the case for function parameters.
|
|
|
|
Packagers can execute this script with
cmake -D PYTHON_UMBRELLA_MODULE_FILE=/where/ever/PyKF5/__init__.py -P /path/to/ECM/find-modules/GeneratePythonBindingUmbrellaModule.cmake
Soon, this is likely to do more than create an empty file.
|
|
Use find_package to locate the executable.
|
|
The LLVM project has picked a new version scheme
http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html
which means that major version numbers will be bumped more regularly,
the minor version will remain at zero, and the patch version will be
bumped. We will have to see how distros respond in terms of file
naming.
|
|
The suffix is used later to run the clang executable in order to
determine the built-in system includes.
|
|
The dist-packages directory which is currently hardcoded is unsuitable
to non-debian package creation. Set the directory to 'site-packages' by
default.
|
|
Currently this is rather simple, allowing only matching typedefs by
name. If we need more later, we can extend the interface. This will
make it possible to add bindings for the K18n framework.
|
|
|
|
Don't use the text 'Parse error' for warnings, which might confuse IDEs.
|
|
The Python logging module uses logging severities with numerical values
which form a sequence in steps of 10. The Clang cindex.Diagnostic
numerical values use a step size of 1, so the two are incompatible.
Introduce a mapping function so that appropriate errors get issued when
attempting to build the bindings. The logging module has one surplus
diagnostic level, but we simply never use it.
BUG: 374801
|
|
The generator expression here looks like it should work, but it does not
set the appropriate flags for compilation. It seems that the
CXX_STANDARD property is not yet populated at the time the generator
expression is evaluated (to be investigated later).
This came to light because users of Qt 5.7+ attempted to generate the
bindings, but they encountered errors. The step of using libclang to
parse the provided headers was actually failing, but that was not
noticed, perhaps because the logging infrastructure in sip_generator
does not emit it (to investigate later).
BUG: 374801
|