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

build: Fix Qt library install for Windows #1870

Merged
merged 21 commits into from
Apr 23, 2024
Merged

build: Fix Qt library install for Windows #1870

merged 21 commits into from
Apr 23, 2024

Conversation

rprospero
Copy link
Contributor

This uses some Qt magic in cmake to create the deployment script for us.

@rprospero
Copy link
Contributor Author

I can confirm that this correctly loaded the dialogs under Windows on my laptop. The one concerning oddity is that it did not work when launched from the installer, but running it subsequently from the Start Menu was effective.

My three hypotheses are:

  1. It may need to process the QML on its first load, but then works fine afterwards.
  2. The installer invokes the program in an odd way that doesn't get access to the QML folders.
  3. My Windows laptop is just being weird again.

@rprospero rprospero marked this pull request as ready for review April 22, 2024 09:37
@rprospero rprospero requested a review from trisyoungs April 22, 2024 09:37
Copy link
Member

@trisyoungs trisyoungs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I cannot try the installer because, you know, Sophos, but on my local Windows machine the zip file is missing the qml, platforms, iconengines, and imageformats directories. Looking at the CI the relevant files are there when the installer gets unpacked, but the subsequent directory move and zip misses the subdirs...

@rprospero
Copy link
Contributor Author

@trisyoungs It now requires the full installer to get things in place, so you'll want to use the installer package and not just the archive.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rprospero Just to clarify, the zipped contents derived from the Inno installer should work just the same, but not require installation (and its the only way I can deploy on my own, and other PCs around ISIS! The problem is that the new install methodology puts the deployed libs in a slightly different structure than before. Previously the zip file assumed that the important bits were all in app/bin but this is no longer the case. On lines 69/70 you can see:

      mv ${exeBase}/app/bin/* $exeBase
      mv ${exeBase}/app ./

I think this can just be replaced with:

      mv ${exeBase}/app/* $exeBase
      rm -r ${exeBase}/app

That should yield a "full" zip.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@trisyoungs Good call on the suggestions. It now runs straight from the zip archive on my machine. Also cleared up whatever I had going on with the first run through the installer.

@rprospero rprospero requested a review from trisyoungs April 22, 2024 14:03
Copy link
Member

@trisyoungs trisyoungs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zipped distro also now complete and working as expected.
👍

@rprospero rprospero changed the title build: Try qt_generate_deploy_app_script for Windows build: Fix Qt library install for Windows Apr 23, 2024
@rprospero rprospero merged commit 1778b2b into develop Apr 23, 2024
9 checks passed
@rprospero rprospero deleted the windeployqt branch April 23, 2024 08:34
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.

2 participants