Age | Commit message (Collapse) | Author |
|
|
|
Continuation of commit 4e47b053c9d799.
All unittests still pass.
|
|
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...
|
|
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.
|
|
If we are not tracking a specific branch, assume the remote is "origin"
which is git's default.
|
|
|
|
This fixes KDEInstallDirsTest.relative_or_absolute_qt unittest.
|
|
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).
|
|
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>
|
|
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>
|
|
Split the arguments in separate lines, grouped appropriately.
No functional changes.
Suggested-by: @adridg
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Fixes unit tests with Qt6 and identified the missing definition of the
full path variables for aliases.
|
|
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.
|
|
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
|
|
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
|
|
So far we were defining e.g. KSERVICESDIR next to KDE_INSTALL_KSERVICES5DIR
here, rather than the intended KDE_INSTALL_KSERVICESDIR.
|
|
This enables forward-compatibility with KDEInstallDirs6.cmake
This was partly done already, but in the wrong order and not for all
versioned variables.
|
|
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.
|
|
This fixes an infinite recursion of KDEInstallDirs including
itself when QT_MAJOR_VERSION is not defined.
|
|
and use only KSERVICESDIR in KDEInstallDirs6.
|
|
|
|
|
|
+ adjust docu
|
|
|
|
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.
|
|
This breaks older clang-format version :/
This reverts commit 81f70c9639154dcd067d73b0620767d8ba0362cf.
|
|
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.
|
|
|
|
Ensure /Zc:__cplusplus is passed when using newer C++ standards.
https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-160
|
|
Should help catch errors like initializing a q-ptr with itself[1].
[1] https://invent.kde.org/frameworks/knewstuff/-/commit/d09ba1917cb7e035a9aac6c27c86fc4df5da3194
|
|
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.
|
|
wl_resource_for_each_safe is used in kwayland-server, and as the name
suggests is a for-each like function.
|
|
|
|
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.
|
|
Git on Windows provides bash
|
|
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.
|
|
|
|
This will prevent the macro definition of min and max which breaks
the use of std::min and std::max
|
|
Also add trigger to switch to KDE_COMPILERSETTINGS_LEVEL of latest
KDECompilerSettings on ECM dependency in KF modules to 5.85
NO_CHANGELOG
|
|
MO_CHANGELOG
|
|
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
|
|
Also print current values for more context
NO_CHANGELOG
|
|
No longer needed, also triggering wrong warning about
KDE_COMPILERSETTINGS_LEVEL value for 3rd-party users requiring older ECM
NO_CHANGELOG
|
|
GIT_SILENT
|
|
NO_CHANGELOG
|
|
GIT_SILENT
|
|
If no minimum ECM version is required, ECM_GLOBAL_FIND_VERSION is empty
and the version comparison fails.
Amends: 12af1e4e5
|
|
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.
|
|
Has to wait until KF requires ECM 5.85.0
This reverts commit e6f87fa7427a2edde7dd8a47ace21011169d2650.
NO_CHANGELOG
|
|
NO_CHANGELOG
|