aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-08GIT_SILENT Upgrade ECM version to 5.91.0.l10n daemon script
2022-01-05Add Linux Qt6 CIVolker Krause
2022-01-04Add ecm_set_deprecation_versions cmake functionAlexander Lohnau
This will make setting the deprecation versions easier, otherwise one would need to edit the hex value. It also helps to keep the required versions and deprecation versions in sync. Also this allows one to keep the deprecation warnings, when one excludes deprecations for a specific version. Additionally the deprecation version can be overwritten by a cmake parameter. This will make local testing easier, because one does not need to edit the CMakeLists.txt files. Task: https://phabricator.kde.org/T15109
2022-01-03create docs only for tagsFrederik Schwarzer
2022-01-02add docs build to CIFrederik Schwarzer
2022-01-02Add compile-command.json to .gitignoreAhmad Samir
There are CMake LSP servers out there, so having a compile_commands.json in ECM dir could happen. Also happens if you're using a script that adds that file.
2021-12-29Add support for finding Poppler's Qt6 libraryv5.90.0-rc1v5.90.0Volker Krause
2021-12-27Add support for finding Qt6 QML modulesVolker Krause
2021-12-19Revert "Fix QT_PLUGIN_PATH for unittests"Ahmad Samir
As discussed in [1], it's simpler to put the files in builddir/bin/, i.e. no /plugins subdir, this makes it easier to run the unittest directly from the CLI/debugger/IDE, without relying on ctest exporting the correct QT_PLUGIN_PATH; instead QCoreApplication::libraryPaths() will pick up the plugins in e.g. builddir/bin/kf5/kio/ automatically. This will be followed by a change in KCoreAddons to remove the /plugins/ dir from the path in the builddir. [1] https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/213
2021-12-19Fix QT_PLUGIN_PATH for unittestsAhmad Samir
It was missing the "/plugins" suffix; found while building KIO with Qt6, where many unittests were failing with "couldn't create slave" for all slaves; the kio slaves are in builddir/bin/plugins/kf5/kio, and KPluginMetaData searches the directory "kf5/kio", and since it's a relative path, it assumes it's in the "plugins" dir. Keep the old behaviour for repos that put the plugins in builddir/bin/ directly without a "plugins" dir.
2021-12-18Add missing prefix to version-less install directory aliasesVolker Krause
So far we were defining e.g. KSERVICESDIR next to KDE_INSTALL_KSERVICES5DIR here, rather than the intended KDE_INSTALL_KSERVICESDIR.
2021-12-13GIT_SILENT Upgrade ECM version to 5.90.0.l10n daemon script
2021-12-09FindInotify.cmake: add target supportRosen Penev
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-12-06FindInotify.cmake: add support for SunOSRosen Penev
SunOS and variants (Solaris, OpenSolaris, illumos, etc al.) do not need a separate library for inotify.
2021-12-05Add CI for FreeBSD and AndroidVolker Krause
Might explain why the kcoreaddons CI isn't seeing ECM updates?
2021-12-05Define version-less install targets in KDEInstallDirs5.cmakeVolker Krause
This enables forward-compatibility with KDEInstallDirs6.cmake This was partly done already, but in the wrong order and not for all versioned variables.
2021-12-02GIT_SILENT: add missing licencesv5.89.0-rc1v5.89.0Laurent Montel
2021-12-01Include QtVersionOption before all Qt5 find_package callsVolker Krause
This doesn't make all these modules actually work with Qt6 yet, but it prevents them from unconditionally pulling in Qt5 in a Qt6 build. This is useful in order to even be able to pass a CMake run to the point one can port, test and debug the rest.
2021-11-30ECMGeneratePkgConfigFile: Add an URL parameterHeiko Becker
While porting a manual configure_file invocation for kactivities' .pc file to ecm_generate_pkgconfig_file I noticed that the URL keyword was missing afterwards.
2021-11-30Revert "If QT_MAJOR_VERSION is not defined, use 5"Volker Krause
There is no path out of QtVersionOption.cmake that would let QT_MAJOR_VERSION undefined, so this check is unnecessary. Worse, this doesn't actually check for QT_MAJOR_VERSION being defined, but whether a variable named after the content of the QT_MAJOR_VERSION variable is defined. That is always false, so this effectively forces Qt5 and breaks Qt6 support. This reverts commit 8fd79163a7c60386fbc94bc14ca4a3b0b29d7227.
2021-11-28If QT_MAJOR_VERSION is not defined, use 5Ivan Čukić
This fixes an infinite recursion of KDEInstallDirs including itself when QT_MAJOR_VERSION is not defined.
2021-11-23KDEInstallDirs5: set up KSERVICESDIR alias for KSERVICES5DIRDavid Faure
and use only KSERVICESDIR in KDEInstallDirs6.
2021-11-23KDEInstallDirs6: remove deprecated variables from the documentationDavid Faure
2021-11-23KDEInstallDirs6: comment out call to query_qmake, not definedDavid Faure
2021-11-23KDEInstallDirs6: don't set deprecated variable names anymoreDavid Faure
+ adjust docu
2021-11-23PLUGINDIR is based upon QTPLUGINDIR, so only define it after QTPLUGINDIRDavid Faure
2021-11-23Split KDEInstallDirs into a 5 and a 6 variantVolker Krause
This factors out large parts of the common code into separate modules, and adds a backward compatibility wrapper. The 6 variant drops some deprecated variables where possible, but otherwise is the same as the 5 variant. It still lacks a replacement for the paths depending on ECMQueryQMake though.
2021-11-18AddAppIcon: clarify ksvg2icns role for @2x iconsDawid Wrobel
The description was a bit misleading and may have suggested that ksvg2icons was required for @2x (Retina) icons to work.
2021-11-13GIT_SILENT Upgrade ECM version to 5.89.0.l10n daemon script
2021-11-08Add support for specifying private dependencies for pkg-config filesIngo Klöcker
2021-11-06FindEGL add 'lib' prefix for windows.Alexander Neumann
2021-10-25Revert "clang-format.cmake: Disable formatting for json files"v5.88.0-rc1v5.88.0Alexander Lohnau
This breaks older clang-format version :/ This reverts commit 81f70c9639154dcd067d73b0620767d8ba0362cf.
2021-10-24clang-format.cmake: Disable formatting for json filesAlexander Lohnau
This is only supported in the latest clang-format version. Having formatting enabled would cause it to complain about no rules being set for json files.
2021-10-24GIT_SILENT Fix check in prefix.sh.fish script if ENV vars are already setAlexander Lohnau
2021-10-21Fix Wayland_DATADIR when cross-compilingAlex Richardson
PKG_CONFIG_SYSROOT_DIR only applies to -I and -L flags, so pkg-config does not prepend CMAKE_SYSROOT when cross-compiling unless you pass --define-prefix explicitly. Therefore we have to manually do prepend it here when cross-compiling. See https://gitlab.kitware.com/cmake/cmake/-/issues/16647#note_844761. With this change I no longer get errors related to wayland.xml when cross-compiling KWaylandServer.
2021-10-13[android] Extend NDK workaround to version 22Nicolas Fella
The relevant issue is only fixed in 23
2021-10-10msvc: Fix __cplusplus valueAleix Pol
Ensure /Zc:__cplusplus is passed when using newer C++ standards. https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-160
2021-10-09GIT_SILENT Upgrade ECM version to 5.88.0.l10n daemon script
2021-10-05Fix ECM on systems without PyQt5 on Python 2Nyan Pasu
2021-10-04ECMFindQMLModule: Use QT_HOST_BINS to find qmlplugindumpAlex Richardson
When cross-compiling QT_INSTALL_BINS contains binaries for the target system that can't be used during the build. Instead use QT_HOST_BINS which contains the Qt build tools for the current system.
2021-10-04FindQtWaylandScanner: Use QT_HOST_BINS to find qtwaylandscannerAlex Richardson
When cross-compiling QT_INSTALL_BINS contains binaries for the target system that can't be used during the build. Instead use QT_HOST_BINS which contains the Qt build tools for the current system.
2021-10-02ecm_add_test: add -DQT_FORCE_ASSERTS to compile flags by defaultAlex Richardson
While debugging a failing test (KProcessTest in KCoreAddons), I noticed that the Q_ASSERT() statements inside that test weren't being executed because RelWithDebInfo builds default to passing -DQT_NO_DEBUG. With this change the test I was debugging now asserts early instead of failing a QCOMPARE later on.
2021-09-29Add Gitlab CI configurationv5.87.0-rc1v5.87.0Ben Cooksley
2021-09-28Add -Werror=init-self to the default CMAKE_CXX_FLAGSAhmad Samir
Should help catch errors like initializing a q-ptr with itself[1]. [1] https://invent.kde.org/frameworks/knewstuff/-/commit/d09ba1917cb7e035a9aac6c27c86fc4df5da3194
2021-09-27Handle git remotes that aren't called origin in _repository_name()Alex Richardson
I was seeing `error: No such remote 'origin'` in the cmake output. This commit avoids hardcoding `origin` as the upstream URL and instead uses the `git rev-parse @{u}` to get the configured upstream. As a follow-up we may want to check if this should be executed by default, but for now this fixes a warning that I'm seeing with various projects.
2021-09-27Fix UDev URLivan tkachenko
Plain freedesktop.org 302-redirects to www.freedesktop.org. Also, fixes a warning during CMake generation step in plasma-desktop. See https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/572
2021-09-25python: Bump maximum version for Python 3 module generator check.Michael Pyne
The proximate problem is that the Python Module generator cmake script has started failing for people with Python 3.10, which a CMake backtrace pointing into FindPythonModuleGeneration.cmake with an error of the form "The max python version in PythonModuleGeneration must be updated." At least one distro has addressed this by simply patching out modules that happen to use this CMake module [1]. From what I can tell and the testing I've done, the cause is pretty simple: The CMake script attempts to find the best Python 3 version by starting from an impossible version and working backwards until it finds a version that is installed. As a sanity check, if the "impossible" version is actually present, it aborts. But this appears to be just a sanity check, and not any sort of guard against buggy version handling code later. While the best fix is probably to start from a known *good* version and move up until we stop finding better versions, there's problems here (e.g. a user with 3.6 and 3.8 installed would fail to see 3.7 and so be left with 3.6 as the "best" match), so I opted just to increase the max version significantly, and improve the documentation as to what's happening and whether it is safe to repeat the step again later. [1]: https://bugs.gentoo.org/746866
2021-09-20clang-format: extend ForeachMacrosDavid Edmundson
wl_resource_for_each_safe is used in kwayland-server, and as the name suggests is a for-each like function.
2021-09-20Avoid raising an error for submodule git trees.Damien Caliste
2021-09-13Make sphinx happier about syntaxAlbert Astals Cid
And the generated html looks more correct