[digikam] [Bug 374313] wrong icon usage revisited [patch]

bugzilla_noreply at kde.org bugzilla_noreply at kde.org
Sat Dec 31 14:20:52 GMT 2016


https://bugs.kde.org/show_bug.cgi?id=374313

--- Comment #4 from caulier.gilles at gmail.com ---
The Windows bundle is process with MXE cross compiler (MinGW based).

Whole digiKam + dependencies are compiled under Linux. This take few hours for
32 and 64 bits. There is no need of Windows target, and especially the weird M$
MSVC compiler.

I waste a lots of time, for digiKam, and also in my office, with this Microsoft
compiler. Really, it slow to compile and it's a big puzzle to obtain a good
result at end. MSVC require also to patch a lots of time with pre processor
rules, which become a big plat of cheese with black holes...

So, to resume. MXE compile the whole environement with all low level
dependencies, including Qt5. This is done by this bash script :

https://cgit.kde.org/digikam-software-compilation.git/tree/project/bundles/mxe/01-build-mxe.sh

The second script build and install all KF5 dependencies. Breeze is compiled at
this stage :

https://cgit.kde.org/digikam-software-compilation.git/tree/project/bundles/mxe/02-build-extralibs.sh#n75

... which call these cmake scripts :

1/
https://cgit.kde.org/digikam-software-compilation.git/tree/project/bundles/3rdparty/CMakeLists.txt

2/
https://cgit.kde.org/digikam-software-compilation.git/tree/project/bundles/3rdparty/ext_kf5/CMakeLists.txt

For breeze, note the compilation option used :

https://cgit.kde.org/digikam-software-compilation.git/tree/project/bundles/3rdparty/ext_kf5/CMakeLists.txt#n196

Breeze is compacted as Qt rcc resource (this is valid for AppImage and
Macports). Why ? Because parsing small icons file on file system is slow,
especially under Windows. So a memory resource embedded in binary and loaded in
memory is faster.

2nd Question : why disable brezze based rcc rules included since 5.29 ? Because
this require to use KIcon framework which is dropped since 5.x release now.

So the breeze rcc is compiled after than digiKam in installed by 3rd bash
script. Look script 4th, especially here :

https://cgit.kde.org/digikam-software-compilation.git/tree/project/bundles/mxe/04-build-installer.sh#n60

This will build the icon sets for whole KF5 and digikam and kipi-plugins. This
is not only Brezze icon sets.

Now, to complete, at runtime, digiKam try to find the rcc resource file at
init. It's done here :

https://cgit.kde.org/digikam.git/tree/libs/widgets/mainview/dxmlguiwindow.cpp#n820

VoilĂ ...

Gilles

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Digikam-devel mailing list