aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-05Don't run KDEInstallDirsTest.vars_in_sync_oldstyle_arg for KF6v5.91.0-rc1v5.91.0Ahmad Samir
Since KDEInstallDirs6 explicitly sets KDE_INSTALL_DIRS_NO_DEPRECATED to false.
2022-02-04Make clang-format Git hook work in worktrees The Assassin
Otherwise, commits will be rejected because the hook cannot be found from the workdir root dir (there is only one .git directory in a checkout, but commands are run relative to the worktree root dir).
2022-02-01kde_package_app_templates: drop atime,ctime, consistently set mtimeEmil Velikov
As outlined in https://reproducible-builds.org/docs/archives/ to ensure that tarballs are reproducible, one should honour SOURCE_DATE_EPOCH. In the case it's not, fallback to date +%s, set the mtime. Delete atime and ctime completely. No idea if this is better or worse. Based on the patch by: Brendan Tildesley <mail@brendan.scot> From: https://bugs.kde.org/show_bug.cgi?id=443532 v2: Emil - Split from larger patch - Fallback to date +%s v3: Emil - $ENV{...} to evaluate the variable Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-02-01kde_package_app_templates: use numeric owner/group with tarEmil Velikov
In some build environments like in Guix, the GID of "root" is not consistent. With --numeric-owner, we only need to specify UID and GID, the user name is unneeded, so set --owner=0 --group=0 Based on the patch by: Brendan Tildesley <mail@brendan.scot> From: https://bugs.kde.org/show_bug.cgi?id=443532 v2: Emil - Keep args reorder a separate commit - Move time changes into separate commit Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-02-01kde_package_app_templates: reorder and spli tar argsEmil Velikov
Split the arguments in separate lines, grouped appropriately. No functional changes. Suggested-by: @adridg Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-01-26Revert "ECMEnableSanitizers: do not enable linker flags when not supported"Bhushan Shah
This reverts commit abc3a698abc0dfea19040007a7c57d04c3bb6865. Unfortunately it caused various problems: - Minimum cmake version for extra-cmake-modules does not contain the required module - Even with newer cmake it had issue with old policy that was not fixed until very late that breaks packages using old policy CCMAIL: kde-frameworks-devel@kde.org
2022-01-25Fix ECMFindQmlModule unit test with Qt6Volker Krause
Finding Qt6 tools without also finding any library component only works in the COMPONENT form, see also MR !233. Fixes issue #7
2022-01-25Adapt KDEInstallDirs unit test to consider the new version-less variablesVolker Krause
Fixes unit tests with Qt6 and identified the missing definition of the full path variables for aliases.
2022-01-25Disable building tests for the docs buildVolker Krause
Tests require a compiler, which the docs environment doesn't have.
2022-01-24Fix ECMPoQmTools when using Qt6Volker Krause
2022-01-23Forward the Qt6 build option to the CMake test runsVolker Krause
Fixes a number of unit tests that rely on Qt in some form when using Qt6.
2022-01-23Adjust test build system to also support Qt6Volker Krause
With this we are no longer skipping a bunch of tests when using Qt6. This likely still misses forwarding the Qt option to the CMake calls of the actual tests, but that's for a subsequent change.
2022-01-23ECMEnableSanitizers: do not enable linker flags when not supportedBhushan Shah
If linker does not support the linker flag, do not enable it, on alpine e.g. musl does not support the ASAN, if it is enabled unconditionally, it will cause the linker to error out
2022-01-22Fix ExecuteCoreModules testVolker Krause
There's a few modules relying on ECM_GLOBAL_FIND_VERSION being defined, so set that. The exact value is less relevant here, it's mainly used for deprecation warnings.
2022-01-21ECMQmlModule: Add -Muri automoc option to make static builds work correctlyArjen Hiemstra
This is apparently needed for static QML plugins to work properly.
2022-01-21ECMQmlModule: Correct the prefix of the generated qrc to be what Qt expectsArjen Hiemstra
When the major version of a module is >1, Qt expects a .MajorVersion suffix on the module path. Since we are already doing this for the shared library install path, extract that code to a shared macro and reuse it for the prefix path in the generated qrc.
2022-01-21Set the right @since version for ECMQmlModuleArjen Hiemstra
2022-01-20Only enable -bsymbolic-functions when Qt is built in a compatible wayVolker Krause
With Qt6 that isn't always the case, for example in our Linux CI image. Using -bsymbolic-function on the final executable in that case can result in function pointer conntect or method/signal lookups to fail. This can be observed in various unit test failures on the CI right now.
2022-01-20we temporarily need docs artifacts on master for testingFrederik Schwarzer
2022-01-19Add /.clang-format to .gitignoreAhmad Samir
Should stop kdesrc-build saying: "You had local changes to extra-cmake-modules, which have been re-applied." GIT_SILENT
2022-01-18Rename ECMQMLModules.cmake to ECMFindQmlModule.cmakeArjen Hiemstra
To avoid ambiguity with ECMQmlModule.cmake. To preserve backward compatibility, we keep a version around of ECMQMLModules.cmake that warns a user of it being moved and includes the new file.
2022-01-18Introduce ECMQmlModule.cmakeArjen Hiemstra
This contains some helper functions to make it easier to create QML modules through CMake. It takes care of several things that currently need to be done manually. It adds four tests for the four primary ways that it can be used, either as shared/static library and with or without C++ plugin.
2022-01-17build docs as normal artifact instead of pagesFrederik Schwarzer
2022-01-09Rename KDEDeprecationSettings to ECMDeprecationSettingsAlexander Lohnau
Semantically this is an ECM module, because it can be used to manage deprecated Qt API and from any project which use ecm_generate_export_headers
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