Create XML_PARSER CMAKE switch for selecting parser PAL implementation.
Create USING_XERCES #define for use in ResultOf ABI boundary.
Make inclusion of Xerces-C project dependent on XML_PARSER setting.
This change contains the renaming from xPlatAppx to MSIX Packaging SDK
Binaries
- xPlatAppx.dll -> msix.dll
- MakexPlatAppx.exe -> makemsix.exe
Export rename
- UnpackAppx ->UnpackPackage
Related work items: #15704951
Basically, we needed to implement Zip64 support as HelloWorld.appx (SDX) was, under the covers built with a Zip64-based OPC container. None of our prior collateral was built as such. Also, we didn't have the ability for a client to override unpacking an unsigned appx package (which was blocking end-to-end validation of HelloWorld.appx as it was not signed).
Related work items: #14681942
Verified that it builds and releases successfully and downloaded the package and installed it on a dummy project in VS.
Added Microsoft.xPlat.AppxPackaging.targets which allows everyone that installs the package to already have our headers in their include path.
Move stuff around in our CMakeLists.txt so we can complete the NUSPEC on clean runs without depending on an specific target.
Structure of the nuget package
- build
-- native
---MACOS
---WIN32
---Microsoft.xPlat.AppxPackaging.targets
A bug on the CMakeLists.txt file that zlib provides makes zlib fail to compile when is used via add_subdirectory() by another project. For some reason, this issue only happens for Linux.
There's an already existing open PR since Feb 2017 with the fix (https://github.com/madler/zlib/pull/219). This PR changes the zlib submodule to point to that commit.
This change replaces the series of VS build solutions and one-off Xcode workspace/projects that had to constantly be kept in sync with each other with a single CMake-based build system. This new system has a single build authoring mechanism (CMakeLists.txt) that describes each logical sub-project of the entire project. Builds in VS2017, Xcode, VS NMake, and unix make have been confirmed as working. Automated continuous integration of this new build system is now turned-on, meaning that once this change goes live, you'll need to update your client view of the project. At a minimum, you'll need to run: git submodule update && git submodule init once this change is pulled into your branch. For those not entirely familiar with CMake, you can use https://cmake.org/Wiki/CMake as a good starting point for how to get up and running.
Related work items: #13953155, #13953165