aboutsummaryrefslogtreecommitdiff
path: root/find-modules/FindPythonModuleGeneration.cmake
AgeCommit message (Collapse)Author
2018-08-31Bindings: Use python version matching the found clang python moduleStefan Brüns
Summary: In case both python 2.7 and 3 are installed, but clang python bindings are only installed for python 3, there will be no error message but the self check will fail. Check for clang bindings for both python2 and python3 (if installed), and use the first one found to generate the sip bindings files. Note, it is possible to e.g. use python2 to generate the sip binding files (requires clang bindings), but generate bindings for python 2, 3, or both (requires matching python-devel and python-sip-devel packages). Test Plan: install python3-clang bindings install python2-clang bindings or one of the above the matching python version is used to run sip_generator.py Reviewers: #frameworks, arojas Reviewed By: arojas Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14914
2018-08-25Bindings: Add support for scoped enumsStefan Brüns
Summary: Keep the enum intact by emitting the class keyword in case the enum is scoped. Use the complete enum scope for parameter values, the enclosing scope is only correct to use for unscoped enums. The python Cursor.is_scoped_enum() method has been added with LLVM/Clang version 5.0. BUG: 397154 Test Plan: build kcoreaddons Reviewers: #frameworks, mpyne Reviewed By: mpyne Subscribers: mpyne, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14908
2018-08-18Bindings: Check for libclang without version suffix alsoStefan Brüns
Summary: The canonical name is libclang.so, which seems to be available on all distributions (RH, SUSE, Ubuntu, Debian, ...) while the symlinks with version suffix (e.g. libclang-6.0) are specific to Debian and derivatives. Keep the current checks, but fallback to the unversioned library name. Test Plan: on openSUSE TW/Leap: run cmake -> libclang is found Reviewers: #frameworks, dfaure Reviewed By: dfaure Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14909
2017-09-03Fix python bindings compilation after 7af93dd23873d0b9cdbac192949e7e5114940aa6Antonio Rojas
Explicitely set LIBRARY_OUTPUT_DIRECTORY for the python module Differential Revision: https://phabricator.kde.org/D7677 CCMAIL: release-team@kde.org
2017-04-03FindPyModGen: Also search for an unversioned clang++Heiko Becker
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
2017-01-15Bindings: Use installed python modules if making a dependent moduleStephen Kelly
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.
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: Make the module name part of the test nameStephen Kelly
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-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-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
2016-11-07Print path to Qtcoremod.sip file if there is a problemStephen Kelly
2016-10-31Add the PythonModuleGeneration moduleStephen Kelly
This can be used by KF5 libraries to generate python 2 and 3 bindings.