Skip to content

[qt5] reactivate qt5-activeqt for CI coverage#11045

Merged
ras0219-msft merged 1 commit intomicrosoft:masterfrom
Neumann-A:reactive_qt_activeqt
Apr 30, 2020
Merged

[qt5] reactivate qt5-activeqt for CI coverage#11045
ras0219-msft merged 1 commit intomicrosoft:masterfrom
Neumann-A:reactive_qt_activeqt

Conversation

@Neumann-A
Copy link
Contributor

This is required so that qt5-tools is not skipped in CI which affects CI coverage.
In general Qt5 ports should not be build apart from each other but as complete package!
Or VCPKG should accept installing duplicated *.dll in every folder except for /bin or debug/bin. The alternative would be to accept executables in bin which would make duplicating any dlls unnecessary

The layout of the Qt5 ports in tools/bin is required in this way since external tools lik the QtVsTools expect every tool in one and the same bin folder.

…5-declarative

This is required so that qt5-tools is not skipped in CI which affects CI coverage.
In general Qt5 ports should not be build apart from each other but as complete package!
Or VCPKG should accept installing duplicated *.dll in every folder excebt for /bin or debug/bin
@ras0219-msft
Copy link
Contributor

Would an alternative solution be to have qt5-basketweaving install all of

bin/Qt5Basketweaving.dll
tools/bin/qt5/Qt5Basketweaving.dll
tools/bin/qt5/Qt5Basketweaver.exe

But not

tools/bin/qt5/Qt5Core.dll

which is expected to be provided by qt5-core?

I understand this prevents the use of vcpkg_copy_tool_dependencies(); but this does preserve unique file ownership. It would also place all of the Qt5 tools in the same directory (tools/bin/qt5/) for use with QtVsTools.

@Neumann-A
Copy link
Contributor Author

I understand this prevents the use of vcpkg_copy_tool_dependencies(); but this does preserve unique file ownership.

This probably means that every Qt port would install its DLL twice. once in bin or plugins and once in tools/qt5/bin or tools/qt5/bin/plugins unless I get a list of all installed DLL's into tools/qt5/bin if all qt5 ports are installed.

@ras0219-msft
Copy link
Contributor

Yeah, the idea is that all Qt5 dlls would be in tools/qt5/bin once all qt5 ports are installed.

However, there is one annoying issue with diamonds (not sure if this is actually a problem). If Qt5Databases uses libpq and Qt5Banking also uses libpq, it's not clear who should own tools/qt5/bin/libpq.dll. If that doesn't happen, great, but if it does, we'd need to add a stub helper port (qt5-libpq-dependency) to own that particular file which is depended upon by both.

@ras0219-msft ras0219-msft merged commit 2e33b93 into microsoft:master Apr 30, 2020
@ras0219-msft
Copy link
Contributor

The "hack" LGTM though, it's a good compromise for now!

@Neumann-A Neumann-A deleted the reactive_qt_activeqt branch April 30, 2020 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants