Functions to simplify the creation of MSIX packages for distributing Windows applications.
Locates the MakeAppx.exe
tool from the Windows SDK, required for building MSIX packages.
find_make_appx(<result>)
An output variable where the path to the MakeAppx.exe
executable will be stored.
Generates the core AppxManifest.xml
file, which defines essential metadata for the MSIX package.
add_appx_manifest(
<target>
[DESTINATION <path>]
NAME <string>
VERSION <string>
PUBLISHER <string>
[DISPLAY_NAME <string>]
PUBLISHER_DISPLAY_NAME <string>
DESCRIPTION <string>
[UNVIRTUALIZED_PATHS <path...>]
)
The name of the CMake target to create.
The output file path for the AppxManifest.xml
. Defaults to "AppxManifest.xml"
in the build directory.
The name of the application.
The semantic version of the application.
The publisher of the application.
The name displayed to users. Defaults to "${NAME}"
.
The publisher's display name.
A description of the application.
A list of paths that should remain unvirtualized within the MSIX package.
Creates a Mapping.txt
file that specifies the file structure within the MSIX package.
add_appx_mapping(
<target>
[DESTINATION <path>]
[ICON <path>]
[TARGET <target>]
[EXECUTABLE <path>]
[RESOURCES [FILE|DIR <from> <to>]...]
)
The name of the CMake target to create.
The output file path for the Mapping.txt
. Defaults to "Mapping.txt"
in the build directory.
Path to the application icon.
An existing CMake target representing the core executable of your application.
Direct path to the application executable. Use if not providing TARGET
.
A list of additional files or directories to include.
Copies a file from <from>
to <to>
within the MSIX package.
Copies an entire directory from <from>
to <to>
within the MSIX package.
The central function to generate the final MSIX package.
add_msix_package(
<target>
DESTINATION <path>
[MANIFEST <path>]
[MAPPING <path>]
[DEPENDS <target...>]
)
The name of the CMake target to create.
The output path and filename for the MSIX package.
Path to the AppxManifest.xml
file. Defaults to "AppxManifest.xml"
in the build directory.
Path to the Mapping.txt file. Defaults to "Mapping.txt"
in the build directory.
A list of CMake targets on which the package build depends.
Apache-2.0