Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from
Apr 30, 2020

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!

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