Age | Commit message (Collapse) | Author |
|
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.
|
|
It is based on the one that can be found in KWin.
Several KDE projects already use libepoxy (KWin and KDeclarative).
|
|
This adds support for image assets not represented in the appstream data,
such as the banner image for the F-Droid app, and it allows to override
appstream screenshots by local ones. The latter is e.g. used by KTrip
which provides Android-specific screenshots that way.
|
|
|
|
- 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.
|
|
This should improve the alignment issues currently seen in bullet point
lists that we use frequently in the description text.
|
|
BUG: 424392
|
|
This makes use of the CMake 3.19 DEFER command to list all MODULE
targets after processing the toplevel CMakeLists. This allows us to
collect required dependencies of all plugins without changes to the
application. For example, this will fix Okular not including Poppler
because it is only linked from the plugin, thus not being able to
actually read PDFs.
|
|
NO_CHANGELOG
|
|
|
|
|
|
Locally unlink() seems to work just fine on non-existent files, but on
binary factory that seems to be different for some reason.
|
|
This matters when reusing output folders (as binary factory does for
example), as we then retain outdated screenshots and just keep adding
files to an already existing fastlane archive.
|
|
Also, check for the HTTP status code, so we don't end up with 404 error
messages in image files here.
|
|
|
|
|
|
GIT_SILENT
|
|
Otherwise the string (with ';' in it) is parsed as a list by cmake.
|
|
|
|
This should fix the Okular build failure on binary factory.
|
|
|
|
This broke the builds for apps not having categories in their appstream
files.
|
|
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.
|
|
This is currently done on the signing machines as part of the F-Droid
nightly pipeline, but should rather happen as part of the build process
in the future.
Compared to the binary factory script this has a few extensions already:
- Besides recovering information from APKs we can now consume appdata
files directly, or scan the entire source dir.
- Screenshots from appdata files are downloaded.
- The 'x-test' language is ignored.
- Donation and translation information are added.
- Add links to the source code repository, if we can determine that.
The result is put into a single archive per APK, so we can easily transfer
that to the signing machine via Jenkins alongside the APK.
|
|
Have the C counterpart take care of the C files and the C++ for the C++
files.
Don't forget to skip the server C implementation.
|
|
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).
|
|
I had reuse installed but it wasn't being found. Now it is.
|
|
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
|
|
When NDK r20+ is used along with Qt5.12, APK generation fails because
of the layout change in newer NDK. This patch introduces a new variable
USE_LLVM, when this is set for older Qt versions, androiddeployqt uses
LLVM's tools.
|
|
|
|
|
|
|
|
Besides finding Gradle from QtAndroidExtras and thus avoiding the usual
way of the Android world of distributing that (a copy in your source code),
it provides macros to generate and install Android AARs. Those are needed
for libraries that have a non-trivial Java component on Android, e.g.
needing a manifest fragment or having a dependency on other Java libs.
This file has been copied to a few places meanwhile, so centralizing this
in ECM makes sense.
|
|
|
|
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
|
|
Required for module test to pass.
|
|
According to
https://api.kde.org/ecm/module/ECMGenerateDBusServiceFile.html the macro
being tested works differently on windows. The path to the binary
executable is removed on windows.
|
|
When creating a library or executable, several source files are combined
into a binary artifact that has an outbound license of its own. This test
generator allows to check if the combined source files are compatible
with the desired outbound license.
Requirements for using these tests:
- input source files must contain the SPDX-License-Information tag
- python3 must be available
- the "reuse spdx" tool must be available
|
|
|
|
As CheckAtomic.cmake is a copy and we need to keep sync.
a348de480d34257ffe394ab51b880c9aef243d80
Date: 04/18/2020
repo: https://github.com/llvm/llvm-project
file: /llvm/cmake/modules/CheckAtomic.cmake
|
|
Application need to test, if they need to build against atomic libray.
In order to not duplicate the code over and over again, let's have one
version in ecm.
|
|
|
|
|
|
|
|
Also document --android-platform parameter
|