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

Add support for Windows Store packaging #12

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Conversation

vicr123
Copy link
Member

@vicr123 vicr123 commented Jul 25, 2023

This PR adds support for automatically building an MSIX package which can be submitted to the Windows Store for distribution.

Copy link
Member

@reflectronic reflectronic left a comment

Choose a reason for hiding this comment

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

Is there an example of how this gets used on the app side?

pngIcon.setOverlayIcon(overlayIcon);
pngIcon.setOverlayIconMac(overlayIconMac);

QSize size(256, 256);
Copy link
Member

Choose a reason for hiding this comment

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

We should generate all the right sizes and assets according to https://learn.microsoft.com/en-us/windows/apps/design/style/iconography/app-icon-construction. We also need to make sure that the sizing is correct


QProcess makeappxProcess;
makeappxProcess.setProcessChannelMode(QProcess::ForwardedChannels);
makeappxProcess.start("makeappx", {"pack", "/d", deployFolder.destinationDir().absolutePath(), "/p", parser.value("appx-output")});
Copy link
Member

Choose a reason for hiding this comment

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

We need to be able to make multi-architecture bundles too. Bonus if we can split the architecture-neutral files out as well

Copy link
Member Author

Choose a reason for hiding this comment

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

I think we'll need to have some discussions about the multi-architecture bundles once support for cross compiling arm is complete

Comment on lines 22 to 25
set(APPX_EXECUTABLE_NAME ${APPX_EXECUTABLE_NAME}.exe)
set(APPX_ARCH x64) # TODO: Update
set(APPX_VERSION ${REPOVERSION_MAJOR}.${REPOVERSION_MINOR}.${REPOVERSION_REVISION}.0)
set(APPX_SDK_VERSION ${APPX_SDK_VERSION_MAJOR}.${APPX_SDK_VERSION_MINOR}.${APPX_SDK_VERSION_REVISION}.${APPX_SDK_VERSION_BUILD})
Copy link
Member

Choose a reason for hiding this comment

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

What does setting these properties do?

Copy link
Member Author

Choose a reason for hiding this comment

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

Allows you to substitute values in the appxmanifest.xml file

@vicr123
Copy link
Member Author

vicr123 commented Jul 28, 2023

Check out the same branch in theBeat for an example of an implementation

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.

None yet

2 participants