aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-15Bindings: Skip implementations of inline methods while parsingStephen Kelly
Don't process the same function name twice.
2017-01-15Bindings: Add a generic rule function to mark a container abstractStephen Kelly
2017-01-15Bindings: Output all python bindings in the same build locationStephen Kelly
The KConfig build creates two libraries and they should both be output in the same place so that they can be tested together.
2017-01-15Bindings: Fix handling of forward declarationsStephen Kelly
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.
2017-01-15Bindings: Use lists in function API instead of stringsStephen Kelly
Custom rules should be able to deal with lists in these cases. This is already the case for function parameters.
2017-01-15Bindings: Add missing test function implementationStephen Kelly
2017-01-15Bindings: Make the module name part of the test nameStephen Kelly
2017-01-14Upgrade ECM version to 5.31.0.l10n daemon script
2017-01-13Bindings: Add a script to generate __init__.py file for bindingsStephen Kelly
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.
2017-01-13Bindings: Fix logic for finding the clang driverStephen Kelly
Use find_package to locate the executable.
2017-01-13Bindings: Try to find libclang4 before trying to find libclang3Stephen Kelly
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.
2017-01-13Bindings: Determine the clang suffix from the filename if cachedStephen Kelly
The suffix is used later to run the clang executable in order to determine the built-in system includes.
2017-01-13Bindings: Make it possible to customise the installation directoryStephen Kelly
The dist-packages directory which is currently hardcoded is unsuitable to non-debian package creation. Set the directory to 'site-packages' by default.
2017-01-13Bindings: Add rules engine for typedefsStephen Kelly
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.
2017-01-13Bindings: Implement ModuleCode and MethodCode databasesStephen Kelly
2017-01-11Bindings: Use diagnostic level specific text when reportingStephen Kelly
Don't use the text 'Parse error' for warnings, which might confuse IDEs.
2017-01-11Bindings: Fix logging output severity for parsing messagesStephen Kelly
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
2017-01-11Explicitly pass -std=gnu++14 to clang when generating bindingsStephen Kelly
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
2017-01-10ecm_add_app_icon : ignore SVG files silently when unsupportedR.J.V. Bertin
SVG files that fail to convert will still trigger a warning.
2017-01-10Update the ecm_add_app_icon documentationR.J.V. Bertin
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.
2017-01-10Bindings: Correctly handle access specifiers within macrosStephen Kelly
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.
2017-01-09Extend unit test with code similar to kguiaddonsStephen Kelly
2017-01-09ecm_add_app_icon/Mac: accept SVG icons when KIconThemes is installedR.J.V. Bertin
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
2017-01-06Testing Jenkinsfile for CI revamp.v5.30.0-rc2v5.30.0-rc1v5.30.0Scarlett Clark
2017-01-05Bindings: Improve diagnostics for the rules engineShaheed Haque
Note which rule has a modification effect.
2017-01-05Bindings: Add some content to the test sourceStephen Kelly
Increase test coverage regarding transformations.
2017-01-05Bindings: Remove db member from RuleStephen Kelly
It is unused.
2017-01-05Bindings: Fix copy-pasta in documentationStephen Kelly
2017-01-05Remove gitignore fileStephen Kelly
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.
2017-01-05Skip attributes on enums when generating bindingsShaheed Haque
2017-01-04Fix message when searching for libclang.Adriaan de Groot
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
2017-01-03Revert "Enable -Wsuggest-override for g++ >= 5.0.0"Stephen Kelly
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
2016-12-30appstreamtest: handle non-installed programsKevin Ottens
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
2016-12-30Add Clang Sanitizer CMAKE_C_FLAGS for C projectLeslie Zhai
Test plan: Clang and GCC for simple C project, kcoreaddons, kjs, etc. BUG: 374195 REVIEW: 129708 Reviewers: #extracmakemodules, alexmerry Reviewed By: dfaure, aacid
2016-12-30Enable -Wsuggest-override for g++ >= 5.0.0Albert Astals Cid
REVIEW: 129724
2016-12-29Enable colored warnings in ninja's outputElvis Angelaccio
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
2016-12-28Revert "Add Clang Sanitizer CMAKE_C_FLAGS for C project"Albert Astals Cid
This reverts commit 1e7f3d5ba91e79a47d69a48e8f991ee0e7794b53. It's breaking compilation of anything that uses pthreads
2016-12-28Add Clang Sanitizer CMAKE_C_FLAGS for C projectLeslie Zhai
BUG: 374195 REVIEW: 129708 Reviewers: #extracmakemodules, alexmerry Reviewed By: dfaure
2016-12-21Fix missing :: in API docs to trigger code stylingFriedrich W. H. Kossebau
2016-12-19Ignore host libs/includes/cmakeconfig files in Android toolchainFriedrich W. H. Kossebau
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
2016-12-19Document usage of gnustl_shared with Android toolchainFriedrich W. H. Kossebau
Reviewers: #frameworks, cordlandwehr, apol Reviewed By: apol Differential Revision: https://phabricator.kde.org/D3732
2016-12-12Upgrade ECM version to 5.30.0.l10n daemon script
2016-12-11Never use -Wl,--no-undefined on Mac (APPLE).R.J.V. Bertin
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)).
2016-12-10Accept AppleClang as an alternative to ClangR.J.V. Bertin
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
2016-12-03Find the correct path to the cmake commandv5.29.0-rc1v5.29.0Ovidiu-Florin BOGDAN
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
2016-12-01Fix typoElvis Angelaccio
GIT_SILENT
2016-11-18Minor: Remove extra new lineKevin Funk
Triggered my OCD
2016-11-16Use the generic redirect and add the doc linkLuigi Toscano
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
2016-11-16Use commits.kde.org in links instead of now outdated quickgit.kde.orgFriedrich W. H. Kossebau
also correct link to clazy's README.md (former README)
2016-11-15Upgrade ECM version to 5.29.0.l10n daemon script