aboutsummaryrefslogtreecommitdiff
path: root/kde-modules
AgeCommit message (Collapse)Author
2022-03-24KDEInstallDirs6: port from custom logic to ecm_query_qtAhmad Samir
2022-03-24Port from ECMQueryQmake to ECMQueryQtAhmad Samir
Continuation of commit 4e47b053c9d799. All unittests still pass.
2022-03-21Fix clang-format git hook scriptAhmad Samir
It should be --extensions "cpp,h,hpp,c"; previously, I naively tested that it didn't bother .json files, but I not if it'll actually trigger for e.g. a .h file...
2022-03-17KDEClangFormat: se the same source file extensions in clang-format script ↵Ahmad Samir
and target Previously the clang-format.sh git hook script didn't specify the file extensions to format; however it looks like with recent(?) clang-format versions 'git clang-format' will consider .json files if such files were changed by a commit, which makes the script fail, see: https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/254 Sepcify the file extensions by passing --extensions to 'git clang-format' command. Also add ".hpp" to the file extensions we format, and use the same list of file extensions everywhere.
2022-03-12Fix checking the repository name for detached remotesAleix Pol
If we are not tracking a specific branch, assume the remote is "origin" which is git's default.
2022-03-06Check that you're building the framework in a supported platformAlbert Astals Cid
2022-02-13KDEInstallDirs6: replace ECMQueryQMake usage with qtpathsAhmad Samir
This fixes KDEInstallDirsTest.relative_or_absolute_qt unittest.
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-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-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-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-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
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-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-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-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-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-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-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-11KDEClangFormat: Check for autogeneration notice instead of copyright textAlexander Lohnau
If people ship their own clang-format file they might still have the copyright, because they forked it. Instead search for the notice that the file is autogenerated.
2021-08-16Enable KDEGitCommitHooks on WindowsHannah von Reth
Git on Windows provides bash
2021-07-20suppress tar errorsAdriaan de Groot
With non-GNU tar, passing the --sort option may print out an error message saying the option isn't supported; that's confusing and not useful to the consumer.
2021-07-19Move ENABLE_BSYMBOLICFUNCTIONS documentation in its own moduleAleix Pol
2021-07-17Define NOMINMAX on WindowsHannah von Reth
This will prevent the macro definition of min and max which breaks the use of std::min and std::max
2021-07-16KDEFrameworksCompilerSettings: move backward-compat code into separate fileFriedrich W. H. Kossebau
Also add trigger to switch to KDE_COMPILERSETTINGS_LEVEL of latest KDECompilerSettings on ECM dependency in KF modules to 5.85 NO_CHANGELOG
2021-07-16KDECompilerSettings: properly use KDE_QT_MODERNCODE_DEFINITIONS_LEVELFriedrich W. H. Kossebau
MO_CHANGELOG
2021-07-16KDECompilerSettings: support multiple inclusion and auto-levelsFriedrich W. H. Kossebau
Existing projects have muliple calls of find_package(ECM) and include(KDECompilerSettings), usually in pairs, e.g. for forks of 3rd-party software or examples. While this is not a recommnended setup, as there is no official mechanism to properly reset previously created setings, those existing projects and their releases can be supported by discarding any auto-level values at the end of the include, so the next can pick up again the value of any closer find_package(ECM) call. NO_CHANGELOG
2021-07-15KDECompilerSettings: fix message status on too high KDE_COMPILERSETTINGS_LEVELFriedrich W. H. Kossebau
Also print current values for more context NO_CHANGELOG
2021-07-15KDEFrameworksCompilerSettings: remove hardcoded KDE_COMPILERSETTINGS_LEVELFriedrich W. H. Kossebau
No longer needed, also triggering wrong warning about KDE_COMPILERSETTINGS_LEVEL value for 3rd-party users requiring older ECM NO_CHANGELOG
2021-07-13Fix typos found by codespellChristophe Giboudeaux
GIT_SILENT
2021-07-13KDEFrameworksCompilerSettings: guard ENABLE_BSYMBOLICFUNCTIONS by ECM versionFriedrich W. H. Kossebau
NO_CHANGELOG
2021-07-12Fix windows build on CIAhmad Samir
GIT_SILENT
2021-07-12Handle case where ECM_GLOBAL_FIND_VERSION is undefinedChristophe Giboudeaux
If no minimum ECM version is required, ECM_GLOBAL_FIND_VERSION is empty and the version comparison fails. Amends: 12af1e4e5
2021-07-12Enable the usage of -Bsymbolic-functionsAleix Pol
Checks if the compiler supports it and if so it enables it by default. This is useful as it allows to perform internal linking operations at build time that otherwise would have been delayed until process startup time.
2021-07-10Revert "KDEFrameworksCompilerSettings: use latest KDECompilerSettings"Friedrich W. H. Kossebau
Has to wait until KF requires ECM 5.85.0 This reverts commit e6f87fa7427a2edde7dd8a47ace21011169d2650. NO_CHANGELOG
2021-07-10KDEFrameworksCompilerSettings: use latest KDECompilerSettingsFriedrich W. H. Kossebau
NO_CHANGELOG