aboutsummaryrefslogtreecommitdiff
path: root/kde-modules
AgeCommit message (Collapse)Author
2019-12-19API dox: fix rst syntax for KDEClangFormat textFriedrich W. H. Kossebau
2019-12-05EBN extra-cmake-modules transport cleanupv5.65.0-rc1v5.65.0John Hayes
Summary: Change transport protocol from http to https Reviewers: apol, cgiboudeaux Reviewed By: apol, cgiboudeaux Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D25753
2019-11-26Fix typoDavid Edmundson
2019-11-26Explicitly use lib for systemd directoriesDavid Edmundson
Systemd searches "/usr/local/lib/systemd/user", "/usr/local/share/systemd/user", USER_DATA_UNIT_PATH, "/usr/lib/systemd/user", "/usr/share/systemd/user", LIBDIR could be lib or lib64, so we need to be explicit here. Reviewed on D25107
2019-11-06Documentation typo correctionDavid Edmundson
2019-11-03Add install dir for systemd unitsDavid Edmundson
Summary: Like we have for other FD.O projects like DBus service files Test Plan: Unit test passes Used in another project, and it installed to the correct place Reviewers: apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D25107
2019-11-03KDEFrameworkCompilerSettings: enable all Qt % KF deprecation warningsFriedrich W. H. Kossebau
Reviewers: #frameworks, #build_system, apol, dfaure Reviewed By: apol, dfaure Subscribers: dfaure, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D24990
2019-10-23Don't set C/C++ standards if already setDavid Faure
Summary: Fixes regression from https://phabricator.kde.org/D24841 Reviewers: cgiboudeaux Reviewed By: cgiboudeaux Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D24882
2019-10-22Use modern way to set the C/CXX standadHannah von Reth
Summary: This allows later modification of the selected standard. Raise C from C89 to C90 as C89 is not supported by the CMAKE flag https://cmake.org/cmake/help/v3.16/prop_tgt/C_STANDARD.html#prop_tgt:C_STANDARD Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D24841
2019-10-20Provide clang-format target with a KDE Frameworks style fileChristoph Cullmann
Summary: Provides a clang-format target if wanted Example usage: include(KDEClangFormat) # add clang-format target for all our real source files file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES autotests/src/*.cpp autotests/src/*.h src/*.cpp src/*.h templates/*.cpp templates/*.h) kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) Test Plan: Tried that above usage thingy in KTextEditor Reviewers: #frameworks, dfaure Reviewed By: dfaure Subscribers: zzag, sitter, mwolff, ochurlaud, nalvarez, kossebau, aacid, davidedmundson, dhaumann, apol, ognarb, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D24568
2019-10-01new module ECMSourceVersionControlv5.63.0-rc2v5.63.0-rc1v5.63.0Harald Sitter
Summary: simply sets a variable when the source is under version control. use it to auto-enable Debug builds. there are also plans to switch special assertion logic on in KIO when used from git, so there definitely is a more generic use case of wanting to control behavior based on whether it the source is likely used to make a development or production build. conceivably the module could be used in the future to get git rev-parse or the like, hence the generic name. Test Plan: with .git the var is true, without it is false Reviewers: kde-buildsystem, dfaure Reviewed By: dfaure Subscribers: apol, kossebau, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D24159
2019-08-28Keep 'lib' as default LIBDIR on Arch Linux based systemsAntonio Rojas
Port of upstream commit https://gitlab.kitware.com/cmake/cmake/commit/18365587c86396f988e256b5acf4d2312f3be2bb Differential Revision: https://phabricator.kde.org/D23497
2019-08-19disable autouic again - it breaks buildsHarald Sitter
Summary: autouic (like automoc) assumes that every ui_*.h include statement it finds relates to a .ui file that needs generating. this is not always true. e.g. we have software which generates ui_debug.h which is simply a qloggingcategory header for the UI category of that software which would then trip up autouic because it would assume there's a .ui file when there really isn't one. unfortunately the ui_ assumption cannot be selectively disabled, so we can't have explicit listing of .ui in source lists ``` set(foo_SRCS foo.cpp foo.ui) ``` without also getting the not particularly compatible include assumptions. this should be revisited for kf6 since there isn't a technical need for files to be called ui_*, they could just as well be *_ui or anything else so as to not clash with autouic assumption. autorcc does not suffer from this problem so we can leave it enabled, for now anyway. Test Plan: sonnet builds again Reviewers: apol, nicolasfella, cullmann Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D23262
2019-08-19set autorcc and autouic by defaultHarald Sitter
Summary: I couldn't find any pertinent discussion on the topic but some reviews I stumbled over did set it on some of our application repos and also wonder why we don't enable it by default. autorcc allows more idiomatic use of qrc as they may be used like any "ordinary" source file and cmake will know what to do with them (namely compile into relevant cpp for inclusion in target) without the developer having to worry about anything. autouic does the same albeit for .ui files. Test Plan: .qrc files can be added to src list variables and will get automatically generated into cpp files in the binary dir and built into the target Reviewers: apol Reviewed By: apol Subscribers: cgiboudeaux, vkrause, kossebau, apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22805
2019-08-15Define install location for JAR/AAR files for AndroidVolker Krause
Summary: This follows where Qt installs those, and thus androiddeployqt looks for them. Currently this is hardcoded in knotifications for example, seems cleaner to have this here. Reviewers: #build_system, #android, apol Reviewed By: #android, apol Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D23131
2019-07-25Notify users when not using KDE_INSTALL_USE_QT_SYS_PATHS about prefix.shAleix Pol
Summary: It's especially when KDE_INSTALL_USE_QT_SYS_PATHS=OFF that the different environment variables will have to be initialised. This adds a message that should tell users about the script so they have a hint of what is going on. Reviewers: #frameworks, albertvaka, cgiboudeaux Reviewed By: albertvaka, cgiboudeaux Subscribers: cgiboudeaux, albertvaka, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22580
2019-07-23Provide a more sensible CMAKE_INSTALL_PREFIX defaultAleix Pol
Summary: If no prefix is passed, use ECM's by default, instead of defaulting to /usr/local which isn't optimal in any case. Reviewers: cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22676
2019-07-23Make the default build type "Debug" when compiling a git checkout.David Faure
Summary: The idea comes from https://blog.kitware.com/cmake-and-the-default-build-type/ but I adapted it to leave it empty for tarballs, to avoid messing up distribution packaging. The goal is to make this more sensible for [new] developers who just run cmake and end up with a "no debug symbols, no optimizations" build, i.e. the one and only completely useless combination of those two flags. Possible risk: distributions who compile from git checkouts... Test Plan: "mkdir build ; cd build ; cmake .." in kblog leads to CMAKE_BUILD_TYPE=Debug Reviewers: kde-buildsystem, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, apol, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22667
2019-05-31Create specific directory for Qt logging categories filev5.59.0-rc1v5.59.0Laurent Montel
Summary: kdebugsettings categories files Reviewers: dfaure, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: kossebau, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D21313
2019-05-22Don't enable QT_STRICT_ITERATORS on Windows.David Faure
Summary: Strict iterators can't be used on Windows, they lead to a link error when application code iterates over a QVector<QPoint> for instance, unless Qt itself was also built with strict iterators. See example at https://bugreports.qt.io/browse/AUTOSUITE-946 Technically this would be fine for mingw, but not for MSVC neither clang-cl (which also uses the MSVC ABI). I think it's fine to just disable it for all Windows compilers, since any iterators misuse will be detected on Unix anyway. Test Plan: None, I'm relying on Volker's findings. Reviewers: vkrause, dvratil Reviewed By: dvratil Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D21314
2019-04-07Unconditionally enable -DQT_STRICT_ITERATORS, not just in debug modeDavid Faure
Summary: It turns out QT_STRICT_ITERATORS does not introduce any overhead (they are inlined so everything gets optimized), confirmed by Dan comparing the produced assembly in Compiler Explorer. Reviewers: dvratil, mlaurent, aacid Reviewed By: aacid Subscribers: aacid, kde-buildsystem, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D20349
2019-03-23Revert "Take clang-cl into account"Christian Mollekopf
This reverts commit 2e1cb0c453f419da134b850052da6c804cae05e0. This was an accidental push to master, sorry for the noise.
2019-03-23Take clang-cl into accountChristian Mollekopf
2019-02-22Fix releaseme checkout when this is included in a sub-directoryVolker Krause
Summary: This fixes the Marble build on binary factory. Reviewers: apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D19223
2019-02-03Fix ENABLE_CLAZY option with clazy >= 1.5Elvis Angelaccio
Summary: clazy 1.5 renamed its plugin from from `ClangLazy.so` to `ClazyPlugin.so` and from `clang-lazy` to `clazy`. Reviewers: apol, smartins Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18680
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-09Use more https in linksFriedrich 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-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-09-24l10n: Fix matching digits in the repository nameAleix Pol
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-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-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-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-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-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-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-01-28Don't set the LD_LIBRARY_PATH in prefix.shAleix Pol
Summary: We already have rpaths anyway and it breaks running applications from within the build directory: https://community.kde.org/Guidelines_and_HOWTOs/Making_apps_run_uninstalled Reviewers: #frameworks, dfaure, ngraham, graesslin Reviewed By: ngraham, graesslin Subscribers: graesslin, ngraham, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D9550
2017-12-15Introduce INSTALL_PREFIX_SCRIPT to easily set up prefixesAleix Pol
Summary: If enabled it will install a prefix.sh script to the root of the prefix. This file will be useful to be able to easily set up a prefix to be used by integrating the environment variables it exports. Test Plan: ``` $ cat prefix.sh export PATH=/home/apol/devel/kde5/bin:$PATH export LD_LIBRARY_PATH=/home/apol/devel/kde5/lib64:$LD_LIBRARY_PATH export XDG_DATA_DIRS=/home/apol/devel/kde5/share:${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/} export XDG_CONFIG_DIRS=/home/apol/devel/kde5/etc/xdg:${XDG_CONFIG_DIRS:-/etc/xdg} export QT_PLUGIN_PATH=/home/apol/devel/kde5/lib64/plugins:$QT_PLUGIN_PATH export QML2_IMPORT_PATH=/home/apol/devel/kde5/lib64/qml:$QML2_IMPORT_PATH ``` Reviewers: #frameworks, sitter Reviewed By: sitter Subscribers: kfunk, bcooksley, ngraham, sitter, cgiboudeaux, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D9299
2017-11-05KDECMakeSettings: more docu about the layout of the build dirDavid Faure
Reviewers: kossebau Subscribers: #build_system, #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D7612
2017-08-10Fix the fixChristophe Giboudeaux
2017-08-10Fix build with older CMake versions.Christophe Giboudeaux
VERSION_GREATER_EQUAL was added in CMake 3.7 and ECM still depends on CMake 2.8.12
2017-08-09Set CMAKE_*_OUTPUT_DIRECTORY to run tests without installing.David Faure
Summary: For compatibility reasons, this is only enabled when projects upgrade their find_package(ECM) line to request a version >= 5.38. A little bit like cmake policies: just upgrading ECM is compatible, while increasing the required version can change behaviour. Test Plan: Tested make test in all KF5 frameworks; I have patches for some of them which I can't commit until this is in. Reviewers: cgiboudeaux, kfunk Reviewed By: cgiboudeaux, kfunk Subscribers: kfunk, #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D7198
2017-07-29Fix usage of query_qmake: differ between calls expecting qmake or notFriedrich W. H. Kossebau
Summary: when KDE_INSTALL_USE_QT_SYS_PATHS has been explicitely set, qmake can be considered a required dependency, otherwise the paths will not be known, which would be unexpected. Also does the code calling query_qmake, besides the one testing for the same install prefix, not handle the case of empty strings being returned and then results in bogus behaviour. Thus this patch makes code fail hard if query_qmake is expected to yield a result, but no qmake executable is found. Reviewers: #frameworks, ltoscano, rdieter, apol Reviewed By: apol Subscribers: #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D6772
2017-07-20Add API dox for KDEInstallDirs' KDE_INSTALL_USE_QT_SYS_PATHSFriedrich W. H. Kossebau
Reviewers: #frameworks, apol Reviewed By: apol Subscribers: #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D6773
2017-07-18KDECompilerSettings.cmake - handle Cywgin when setting LINK_FLAGSAllen Winter
Differential Revision: https://phabricator.kde.org/D6762
2017-07-15Fix incomplete default path noted in QTQCHDIR documentationFriedrich W. H. Kossebau