aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-02GIT_SILENT Upgrade ECM version to 5.55.0.v5.55.0-rc1v5.55.0l10n daemon script
2019-01-25FindGperf: in ecm_gperf_generate set SKIP_AUTOMOC for generated fileFriedrich W. H. Kossebau
Summary: Avoids to have manually set the property on the generated source file to deal with changed CMake policy CMP0071. Reviewers: #frameworks, pino, apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18088
2019-01-19Move -Wsuggest-override -Wlogical-op to regular compiler settingsAlbert Astals Cid
Summary: They really help making the code better so it's good to have all applications getting those warnings Subscribers: apol, vkrause, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18167
2019-01-18Fix python binding generation for classes with deleted copy constructorsAlbert Astals Cid
Test Plan: kcoreaddons compiles again Reviewers: lbeltrame Reviewed By: lbeltrame Subscribers: cgiboudeaux, skelly, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18345
2019-01-14Fix qmake module generation for Qt 5.12.1Volker Krause
Summary: Patch by Eike Ziller from https://github.com/KDAB/GammaRay/pull/526 in response to Qt change https://codereview.qt-project.org/#/c/248684/. Reviewers: apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18243
2019-01-09Use more https in linksFriedrich W. H. Kossebau
2019-01-08API dox: add missing entries for some find-modules & modulesFriedrich W. H. Kossebau
2019-01-08FindGperf: improve api dox: mark-up usage exampleFriedrich W. H. Kossebau
2019-01-08ECMGenerateQmlTypes: fix api dox: title needs more --- markupFriedrich W. H. Kossebau
2019-01-08ECMQMLModules: fix api dox: title match module name, add missing "Since"Friedrich W. H. Kossebau
2019-01-08FindInotify: fix api dox .rst tag, add missing "Since"Friedrich W. H. Kossebau
2018-12-21Revert "Clang: don't enable -Wzero-as-null-pointer-constant on 5.0.0"v5.54.0-rc1v5.54.0David Faure
This reverts commit e1adaa7ebab1b0de72c82d95bdf568e435713a4e. Version number confusion.
2018-12-20Clang: don't enable -Wzero-as-null-pointer-constant on 5.0.0David Faure
Summary: The clang compiler in Android NDK r15b, which has version 5.0.300080, warns as follows: warning: unknown warning option '-Wzero-as-null-pointer-constant'; did you mean '-Wint-to-void-pointer-cast'? [-Wunknown-warning-option] Test Plan: Removing the option removes the warning Reviewers: aacid, cgiboudeaux, apol Reviewed By: cgiboudeaux Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D17714
2018-12-09GIT_SILENT Upgrade ECM version to 5.54.0.l10n daemon script
2018-12-04Add find module for Google's libphonenumberVolker Krause
Summary: This is currently in use by plasma-phone-components, but will also be needed by KItinerary. Reviewers: #build_system, #frameworks, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D16954
2018-11-20Rename FindExiv2 to FindLibExiv2.v5.53.0-rc1v5.53.0Christophe Giboudeaux
New users can use this module instead of adding a copy of the old FindExiv2.cmake module.
2018-11-20Add FindExiv2.cmake to ECMChristophe Giboudeaux
According to lxr, we have 8 copies of this module in different repositories (+kdelib4support and a playground repo).
2018-11-19Android: improve clang supportAleix Pol
Summary: Infer the toolchain we are using through cmake's detection of ranlib instead of asking the user to fill it. It's only used in androiddeployqt and cmake expects it to be version "clang" for clang builds while androiddeployqt expects it to be "4.9". Reviewers: #build_system, #android, vkrause Reviewed By: #android, vkrause Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D16930
2018-11-18FindQHelpGenerator: try to find Qt5Help instead of Qt5CorePino Toscano
Summary: The Qt5Help CMake modules contain the Qt5::qhelpgenerator target, so look for that instead of Qt5Core. Otherwise, the Qt5::qhelpgenerator is available only if Qt5Help was searched previously (which does not happen often). Using the Qt5::qhelpgenerator is more reliable than the search for the qhelpgenerator executable based on the qmake path. Test Plan: build some framework with -DBUILD_QCH=ON, and notice that the right path of qhelpgenerator is found directly with the Qt5::qhelpgenerator target. Reviewers: kossebau Reviewed By: kossebau Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D16938
2018-11-12Use `MATCHES "Clang"` to detect clangRené J.V. Bertin
This is for compatibility with Apple's Xcode compilers which identify as AppleClang. Differential Revision: https://phabricator.kde.org/D16816
2018-11-10GIT_SILENT Upgrade ECM version to 5.53.0.l10n daemon script
2018-10-29ECMAddQch: help doxygen by predefining more Q_DECL_* macrosv5.52.0-rc1v5.52.0Friedrich W. H. Kossebau
2018-10-28Bindings: Support using sys paths for python install directoryStefan Brüns
Summary: The correct install directory is distro and arch specific, and should match the configuration of the python installation the binding is generated for. These directories can be queried using pythons distutils.sysconfig. When determining the install directory, it mimics the logic from KDE_INSTALL_USE_QT_SYS_PATHS. When the python PREFIX is the same as CMAKE_INSTALL_PREFIX, it defaults to using the path from distutils.sysconfig, otherwise it keeps the current scheme, installing below CMAKE_INSTALL_PREFIX. The default behaviour can be changed by setting KDE_INSTALL_PYTHON{2,3}DIR or by switching KDE_INSTALL_USE_PYTHON{2,3}_SYS_PATH ON or OFF. Test Plan: On a distro where sitearch is not below /usr/lib/pythonM.m/, but /usr/lib64/pythonM.m/ (e.g. RH, SUSE 64bit), try to do: cmake ..; make; install Without the patch, the binding are installed into the wrong directory, afterwards the correct path is used. This should also yield the correct path on Debian and derivatives, where dist-packages instead of site-packages is used (untested). other test cases: Keep current scheme: `cmake -DCMAKE_INSTALL_PREFIX=/opt ..` Default to sys path: `cmake -DCMAKE_INSTALL_PREFIX=/usr ..` Force sys path: `cmake -DCMAKE_INSTALL_PREFIX=/opt -DKDE_INSTALL_USE_PYTHON3_SYS_PATHS=ON ..` Reviewers: #frameworks Subscribers: bcooksley, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D15070
2018-10-16Bindings: Remove INSTALL_DIR_SUFFIX from ecm_generate_python_bindingStefan Brüns
Summary: The option is no longer used from any framework, and was always defaulting to site-packages previously, as INSTALL_DIR_SUFFIX was empty. Also see D15558, D15845. Test Plan: build e.g kcoreaddons Reviewers: #frameworks, apol, lbeltrame Reviewed By: lbeltrame Subscribers: lbeltrame, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D15867
2018-10-15style++Harald Sitter
Summary: easier to read with spaces SCM_SILENT Reviewers: apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D16221
2018-10-15GIT_SILENT Upgrade ECM version to 5.52.0.l10n daemon script
2018-10-12Add support for the fuzzer sanitizerAdam Reichold
2018-09-30Compile python bindings with the same sip flags used by PyQtv5.51.0-rc1v5.51.0Antonio Rojas
PyQt>=5.11 is compiled with the 'PyQt5.sip' sipname by default. This causes a sipname mismatch with KF5 bindings and prevents them from loading: To fix this, we compile KF5 bindings using the same sip flags (name and tags) that PyQt was compiled with. This ensures that we always use the correct sip name. We also stop setting the sip tags in FindPythonModuleGeneration.cmake to avoid duplication, and remove a (seemingly) unnecessary check for the Qt version that was forcing PyQt to be rebuilt for every patch Qt update. Differential Revision: https://phabricator.kde.org/D15091
2018-09-29Android: Allow passing a relative path as the apk dirAleix Pol
Summary: This way the project can generate automatically its own manifest file. GCompris is using it to set the version. Test Plan: Built GCompris without a warning saying the apkdir isn't found Reviewers: #frameworks, #gcompris, jjazeix Reviewed By: #gcompris, jjazeix Subscribers: jjazeix, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D15643
2018-09-27Android: Properly offer a fallback to applications that don't have a manifestAleix Pol
The variable name was wrong, not much to see here.
2018-09-24l10n: Fix matching digits in the repository nameAleix Pol
2018-09-24Android: Make sure Qm translations get loadedAleix Pol
Summary: Use a similar strategy as D14528 to find qm files. Test Plan: Analitza parts of KAlgebra are translated too. Reviewers: #frameworks, aacid Reviewed By: aacid Subscribers: svuorela, aacid, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14529
2018-09-24Fix Android builds using cmake 3.12.1Aleix Pol
Summary: Only extract the the stl shared object without the rest of libraries. Test Plan: Built gcompris Reviewers: #frameworks, vkrause Reviewed By: vkrause Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D15685
2018-09-22Add QT_NO_NARROWING_CONVERSIONS_IN_CONNECT as default compile flagsLaurent Montel
Summary: Use QT_NO_NARROWING_CONVERSIONS_IN_CONNECT as default flags Reviewers: dfaure Reviewed By: dfaure Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D15566
2018-09-20Python bindings: use cmake_parse_arguments, fix documentationStefan Brüns
Summary: Use of positional arguments is error prone, as e.g. switching order of NAMESPACE and MODULENAME wont have the desired effect, as the keywords are ignored for the first three arguments. Parse all arguments with cmake_parse_arguments, and fix the documentation (list supported arguments) and example (add TARGET keyword). Test Plan: build bindings Reviewers: #frameworks, dfaure Reviewed By: dfaure Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D15559
2018-09-14Bindings: Correct handling of sources containing utf-8Stefan Brüns
Summary: Depending on the locale, python3 may try to decode the source as ASCII when the file is opened in text mode. This will fail as soon as the code contains utf-8, e.g. (c) symbols. While it is possible to specify the encoding when reading the file, this is bad for several reasons: - only a very small part of the source is processed via _read_source, no need to decode the complete source and store it as string objects - the clang Cursor.extent.{start,end}.column refers to bytes, not multibyte characters. While python2 processes utf-8 containing sources without error messages, wrong extent borders are also an issue. The practical impact is low, as the issue only manifests if there is a multibyte character in front of *and* on the same line as the read token. Test Plan: Python3: Build any bindings which contains sources with non-ASCII codepoints, e.g. kcoreaddons. Unpatched version fails when using e.g. LANG=C. Python2: Both versions generate sources successfully. Bytes vs characters test: ``` #define Q_SLOTS class foo { /* a */ public Q_SLOTS: /* ä */ public Q_SLOTS: }; ``` `sip_generator.py --flags "" /usr/lib64/libclang.so Qt5Ruleset.py test.h out.sip` Obviously, both lines should result in the same code, the unfixed version generates `public Q_SLOTS:` vs `public:`. Reviewers: #frameworks, lbeltrame Reviewed By: lbeltrame Subscribers: lbeltrame, bcooksley, jtamate, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D15068
2018-09-12autotests: actually iterate over the list, rather than checking item 0 all ↵David Faure
the time Found while grepping for examples of foreach(... RANGE ...) for my cmake training material ;-)
2018-09-12Actually iterate over CF_GENERATED, rather than checking item 0 all the timeDavid Faure
Found while grepping for examples of foreach(... RANGE ...) for my cmake training material ;-)
2018-09-08GIT_SILENT Upgrade ECM version to 5.51.0.l10n daemon script
2018-09-07Fix minor EBN issuesYuri Chornoivan
2018-09-01Revert "Add _XOPEN_SOURCE to C definitions"v5.50.0-rc1v5.50.0David Faure
This reverts commit 6684cb99bdf408fc491e547393dbd7aac4d151f2. See https://phabricator.kde.org/D8256 for details
2018-08-31Bindings: Check if bindings can be generated for a specific python versionStefan Brüns
Summary: The generated C++ sources include <sip.h>, so it must be available. Check for it in the version specific directories and fall back to the default include directories. Test Plan: install python2-devel and python3-devel install one of python{x}-sip-devel bindings should be generated for the matching python version. Reviewers: #frameworks, arojas Reviewed By: arojas Subscribers: arojas, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14915
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-31Bindings: Make generator forward compatible with Python 3Stefan Brüns
Summary: iteritems is no longer an available method for dict in Python 3. Using dict.items() is functionally identical, although it creates some overhead for Python 2.7 (creation of a temporary list). As this is only called when tracing, this is not a big issue. For Python 3, there is no overhead (dict.items() returns an iterator). Test Plan: Run python3 sip_generator.py ... Run python2 sip_generator.py ... Both generate the same code Reviewers: #frameworks, arojas Reviewed By: arojas Subscribers: arojas, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14912
2018-08-31Disable alteration of QT_PLUGIN_PATH by ECM when running tests.Ben Cooksley
On Windows at least this is simply broken and leads to tests failing because plugins from other modules cannot be found at all. Based on this it is likely that it is broken on other platforms as well, it's just being hidden there by other logic. CCMAIL: kde-frameworks-devel@kde.org
2018-08-31Add _XOPEN_SOURCE to C definitionsA. Wilcox
When building on non-glibc Unix platforms, such as Solaris, NetBSD, and Linux/musl or Linux/uclibc, multiple components of KF5 fail to build. This is because -std=iso9899:1990 is specified (for strict C90 compliance) but _XOPEN_SOURCE is not defined, so none of the POSIX interfaces are exported. I have seen this reported in at least: * kinit * kscreenlocker * plasma-workspace The attached patch resolves this issue on all our build boxes; additionally, applying it to my glibc builder did not change the already working result. BUG: 373175 Differential Revision: https://phabricator.kde.org/D8256
2018-08-26Change documentation to reflect the real toolchain CMake nameBenjamin Port
Reviewers: apol, alexeymin Reviewed By: alexeymin Subscribers: alexeymin, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D15084
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
2018-08-11GIT_SILENT Upgrade ECM version to 5.50.0.l10n daemon script