Fix: Missing dependencies for kwin autotests
ClosedPublic

Authored by hgoebel on Oct 2 2017, 2:00 PM.

Details

Summary

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

When building kwin autotests for guix[1], building the following autotests fail:

  • testScriptedEffectLoader
  • testTabBoxClientModel
  • testTabBoxHandler

The reasons are missing dependencies in autotests/CMakeLists.txt resp. autotests/tabbox/CMakeLists.txt.

[1] https://www.gnu.org/software/guix/

Detailed description and Analysis
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

guix (like nix) used a separate prefix for each package. Thus the header files for
qtdeclarative are in /gnu/store/…-qtdeclarative-5.9.1/include/qt5/ while the ones for
qtbase are in /gnu/store/…-base-5.9.1/include/qt5/. This means that *each* dependency's include directory must be specified. This is in contrast to a "normal" Unix-system, where all includes end up in /usr/include/qt5 and missing to defined some include-dependencies does often not raise an error.

When building testScriptedEffectLoader this fails with:

/tmp/guix-build-kwin-5.10.4.drv-0/kwin-5.10.4/scripting/workspace_wrapper.h:29:34:

fatal error: QtQml/QQmlListProperty: No such file or directory

This line and the one in front read:

#include <QRect>
#include <QtQml/QQmlListProperty>

The included files exists in /gnu/store/…-qtdeclarative-5.9.1/include/qt5/, but the command line is missing -isystem /gnu/store/…-qtdeclarative-5.9.1/include/qt5/". The reason for this is: Qt5::Qml is not defined as a dependency for testScriptedEffectLoader` in autotests/CMakeLists.txt.

Analogous for testTabBoxClientModel and testTabBoxHandler.

Diff Detail

Repository
R108 KWin
Lint
Lint Skipped
Unit
Unit Tests Skipped
hgoebel created this revision.Oct 2 2017, 2:00 PM
Restricted Application added a project: KWin. · View Herald TranscriptOct 2 2017, 2:00 PM
Restricted Application added subscribers: KWin, kwin. · View Herald Transcript
graesslin accepted this revision.Oct 3 2017, 4:58 PM
graesslin added a subscriber: graesslin.

I assume you don't have commit rights?

This revision is now accepted and ready to land.Oct 3 2017, 4:58 PM

I assume you don't have commit rights?

Correct.

This revision was automatically updated to reflect the committed changes.