aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2018-03-17Add ECMSetupQtPluginMacroNamesFriedrich W. H. Kossebau
Summary: This macro helps with setting up all the boilerplate CMake code needed to instruct automoc about the custom C++ macros used to define Qt-style plugin class instances. Reviewers: #build_system, #frameworks, apol Reviewed By: apol Subscribers: apol Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D10749
2018-03-17Provide androiddeployqt with all prefix pathsVolker Krause
Summary: This is needed for a new feature in Qt 5.12, making androiddepolyqt's recursive dependency resolution avaiable for components installed in different prefixes too. This will allow us to drop our own partial ELF dependency parsing code eventually, as well as avoid having to do workarounds like linking against all indirect dependencies. Reviewers: #build_system, apol Reviewed By: apol Subscribers: #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D11388
2018-03-15Include the "stdcpp-path" in the json fileAleix Pol
Summary: qmake also generates it and androiddeployqt consumes it. Test Plan: built and ran kalgebra Reviewers: #frameworks, vkrause Reviewed By: vkrause Subscribers: vkrause, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D11342
2018-03-10Resolve symlinks in QML import pathsVolker Krause
Summary: qmlimportscanner fails when provided symlinks, so work around that. Reviewers: #build_system, apol Reviewed By: apol Subscribers: #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D11181
2018-03-10GIT_SILENT Upgrade ECM version to 5.45.0.l10n daemon script
2018-03-09Provide QML import paths to androiddeployqtVolker Krause
Summary: This makes the qmlimportscanner find our QML files and plugins correctly. That's IMHO much cleaner than the full copy of everything in the lib/qml folder we do via the android-extra-plugins list. Reviewers: #build_system, apol Reviewed By: apol Subscribers: #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D11177
2018-03-03GIT_SILENT Upgrade ECM version to 5.44.0.v5.44.0-rc1v5.44.0l10n daemon script
2018-02-24Define __ANDROID_API__Volker Krause
Summary: This is needed for NDK headers to work correctly, and is the same as the CMake code in the NDK does. Reviewers: #build_system, apol Reviewed By: apol Subscribers: apol, #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D10777
2018-02-18Fix readelf command name on x86Volker Krause
Summary: The prefix for the command is i686-linux-android, while the toolchain is x86 in this case. On ARM both values are the same. Reviewers: #build_system, apol Reviewed By: apol Subscribers: #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D10625
2018-02-18Remove obsolete policy settingsVolker Krause
Summary: Those affect policy propagation and search path order for relative includes in CMake code, none of which is needed here. This silences a ton of warnings with CMake 3.10. Reviewers: #build_system, apol Reviewed By: apol Subscribers: #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D10602
2018-02-18Extend search path for NDK dependenciesVolker Krause
Summary: This allows e.g. KArchive to find zlib correctly. Reviewers: #build_system, apol Reviewed By: apol Subscribers: #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D10601