aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2018-08-06Make it possible for ECM to detect po files at configure timeAleix Pol
Summary: ECMPoQmTools will need to have the translations downloaded at configure time instead of on build time, otherwise it needs an awkward second configure. To that end we introduce a KDE_L10N_SYNC_TRANSLATIONS variable that allows it to do so. ECMPoTools will download the translations in the build directory, because cmake shouldn't touch the sources. Have it check the build directory too when the macro is called. Test Plan: Built analitza translations. Reviewers: #frameworks, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14569
2018-08-04GIT_SILENT Upgrade ECM version to 5.49.0.v5.49.0-rc1v5.49.0l10n daemon script
2018-08-02Android: Don't hardcode a random version of the Android SDKAleix Pol
Summary: Just default to whichever is installed Test Plan: Built kalgebra Reviewers: #frameworks, vkrause Reviewed By: vkrause Subscribers: alexeymin, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14544
2018-08-01ECMOptionalAddSubdirectory: Provide a bit more detailHeiko Becker
Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14541
2018-07-18Fix variable definition checkAleix Pol
Summary: We'd check if the variable's value is defined, which is wrong and prevented us from properly initialising using these deprecated variables. It would also ignore the value we're passing to the actually right variable when using it. Test Plan: Built kstars which needs -DCMAKE_ANDROID_API=24 Reviewers: #frameworks, vkrause Reviewed By: vkrause Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D14187
2018-07-16Change the 'since' version.Christophe Giboudeaux
These changes are not available in ECM 5.48.0.
2018-07-08Improve ECMAddAppIconMacro.Dominik Schmidt
Summary: - Add support for SIDEBAR_ICONS on macOS - Allow specifying a basename for the icon file via OUTFILE_BASENAME - Add support for HiRes icons on Windows via icotool I'm sorry this went all into one big change. I see that it's not optimal, but it's really hard to rip it apart... Also to me the whole code with support for two flavors of png2ico and icotool seems very spaghetti-ish. IMHO there's no good reason to keep supporting all three, icotool is the only maintained project and the only one supporting more than 128px wide icons. That's why I would suggest to simplify the whole code by only supporting icotool in one of the next releases. Test Plan: We use this version of ECMAddAppIconMacro in ownCloud client and it works... I tested icotool natively and while cross-compiling on linux. SIDEBAR_ICONS are also working... If you want to test this with the ownCloud client, it's best to use https://github.com/dschmidt/owncloud-client/tree/fix-app-icon-macro because that contains a small fix I just PR'ed and which is not in master yet. (We maintain a fork of the module there, so compiling it for Windows or macOS will automatically use the version of the module that I'm submitting) Reviewers: vonreth, vpinon, apol, alexmerry, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D13698
2018-07-04Android: Make it possible to override a target's APK directoryv5.48.0-rc1v5.48.0Aleix Pol
Summary: Some projects such as marble do some operations with the APK directory before building. This allows us the project to copy the apk directory over to the build directory and do whatever it pleases. Test Plan: Built Marble Reviewers: #frameworks, vkrause Reviewed By: vkrause Subscribers: vkrause, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D13403
2018-06-29Drop outdated QT_USE_FAST_OPERATOR_PLUSFriedrich W. H. Kossebau
Summary: QT_USE_FAST_OPERATOR_PLUS has been deprecated in Qt 4.8, in favour of QT_USE_QSTRINGBUILDER. The latter also covers QByteArray. Qt5 headers still supports QT_USE_FAST_OPERATOR_PLUS (at least 5.11.1), as subset of QT_USE_QSTRINGBUILDER as it was introduced in Qt4.8, but not as documented build flag. Given QT_USE_QSTRINGBUILDER is set here and thus triggers anything that QT_USE_FAST_OPERATOR_PLUS would trigger in Qt code, removing it should clean up the macro from undocumented features and thus reduce confusion. No non-Qt is known at least in KDE repos which checks this build flag otherwise, so no regression should be expected here as well. Reviewers: vkrause Reviewed By: vkrause Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D13800
2018-06-29Add -Wlogical-op -Wzero-as-null-pointer-constant to KF5 warningsAlbert Astals Cid
Reviewers: cgiboudeaux, apol Reviewed By: cgiboudeaux, apol Subscribers: apol, kde-frameworks-devel, kde-buildsystem, cgiboudeaux, dhaumann Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D10166
2018-06-26[ECMGenerateHeaders] Add option for other header file extension than .hFriedrich W. H. Kossebau
Summary: Quite some C++-based projects do not use .h as header file extension, but .hpp, .hxx or other variants. Making the header file extension configurable enables to make use of ECMGenerateHeaders in such projects. Test Plan: The added unit test works, existing unit tests work as before. Also using in project with .hpp files works. Reviewers: apol Reviewed By: apol Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D13721
2018-06-10GIT_SILENT Upgrade ECM version to 5.48.0.l10n daemon script
2018-06-05Don't include a 64 when building 64bit architectures on flatpakAleix Pol
Summary: It's not a thing on flatpak and it makes packaging weird. Should fix https://github.com/flatpak/freedesktop-sdk-base/issues/22 Reviewers: #frameworks, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, eszlari, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D13102
2018-06-05skip automoc hereLaurent Montel
2018-05-31Android toolchain: allow to specify extra libs manuallyv5.47.0-rc1v5.47.0Alexey Minnekhanov
Summary: Add new variable ANDROID_EXTRA_LIBS, which can contain list of full paths to libs to include in resulting APK file. This can be used to include plugins that are not directly liked to executable, for example OpenSSL libs for QtNetwork SSL/HTTPS support. Test Plan: Build project with -DANDROID_EXTRA_LIBS="/path/to/lib.so;/path/to/other_lib.so". Build without it. In both cases verify APK contents. Reviewers: apol Reviewed By: apol Subscribers: kde-buildsystem, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D13198
2018-05-15Android: fix typoAleix Pol
2018-05-14Android: Don't define qml-import-paths if it's emptyAleix Pol
Otherwise androiddeployqt fails like it's failing now for kirigami https://binary-factory.kde.org/view/Android/job/KirigamiGallery_android/48/console
2018-05-14Fix minor documentation typosMaximiliano Curia
Summary: These typos show up in the generated manpages. Reviewers: #frameworks, alexmerry, kossebau, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D12867
2018-05-13GIT_SILENT Upgrade ECM version to 5.47.0.l10n daemon script
2018-05-04GIT_SILENT Upgrade ECM version to 5.46.0.v5.46.0-rc1v5.46.0l10n daemon script
2018-04-18Include FeatureSummary before calling set_package_properties.Christophe Giboudeaux
2018-04-17Android: fix dumb mistakesAleix Pol
Use the variable we just created to look up Qt5. Remove debug warning.
2018-04-17Don't install plugins within lib on androidAleix Pol
Summary: Otherwise we hit a weird code path on androiddeployqt. This is what the official SDK looks like anyway: ``` $ ls /opt/Qt/5.10.1/android_armv7/ bin doc include jar lib mkspecs plugins qml src translations ``` Reviewers: vkrause Reviewed By: vkrause Subscribers: #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D12269
2018-04-17Android: Make sure variable is defined before using itAleix Pol
2018-04-13Make it possible to build several apk out of a projectAleix Pol
Summary: Refactor the apk-generating code into a separate function, in views of eventually even make it a module. It also changes so that if no APK dir is specified, a generic dummy one is used. Useful for proofs of concept. Test Plan: Built kate, got kate and kwrite apks Reviewers: #frameworks, #build_system, vkrause Reviewed By: vkrause Subscribers: vkrause Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D12150
2018-04-12Check if the application androiddeployqt package has a main() symbolAleix Pol
Summary: Back in the KDE Edu sprint, we decided we need such a check, otherwise you get rather frustrated when the application isn't started. A patch to androiddeployqt was submitted but rejected by the maintainer. https://codereview.qt-project.org/#/c/207941/ Test Plan: kate doesn't build if we don't pass Q_DECL_EXPORT, builds if we do. Reviewers: #frameworks, #build_system, vkrause Reviewed By: vkrause Subscribers: vkrause, vatra, aacid Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D12120
2018-04-11Android: Explicitly point at upstream documentation and deprecate duplicated ↵Aleix Pol
concepts Summary: Mark as deprecated the redundant variables and focus on the difference. Reviewers: #build_system, #frameworks, vkrause Reviewed By: vkrause Subscribers: vkrause Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D11984
2018-04-04Make use of upstream CMake infrastructure to detect the compiler toolchainv5.45.0-rc1v5.45.0Aleix Pol
Summary: Instead of having ad-hoc code for gcc, let CMake do its thing. It has a lot of logic that we may be interested in, for example it will make the clang switch much smoother. Note it raises the minimum cmake to 3.7 for Android, which was released almost 2 years ago. Test Plan: Built kalgebra on it using kdeorg/android-sdk Reviewers: #frameworks, #build_system, vkrause Reviewed By: vkrause Subscribers: vkrause Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D11776
2018-03-18API dox: fix some "code-block" lines to have empty lines before/afterFriedrich W. H. Kossebau