Age | Commit message (Collapse) | Author |
|
This matches most of the existing code in KDE; also note that Qt has the
same setting (also stating in a comment in their _clang-format that this
matching their existing code).
|
|
To prevent cmake errors with exiting usages it is checked if the target already exists.
|
|
When building multiple KDE projects, installing them to "$DESTDIR"
and having cmake look for kde dependencies in "$DESTDIR" using
"CMAKE_PREFIX_PATH=$DESTDIR/usr", we currently get failures when
calling find_package() on projects that use KDE_INSTALL_QTPLUGINDIR,
KDE_INSTALL_QTQMLDIR and KDE_INSTALL_QTQUICKIMPORTSDIR because these
are defined as absolute paths when KDE_INSTALL_USE_QT_SYS_PATHS is
enabled.
This commit defines these paths relative to qmake's QT_INSTALL_PREFIX
property instead when KDE is install to the same prefix as Qt. This
fixes DESTDIR installations because with relative paths, CMake will
search for these paths in "$DESTDIR" as well as "/".
We limit this change to the scenario where the Qt and CMake install
prefixes are the same because always doing this would break backwards
compatibility as qml and plugins would be installed into CMAKE_INSTALL_PREFIX
instead of QT_INSTALL_PREFIX after this change.
|
|
The --sort=name option was only added in version 1.28
which isn't available in Centos 7 yet e.g.
|
|
|
|
|
|
It was reported that in case of containerized setups where the
source and build are in different containers the pre-commit
script would reference a file which is another container and
is consequently not found.
To avoid this the script is copied in the source dir and a relative path is defined.
|
|
This makes it more difficult to implement the relative paths.
It would be nice to have, but if we encounter a scenario
where we explicitly need this we can revisit it.
|
|
|
|
|
|
This way we pass the regex on an actual URL that we may understand.
This is especially useful when url.insteadOf entries are specified in
~/.gitconfig.
|
|
|
|
|
|
This reverts commit a6be96a0c84b215de7f6fb397255af252adf7fc1.
|
|
To prevent cmake errors with exiting usages it is checked if the target already exists.
|
|
|
|
|
|
|
|
|
|
GIT_SILENT
|
|
This will allow us to force QS checks before
the developer commits a change. Currently only
clang-format is supported, but as on #plasma and
https://phabricator.kde.org/T11214 discussed we
might want to add different formatters.
By making the checks configurable we are flexible
and can easily extend it.
|
|
|
|
For GCC/Clang that is the default, but not for MSVC. This can cause both
compile-time and runtime errors when encountering string literals that
contain more than just 7bit ASCII.
Some of our modules set this already, others use various other workarounds
to avoid Utf-8 literals, so better do this consistently and centrally.
Qt6 will also set this by default.
This is actually Hannah's finding from debugging issues caused by this
in kitinerary, I'm just submitting the patch.
|
|
|
|
Before this value was 240, which can result in excessively long lines.
|
|
|
|
- Search for a suitable `tar` program
- Check version output if it's GNU tar
Since this function is typically run only once per repo,
there's not much point in doing extra cache work or writing
a separate find-module.
|
|
NO_CHANGELOG
|
|
|
|
Just like the app templates the file templates have a specific install
location.
Also the KTEMPLATESDIR is only used as a fallback, because it suggests
that all templates are in that dir, which is not true.
|
|
With this MR cmake gets rerun when the dirs/subdirs of the template change.
And by setting the `DEPENDS` property of the tar command to this list of the dirs/subdirs of the template we ensure that the command gets executed whenever the files change.
|
|
By default tar glues files in a random order together, this makes the
output non reproducible. In order to fix, produce a sorted output and
uniquify user/group and chmod.
|
|
This matters for libraries in the same repository as the application that
also have an AAR that needs to be integrated, as well as QML plugins. For
this to work we need to consider the build directory as a search prefix,
and produce the exact directory layout there that androiddeployqt expects.
For libraries this is then almost transparent for the application build
system, the only thing that needs to be taken care of manually is putting
the corresponding -android-dependencies.xml file into the right place in
the build dir as well. A macro wrapping that might be an option to
centralize that logic here as well in the future.
For QML plugins this is transparent if you have them set up to work without
installation already anyway, otherwise that setup has to be done for this
to work.
Example: https://invent.kde.org/pim/itinerary/-/merge_requests/28
https://invent.kde.org/frameworks/knotifications/-/merge_requests/12 would
presumably also need this (not tested yet).
|
|
1) remove AlignTrailingComments: true
=> this avoids multiline comment changes if e.g. one longer member/variable is added with comments behind it
2) add AllowShortLambdasOnASingleLine: Empty
=> avoid the uglification of lambdas
|
|
regex gets slightly adjusted to only run on kde.org urls, the actual
repo name may now contain slash as well since
a) basenames aren't necessarily unique anymore
b) by extension we need to give fetchpo an actually unique repo path so
it can resolve the underlying project and its translations
|
|
|
|
Summary:
Without this, in Qt 5.14 I get an android-like QQC2 theme
This used to work on Qt 5.13 so I assume that it's a regression
Reviewers: mart
Reviewed By: mart
Subscribers: apol, davidedmundson, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D26573
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Port of upstream commit https://gitlab.kitware.com/cmake/cmake/commit/18365587c86396f988e256b5acf4d2312f3be2bb
Differential Revision: https://phabricator.kde.org/D23497
|
|
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
|