Skip to content

Provide a release package for non-nuget compatible builds #1463

@MarkIngramUK

Description

@MarkIngramUK

Proposal: Provide a release package for non-nuget compatible builds

Summary

Our applications are cross-platform C++, and as such we use CMake for our projects. CMake doesn't support nuget, so in order to use WindowsAppSDK, we need to manually download the Microsoft.WindowsAppSDK.x.x.x-yyy.nupkg and extract the contents.
There's no documentation as to what files are required for native C++ builds, so I've been digging around the package looking for relevant headers, libs, dlls, and winmd (as we have a CMake build step that uses cppwinrt to generate headers). This was OK with 1.0 experimental1, but with 1.0 preview1 there are additional directory structures which aren't obvious whether they're required or not. e.g. /include/FrameworkUdk, or in the case of lib/native/windows/<arch>/release and lib/native/include doesn't seem to fit with the existing structure.

I propose a C++ compatible zip release with the following directory structure:

Directory Purpose
/bin/[arch] DLLs
/include Header files
/lib/[arch] DLL import libraries, or static libraries
/winmd Windows metadata and XML files (if required?)

Where [arch] is arm64, x64, or x86.

Rationale

  • To make it easier / supported / official for C++ cross platform developers to use WindowsAppSDK

Scope

Capability Priority
This proposal will allow developers to download a zip file of the release with a predictable directory structure Must
This proposal will allow developers to continue using Nuget package releases Must

Important Notes

Open Questions

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions