Jump to content

Frameworks/Windows: Difference between revisions

From KDE Community Wiki
Nalvarez (talk | contribs)
Tier 1: Add info about itemmodels and itemviews
 
(148 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This page tracks the status of KDE Frameworks on Microsoft Windows.
This page tracks the status of KDE Frameworks on Microsoft Windows.


I have only tested with MSVC2010 32-bit.
There is a page about [http://community.kde.org/Frameworks/Epics/Continuous_Integration Continuous Integration] if you want to know more about CI and KDE Frameworks.


== Tier 1 ==
Note: you MUST use emerge to build qtbase since it adds a patch that is essential for the functionality of all the frameworks.
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...
All frameworks that are in emerge are buildable: <code>emerge frameworks_tier1 frameworks_tier2 frameworks_tier3</code>
 
= status overviews =
{|class="wikitable" style="text-align: center; "
|+
| colorcode | description
|-
| style="background-color:green" |
| the framework has built fine and the tests run
|-
| style="background-color:yellow" |
| the framework has built fine but some tests fail
|-
| style="background-color:red" |
| the framework fails to build
|-
| style="background-color:grey" |
| the framework is not in emerge
|-
|
| the framework is untested
|-
|}
 
== tier1 overview ==
 
{| class="wikitable" style="text-align: center; "
|+
| package / compiler
| msvc2010_32
| msvc2013_64
| mingw_64
|-
| attica
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| karchive
| style="background-color:orange" |  <tt>liblzma</tt> dep doesn't build
| style="background-color:green" |  done
| style="background-color:yellow" |  2/4 pass
|-
| kcodecs
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kconfig
| style="background-color:yellow " |  12/13 pass<ref><tt>kconfigcompiler-basic-test</tt> fails, seems to be LF/CRLF issues</ref>
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kcoreaddons
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kdbusaddons
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kglobalaccel
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kguiaddons
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| ki18n
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kidletime
| style="background-color:green" |  no tests
| style="background-color:green" |  no tests
| style="background-color:green" |  no tests
|-
|kimageformats
| style="background-color:yellow" | 1/11 pass
| style="background-color:yellow" | 1/11 pass
| style="background-color:yellow" | 1/11 pass
|-
| kitemmodels
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kitemviews
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kjs
| style="background-color:red" |  doesn't build
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kplotting
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kwidgetsaddons
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| kwindowsystem
| style="background-color:green" |  X11 only
| style="background-color:green" |  X11 only
| style="background-color:green" |  X11 only
|-
| solid
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| sonnet
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
| threadweaver
| style="background-color:green" |  done
| style="background-color:green" |  done
| style="background-color:green" |  done
|-
|}
<references/>
 
== tier2 overview ==
 
{| class="wikitable" style="text-align: center; "
|+
| compiler \ package
| msvc2010_32
| msvc2013_64
| mingw_64
|-
| kauth
| style="background-color:green;" | done
| style="background-color:green;" | done
| style="background-color:green;" | done
|-
| kcompletion
| style="background-color:green;" | done
| style="background-color:green;" | done
| style="background-color:green;" | done
|-
| kcrash
| style="background-color:yellow;" | 0/1 pass
| style="background-color:yellow;" | 0/1 pass
| style="background-color:yellow;" | 0/1 pass
|-
| kdnssd
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
|-
| kdoctools
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
|-
| kjobwidgets
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
|-
| kpty
| style="background-color:grey;" |
| style="background-color:grey;" |
| style="background-color:grey;" |
|-
| kunitconversion
| style="background-color:green;" | done
| style="background-color:green;" | done
| style="background-color:green;" | done <ref>this needs the svnHEAD version of the mingw-w64-headers</ref>
|-
|}
 
<references/>
 
== tier3 overview ==
 
{| class="wikitable" style="text-align: center; "
|+
| package / compiler
| msvc2010_32
| msvc2013_64
| mingw_64
|-
| kactivities
|
|
| style="background-color:green;" | no tests
|-
| kbookmarks
| style="background-color:green;" | done
|
| style="background-color:green;" | done
|-
| kcmutils
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
|-
| kconfigwidgets
| style="background-color:green;" | done
|
| style="background-color:green;" | done
|-
| kdeclarative
|
|
| style="background-color:green;" | done
|-
| kded
|
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
|-
| kdesignerplugin
|
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
|-
| kdesu
|
| style="background-color:grey;"|
| style="background-color:grey;"|
|-
| kdewebkit
|
| style="background-color:green;" | no tests
| style="background-color:green;" | no tests
|-
| kemoticons
|
|
| style="background-color:green;" | done
|-
| kiconthemes
| style="background-color:yellow;" | 0/1 pass
|
| style="background-color:yellow;" | 0/1 pass
|-
| kinit
|
|
| style="background-color:green;" | no tests
|-
| kio<ref><tt>there seems to be a warning: port completely to windows</tt></ref>
| style="background-color:yellow;" | 15/32 pass <ref>two tests require manual interaction, one of them hangs</ref>
|
| style="background-color:yellow;" | 16/32 pass <ref>two tests require manual interaction</ref>
|-
| kjsembed
|
|
| style="background-color:green;" | no tests
|-
| kmediaplayer
|
|
| style="background-color:green;" | done
|-
| knewstuff
| style="background-color:green;" | no tests
|
| style="background-color:green;" | no tests
|-
| knotifications
| style="background-color:green;" | no tests
|
| style="background-color:green;" | no tests
|-
| knotifyconfig
|
|
| style="background-color:green;" | no tests
|-
| kparts
| style="background-color:green;" | done
|
| style="background-color:green;" | done
|-
| kross
|
|
| style="background-color:green;" | done
|-
| krunner
|
|
| style="background-color:yellow;" | 0/1 pass
|-
| kservice
| style="background-color:yellow;" | tests fail to run
|
| style="background-color:yellow;" | 4/7 pass
|-
| ktexteditor
|
|
| style="background-color:yellow;" | 43/51 pass <ref>last test hangs?</ref>
|-
| ktextwidgets
| style="background-color:green;" | done
|
| style="background-color:green;" | done
|-
| kwallet
| style="background-color:green;" | no tests
|
| style="background-color:green;" | no tests
|-
| kxmlgui
| style="background-color:yellow;" | 4/5 pass
|
| style="background-color:yellow;" | 4/5 pass
|-
| plasma
|
|
| style="background-color:yellow;" | 3/5 pass
|-
|}
<references/>
 
== tier4 overview ==
 
{| class="wikitable" style="text-align: center; "
|+
| package / compiler
| msvc2013_64
| mingw_64
|-
| frameworkintegration
| style="background-color:grey;"|
| style="background-color:grey;"|
|-
| kapidox
| style="background-color:grey;"|
| style="background-color:grey;"|
|-
| kdelibs4support
|
| style="background-color:yellow;" | 25/38 pass  <ref>Two tests hang</ref>
|-
| kfileaudiopreview
| style="background-color:grey;"|
| style="background-color:grey;"|
|-
| khtml
| style="background-color:grey;"|
| style="background-color:grey;"|
|-
|}
<br/>
<references/>
 
=  MSVC2010 32-bit (old status) =


<!-- WIP table
<!-- WIP table
Line 56: Line 423:
|} -->
|} -->


