On Saturday, 2 March 2019 00:23:38 CET Jonathan Schultz wrote: > If anyone is interested, here is a brief report on something I have been > working on in my spare time. > > TLDR: Here are some scripts to build KDE frameworks and okular statically > using gcc/musl and cross-building for mingw: > https://github.com/jschultz/kde-static Look in the file patch-kde.sh to see > the interesting stuff.
Interesting, thanks for sharing this! Static builds are also interesting for deployment by application bundles (such as APKs on Android), so I'd very much like to see the necessary changes to go upstream eventually :) [...] > Most of the patches are simply to make CMake handle static dependencies. A > few deal with ad hoc issues that arose out of static building. The most > complicated was linking okular's plugins statically, which involved a bit > of build hacking, but nothing too dreadful (IMHO). Regarding the transitive dependency issue, I think the cleaner and easier to use way is to not add them conditionally to each consuming module, but let the CMake config files of the module bringing in that transitive dependency search for them. Ie. like https://phabricator.kde.org/ R174:085ac943d0c00dd1d88650ab27c737b709870d9b, but possibly conditional for static builds. [...] > I also put in some cross-building stuff. Since kdesrc-build seems not to do > a good job with host applications required for the building process, I just > pre-built those and put the executables in the repository. Not all of > frameworks cross-builds, but enough to link okular does. Most of them should cross-build, but not all of them follow the canonical approach with KF5_HOST_TOOLING yet. The Yocto recipes for KF5 (https:// phabricator.kde.org/source/yocto-meta-kf5/browse/master/recipes-kf5/) might contain useful hints on how to cross-compile a given framework. Regards, Volker
signature.asc
Description: This is a digitally signed message part.
