Age | Commit message (Collapse) | Author |
|
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
|
|
SVG files that fail to convert will still trigger a warning.
|
|
Inform the user that SVG icons can now be provided in the macro call;
on Mac the first that converts to .icns (if ksvg2icns is available) will
provide the application icon. Other SVG files are ignored, idem on
other platforms.
|
|
The Q_DECLARE_TR_FUNCTIONS macro contains a `public:` access specifier,
but the sip_generator just pastes the entire macro name. Adjust the
generator to extract the correct access specifier.
|
|
|
|
KIconThemes comes with a ksvg2icns utility that converts .sgv and .sgvz
files to native .icns icon files. Using this utility allows to create
icons with optimum resolution regardless of the available .png images
and of limitations of the host's iconutil application (limited to
256x256 on some Mac OS versions).
REVIEW: 128162
|
|
|
|
Note which rule has a modification effect.
|
|
Increase test coverage regarding transformations.
|
|
It is unused.
|
|
|
|
gitignore files hide things which should not be hidden. KDE repos
usually don't contain them. Anyone wanting to use a gitignore file can
add it to their home directory more conveniently that individual repos
like this.
|
|
|
|
Summary: Cut-and-paste-o from the Python detection code.
Reviewers: #frameworks, skelly, apol
Reviewed By: apol
Subscribers: #buildsystem
Tags: #frameworks, #buildsystem
Differential Revision: https://phabricator.kde.org/D3952
|
|
This reverts commit d1d637fadd6dad68995d44101250ebbc3307ed0b.
This is far too noisy.
The correct steps for this kind of change are:
* Enable the warning locally
* Take the action recommended by the warning in the code, and push the
result
* Push the warning on everyone to enforce that the code stays fixed for
the future
|
|
Summary:
If you just built the software without installing it and then run ctest,
this will systematically fail while trying to read install_manifest.txt.
With this patch this case is now handled gracefully, not forcing to
install to have a test suite which fully passes.
Reviewers: #frameworks, apol
Differential Revision: https://phabricator.kde.org/D3860
|
|
Test plan: Clang and GCC for simple C project, kcoreaddons, kjs, etc.
BUG: 374195
REVIEW: 129708
Reviewers: #extracmakemodules, alexmerry
Reviewed By: dfaure, aacid
|
|
REVIEW: 129724
|
|
Summary:
Colored compiler warnings in ninja output only work with the
`-fdiagnostics-color=always` flag.
See https://github.com/ninja-build/ninja/issues/814 for a rationale.
This commit adds such flag in ecm for gcc >= 4.9 and clang >= 3.5,
and only if the CMAKE_GENERATOR is Ninja.
Test Plan: ninja+gcc and ninja+clang now show nice colored compiler warnings.
Reviewers: #frameworks
Differential Revision: https://phabricator.kde.org/D3733
|
|
This reverts commit 1e7f3d5ba91e79a47d69a48e8f991ee0e7794b53.
It's breaking compilation of anything that uses pthreads
|
|
BUG: 374195
REVIEW: 129708
Reviewers: #extracmakemodules, alexmerry
Reviewed By: dfaure
|
|
|
|
Summary:
Currently (since 123d0d14017a25fb387efd8fe3c2c1323f9c3815) any
find_library() and find_path() calls look both at the host and the toolchain
paths, which often results in includes and/or libraries wrongly being picked
up from the host system, which then results in a failed build.
CMake config files have always been also looked for on the host, which
most often also is not wanted and resulting in a failed build.
This patch fixes that by changing the mode for finding libraries,
includes & packages to ONLY (again), as also recommended in the
cmake-toolchains documentation.
While before CMAKE_PREFIX_PATH was recommended to let cmake e.g.
discover the Qt5 for Android libs, this patch wants a custom
variable ECM_ADDITIONAL_FIND_ROOT_PATH to be used instead.
Reason is that CMAKE_PREFIX_PATH would be subject to the root
handling, while here instead the root paths themselves are
wanted.
This patch does not add backward compatibility for still passing
the Qt5 install prefix via CMAKE_PREFIX_PATH, as there are not
that many users known yet and the old code did not work for many
anyway, so the extra code hassle is not worth it. Instead the few
build instructions would need to be updated (and should ask to use
latest ECM in any case).
Test Plan:
Building Marble now works without trying to use stuff from the
host system.
Reviewers: #frameworks, #gcompris, #minuet, mutlaqja, sandsmark, cordlandwehr, nienhueser, apol
Reviewed By: cordlandwehr, nienhueser, apol
Differential Revision: https://phabricator.kde.org/D3646
|
|
Reviewers: #frameworks, cordlandwehr, apol
Reviewed By: apol
Differential Revision: https://phabricator.kde.org/D3732
|
|
|
|
While unusual it is not impossible to use GCC on Macs, esp. not when
using older OS X versions. Intel also makes compilers for Mac, so it may
in fact be better to rewrite the check ((GNU or Clang or Intel) IF NOT
(APPLE or WIN32)).
|
|
Apple's clang v3.1 corresponds to clang 3.1 and started following the
Xcode versioning scheme from 4.4 onwards (though loosely). An overview
of the version correspondance can be found here:
https://gist.github.com/yamaya/2924292
|
|
Summary: When running tests with hardcoded `cmake`, it get's suffixed to the project's build path. Setting it with an absolute path ensures using the right cmake binary.
Test Plan: Compiled, installed. Used to generate tests for kdev-embedded. `cmake` binary is now prefixed with the absolute system path, and no longer with the project's build dir.
Reviewers: kfunk, #frameworks, apol
Reviewed By: kfunk, apol
Subscribers: kfunk
Differential Revision: https://phabricator.kde.org/D3568
|
|
GIT_SILENT
|
|
Triggered my OCD
|
|
https://commits.kde.org/<repo>?path=...&branch=... is guaranteed to
redirect to the proper repository browser.
Add a link to the generated ECM documentation.
REVIEW: 129367
|
|
also correct link to clazy's README.md (former README)
|
|
|