=== ItemModels ===
=== ItemViews ===
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.
Builds, only some deprecated warnings. Unit test passes. Manual tests work fine. <tt>kwidgetitemdelegatetest</tt> shows a bug that is probably cross&#8208;platform (will report later).


=== ItemViews ===
=== ThreadWeaver ===
Builds, only some deprecated warnings. Unit test passes. Manual tests work fine. <tt>kwidgetitemdelegatetest</tt> shows a bug that is probably cross-platform (will report later).
Builds, tests pass sometimes, other times locks up.


=== KCoreAddons ===
=== KCoreAddons ===
KRandom fails to build due to the use of <code>unistd.h</code> and <code>getpid()</code>. 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.


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.
KDirWatch test fails with QFileSystemWatcher backend on both windows and linux. Added to the kdelibs cleanup.
 
KSharedDataCache is a nonshared memory-only cache on windows.


=== KWindowSystem ===
=== KWindowSystem ===
Hundreds of errors casting <tt>WId</tt> to <tt>HWND</tt> in Windows-specific code.
Hundreds of errors casting <tt>WId</tt> to <tt>HWND</tt> in Windows&#8208;specific code.


=== KArchive ===
=== KArchive ===
Not tested yet, due to external dependencies for compression (didn't get around to installing them yet).
Builds with liblzma, bzip2 and gzip on mingw64. tests have been moved. karchivetest and kfiltertest fail on mingw64.
 
== Tier 2 ==
=== KDNSSD ===
Builds with fake backend. no tests available.


=== KJS ===
=== KWallet ===
Not tested yet due to PCRE dependency.
Builds. I didn't install kwalletd so I didn't test if it works.

Latest revision as of 20:52, 16 May 2014

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

There is a page about Continuous Integration if you want to know more about CI and KDE Frameworks.

Note: you MUST use emerge to build qtbase since it adds a patch that is essential for the functionality of all the frameworks.

All frameworks that are in emerge are buildable: emerge frameworks_tier1 frameworks_tier2 frameworks_tier3

status overviews

description
the framework has built fine and the tests run
the framework has built fine but some tests fail
the framework fails to build
the framework is not in emerge
the framework is untested

tier1 overview

package / compiler msvc2010_32 msvc2013_64 mingw_64
attica done done done
karchive liblzma dep doesn't build done 2/4 pass
kcodecs done done done
kconfig 12/13 pass[1] done done
kcoreaddons done done done
kdbusaddons done done done
kglobalaccel done done done
kguiaddons done done done
ki18n done done done
kidletime no tests no tests no tests
kimageformats 1/11 pass 1/11 pass 1/11 pass
kitemmodels done done done
kitemviews done done done
kjs doesn't build done done
kplotting done done done
kwidgetsaddons done done done
kwindowsystem X11 only X11 only X11 only
solid done done done
sonnet done done done
threadweaver done done done
  1. kconfigcompiler-basic-test fails, seems to be LF/CRLF issues

tier2 overview

compiler \ package msvc2010_32 msvc2013_64 mingw_64
kauth done done done
kcompletion done done done
kcrash 0/1 pass 0/1 pass 0/1 pass
kdnssd no tests no tests no tests
kdoctools no tests no tests no tests
kjobwidgets no tests no tests no tests
kpty
kunitconversion done done done [1]
  1. this needs the svnHEAD version of the mingw-w64-headers

tier3 overview

package / compiler msvc2010_32 msvc2013_64 mingw_64
kactivities no tests
kbookmarks done done
kcmutils no tests no tests no tests
kconfigwidgets done done
kdeclarative done
kded no tests no tests
kdesignerplugin no tests no tests
kdesu
kdewebkit no tests no tests
kemoticons done
kiconthemes 0/1 pass 0/1 pass
kinit no tests
kio[1] 15/32 pass [2] 16/32 pass [3]
kjsembed no tests
kmediaplayer done
knewstuff no tests no tests
knotifications no tests no tests
knotifyconfig no tests
kparts done done
kross done
krunner 0/1 pass
kservice tests fail to run 4/7 pass
ktexteditor 43/51 pass [4]
ktextwidgets done done
kwallet no tests no tests
kxmlgui 4/5 pass 4/5 pass
plasma 3/5 pass
  1. there seems to be a warning: port completely to windows
  2. two tests require manual interaction, one of them hangs
  3. two tests require manual interaction
  4. last test hangs?

tier4 overview

package / compiler msvc2013_64 mingw_64
frameworkintegration
kapidox
kdelibs4support 25/38 pass [1]
kfileaudiopreview
khtml


  1. Two tests hang

MSVC2010 32-bit (old status)

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).

ThreadWeaver

Builds, tests pass sometimes, other times locks up.

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.

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

KSharedDataCache is a nonshared memory-only cache on windows.

KWindowSystem

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

KArchive

Builds with liblzma, bzip2 and gzip on mingw64. tests have been moved. karchivetest and kfiltertest fail on mingw64.

Tier 2

KDNSSD

Builds with fake backend. no tests available.

KWallet

Builds. I didn't install kwalletd so I didn't test if it works.