ECM Behaviour: Setting QT_PLUGIN_PATH on Windows

Ben Cooksley bcooksley at kde.org
Tue Aug 28 11:35:40 BST 2018


Hi all,

We currently have a severe bug in ECM's AddTest macro due to it's
behaviour around the setting of QT_PLUGIN_PATH. On Windows it would
appear that the code in ECMAddTest mangles the environment variable,
removing crucial paths that the CI system includes within this
variable which are needed for applications and tests to function.

As a consequence of this, several projects tests are broken, and some
of these only fail by timeout. This has the effect of blocking Windows
CI builders for several hours in some instances simply due to tests
that are hanging and timing out as a result of being unable to load
plugins.

Can we please either short circuit this logic (and not try to set
QT_PLUGIN_PATH on Windows) or figure out the correct logic to be used
in this instance?

My suspicion is that CMake treats ';' specially, which means that when
the macro re-includes the existing content of the variable it gets
mangled by CMake, resulting in the entire content of that variable
being rendered unreadable.

Alternatively, CMAKE_LIBRARY_OUTPUT_DIRECTORY could have a trailing
backslash, which has certainly caused issues elsewhere.

Thanks,
Ben


More information about the Kde-buildsystem mailing list