Jump to content

Frameworks/Windows: Difference between revisions

From KDE Community Wiki
Nalvarez (talk | contribs)
KCoreAddons: Mention the pending review for a KDirWatch fix
Svuorela (talk | contribs)
KCoreAddons updates
Line 69: Line 69:


=== KCoreAddons ===
=== KCoreAddons ===
KRandom fails to build due to the use of <tt>unistd.h</tt> and <tt>getpid()</tt>. KDirWatch also fails; several portability fixes were done, but still not enough:
KRandom isn't very well seeded
<pre>
tier1\kcoreaddons\src\lib\randomness\krandom.cpp(25) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
tier1\kcoreaddons\src\lib\io\kdirwatch.cpp(845) : error C3861: 'QT_LSTAT': identifier not found
tier1\kcoreaddons\src\lib\io\kdirwatch.cpp(846) : error C2065: 'QT_STAT_LNK': undeclared identifier
tier1\kcoreaddons\src\lib\io\kdirwatch.cpp(1294) : error C3861: 'nlink_t': identifier not found
</pre>


Note that this code would have never worked on Windows directly. It only ever worked thanks to the use of kdewin to provide compatibility headers.
KDirWatch also has some code working around a Windows limitation, which is obsolete because QFileSystemWatcher already implements the same workaround. But getting things to compile should be a priority over removing that.


A fix for the LSTAT/STAT_LNK errors was submitted in [https://git.reviewboard.kde.org/r/113376/ Review 113376].
KSharedDataCache has failing tests
 
KDirWatch test fails with QFileSystemWatcher backend on both windows and linux. Added to the kdelibs cleanup.
KDirWatch also has some code working around a Windows limitation, which is obsolete because QFileSystemWatcher already implements the same workaround. But getting things to compile should be a priority over removing that.


=== KWindowSystem ===
=== KWindowSystem ===

Revision as of 17:20, 25 October 2013

This page tracks the status of KDE Frameworks on Microsoft Windows.

I have only tested with MSVC2010 32-bit.

Tier 1

Working: itemmodels, itemviews, kplotting, kcodecs, kguiaddons, kidletime, kwidgetsaddons, sonnet. More details later.

The rest are currently disabled in CMake. This means you can build kdelibs as a whole with no errors at the moment, but only because the non-working parts are being skipped...


ItemModels

Builds, no warnings. The autotests are currently disabled on all platforms and there are no manual tests, so I haven't tested if it works.

ItemViews

Builds, only some deprecated warnings. Unit test passes. Manual tests work fine. kwidgetitemdelegatetest shows a bug that is probably cross‐platform (will report later).

KWidgetsAddons

Builds with no relevant warnings, unit tests pass. There's many manual tests; I haven't carefully tested them all yet.

ThreadWeaver

Builds, tests pass.

KCoreAddons

KRandom isn't very well seeded

KDirWatch also has some code working around a Windows limitation, which is obsolete because QFileSystemWatcher already implements the same workaround. But getting things to compile should be a priority over removing that.

KSharedDataCache has failing tests KDirWatch test fails with QFileSystemWatcher backend on both windows and linux. Added to the kdelibs cleanup.

KWindowSystem

Hundreds of errors casting WId to HWND in Windows‐specific code.

KArchive

Not tested yet, due to external dependencies for compression (didn't get around to installing them yet).

KJS

Not tested yet due to PCRE dependency.