Age | Commit message (Collapse) | Author |
|
Instead of building the kodi target as a binary, build as a bundle.
This fixes not being able to use keyboard input when running kodi target in xcode
for debugging.
|
|
|
|
|
|
Signed-off-by: Lukas Rusak <lorusak@gmail.com>
|
|
|
|
Let's CMake choose latest SDK installed at time of build.
Is already like this for Windows x64 desktop.
|
|
[webOS] Hardware accelerated video decoding / Magic Remote
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[webOS] Stop building mariadb gssapi plugin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We also change android packaging to expect static libass
|
|
foreach loop only used for shairplay, where we already explicitly
bundle shairplay 3 lines later. Just remove the loop.
Add a target test for adding the shairplay lib to bundlefiles
|
|
|
|
|
|
|
|
[cmake][addons] Group sources by folder
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We dont use a toolchain for windows (unlike most other unix platforms), so
manually pass project compiler flags through to externalproject_add calls
for windows cmake projects
|
|
Currently jenkins throws this message for these targets
18:59:59 make[4]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
which effectively forces them to run as -j1.
On macos (GNU Make 3.81) if i run multi threaded, it doesnt fall back to -j1, but instead
throws errors like the following
[100%] Built target bundle
cp: directory xbmc/obj/local/arm64-v8a does not exist
make[4]: *** [libs] Error 1
make[4]: *** Waiting for unfinished jobs....
rm: assets/addons/metadata.generic.artists/resources/language: Permission denied
rm: assets/addons/metadata.generic.artists/resources: Permission denied
rm: assets/addons/metadata.generic.artists: Permission denied
rm: assets/addons: Permission denied
rm: assets: Permission denied
make[4]: *** [apk-clean] Error 1
cp: directory xbmc/res/values does not exist
make[4]: *** [res] Error 1
make[3]: *** [CMakeFiles/apk] Error 2
make[2]: *** [CMakeFiles/apk.dir/all] Error 2
make[1]: *** [CMakeFiles/apk.dir/rule] Error 2
Forcing j1 on these targets only reduces the final Makefile for packaing to run as j1,
but the rest of the build (main app/lib and there dependencies) as whatever is requested
|
|
When doing a multi threaded build i come across the following
CMake Error at build/BundleFiles.cmake:1 (file):
file COPY cannot find
"/Users/brent/Dev/macos/build/addons/skin.estuary/media/Textures.xbt": No
such file or directory.
make[3]: *** [CMakeFiles/bundle_files] Error 1
make[2]: *** [CMakeFiles/bundle_files.dir/all] Error 2
The bundle_files target is being executed before several files are in place.
This affects both the pack-skins target and the libdvdnav target. Rather than add
both to the dependency list of bundle_files, have just added the main app target.
The idea is that the main app target, and all its dependencies (eg .so, skin packing)
are done, so the bundle copy commands can work without any hassle
|
|
|
|
|
|
|
|
|
|
|
|
This function allows us to handle in a generic way our use of internal lib state,
and to then allow it to be overridden more easily by the user.
cmake_dependent_option has proven too restrictive for our use of it.
|
|
The use of this is to allow a find module to get a version of a dependency
from a VERSION file without smashing the find module SETUP_BUILD_VARS variables to
allow us to provide a version to a find_package call of the dependency
|
|
[cmake] link atomic library for certain CPU architectures
|
|
Allows a user to pass through cmake arguments to all addon dependencies that are built
Be aware, this is a global addition, and will be passed through to all addons built.
Usage:
-DADDON_EXTRA_ARGS="-Ddefine1=1 -Ddefine2=2"
The arguments will be passed through as a list (ie -Ddefine1=1;-Ddefine2=2) to all
addon dependencies built, and will be accessible via their CMakelists.txt files
an example is with visualization.projectm. If a user wishes to set -DAPP_RENDER_SYSTEM=gles
for the projectm dependency to build projectm as gles compatible.
Currently this can be done with a toolchain file, but a user cant set -DAPP_RENDER_SYSTEM=gles
as art of their cmake stanza to build the addon, as dependencies are passed through filtered
lists, of which APP_RENDER_SYSTEM isnt specifically passed through.
https://github.com/xbmc/visualization.projectm/issues/87
This solution provides a more generic way to pass through arguments to cmake dependencies
without us explicitly handling each option in HandleDepends.cmake
|
|
For those CPU architectures:
RISC-V lack 8-bit and 16-bit atomic instructions, and
ARM/MIPS/PPC lack 64-bit atomic instruction.
GCC is supposed to convert these atomics via masking and shifting
like LLVM, which means anything that wants to use these instructions
needs the link option -latomic.
In this patch, we will try to detect if 8-bit, 64-bit atomic instructions exist,
otherwise the atomic library will append to the DEPLIBS list.
Original issue:
* https://gitlab.kitware.com/cmake/cmake/-/issues/23021#note_1098733
For reference:
* https://gcc.gnu.org/wiki/Atomic/GCCMM
riscv64 specific:
* https://lists.debian.org/debian-riscv/2022/01/msg00009.html
Signed-off-by: Yixun Lan <dlan@gentoo.org>
|
|
Allows us to append arch specific flags to platform generic deps
eg, allow flags-arm64.txt and flags-x86_64.txt to append to extraflags
passed to a cmake based dep only when the specific arch type of the platform is built
Many platforms have the ability for multiple arch (osx x86_64/arm64, android armv7/aarch64, etc)
So this allows us to provide targeted arch specific flags where appropriate
This APPENDS to any flags found in flags.txt of a dep. flags.txt continues to hold any flags
that are common across all platform arch types.
|