-
Notifications
You must be signed in to change notification settings - Fork 421
Description
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 |