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

CI doesn't fail when QML GUI is not loadable #12266

Open
JoergAtGithub opened this issue Nov 5, 2023 · 16 comments
Open

CI doesn't fail when QML GUI is not loadable #12266

JoergAtGithub opened this issue Nov 5, 2023 · 16 comments

Comments

@JoergAtGithub
Copy link
Member

Bug Description

Currently the QML user interface is not loadable on Windows (and most likely on macOS too), but our CI builds doesn't detect this.

Version

Main

OS

Windows 11

@daschuer daschuer added this to the 2.5.0 milestone Jan 8, 2024
@daschuer daschuer modified the milestones: 2.5-beta, 2.5.0 May 15, 2024
@daschuer
Copy link
Member

daschuer commented Dec 2, 2024

QML work is continued in 2.6

@acolombier
Copy link
Member

Note to anyone willing to fix QML on Windows (and Mac?) - In order to make it run in #14360, I had to use windeployqt6.exe to add missing Qt components to the working directory (where mixxx.exe will be ran) as following

&"${env:MIXXX_VCPKG_ROOT}\installed\x64-windows-release\tools\Qt6\bin\windeployqt6.exe" ./mixxx.exe --dir . --libdir bin --plugindir plugins --qml-deploy-dir qml --qmldir ../res/qml/

@JoergAtGithub
Copy link
Member Author

JoergAtGithub commented Feb 17, 2025

I just tried mixxx.exe --qml with latest main and the QML GUI came up. Everything is in our CMakeLists.txt, no call of additional tools like windeployqt6.exe is needed.

@acolombier
Copy link
Member

Weird, it doesn't work out of the box for me on my Win 11 VM. Are you using Ninja as generator on CMake?

@JoergAtGithub
Copy link
Member Author

Yes I use Ninja, everything is default, no settings modified. Runs from both, build and install directory.

@acolombier
Copy link
Member

Right, I think that's my problem - I'm using Visual Studio generator

@JoergAtGithub
Copy link
Member Author

Just run windows_buildenv.bat, it should set everything as needed.

@acolombier
Copy link
Member

Yeah that's what I do but it doesn't work and always needed a lot of tinkering. It also seems to default the Visual Studio generator

@JoergAtGithub
Copy link
Member Author

Do you build with IDE or from command line?

@acolombier
Copy link
Member

acolombier commented Feb 17, 2025

Command line - Just retried on a fresh machine - It compiles with Visual Studio 16 2019 generator by default, which stores the target in subfolder named after the build type (RelWithDebInfo, Debug, ...) which I think was always the reason for these problem I was having on windows.

ninja is installed an visible in PATH so not sure why it default to VS

@JoergAtGithub
Copy link
Member Author

Do you use the correct shell x64 Native Tools Command Prompt for VS 2019 as described in the Readme.md ?

@acolombier
Copy link
Member

I use the PowerShell version. Could that be the problem? I thought there would be interchangeable?

@JoergAtGithub
Copy link
Member Author

No, only this particular shell works (or the equivalent with suffix 2022 if you use VS 2022).

@acolombier
Copy link
Member

acolombier commented Feb 17, 2025

Ah sorry, I gave too much expectation in Microsoft again... Let me try with this

Funnily enough, we use power shell on our CI Actually no, the buildenv is installed via cmd

@JoergAtGithub
Copy link
Member Author

It has nothing to do with cmd.exe vs. PowerShell. It's about the development toolchain you want to use. You can install many parallel versions of VS on your system and all the pathes and settings depend only on the shell you use. On CI we have an extra step to configure the plain PowerShell called "[Windows] Set up MSVC Developer Command Prompt".

@acolombier
Copy link
Member

Good to know

You can install many parallel versions of VS on your system and all the pathes and settings depend only on the shell you use

Yeah that makes sense, I just wrongly assumed that both shell (CMD and PS) available when you typed VS 19 x64 were equivalent

On CI we have an extra step to configure the plain PowerShell called "[Windows] Set up MSVC Developer Command Prompt".

Right, now I get the full picture. Mind blowing you would need to run some beefy Javscript to get your shell to work, but I guess I haven't used Windows for a while so I forgot all about its simplicity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants