From 49ddc2bccf878ab1e1f8274bd5256f447da38eb6 Mon Sep 17 00:00:00 2001 From: Ahmed Walid <34550324+ahmed605@users.noreply.github.com> Date: Sat, 1 Aug 2026 17:41:56 +0000 Subject: [PATCH 1/6] Revert "GitHub Actions workflow cannot build arm32 after updating Windows SDK (#1454)" This reverts commit 2aed347fb7b54f1f01e9db53339ad9d2b4305ab9. --- .pipelines/OneBranch.Official.yml | 7 + .pipelines/build.yml | 18 +- .pipelines/jobs/OneBranchBuild.yml | 2 + .pipelines/jobs/OneBranchNuGet.yml | 8 +- .pipelines/jobs/OneBranchVsix.yml | 6 + Directory.Build.Props | 2 +- README.md | 2 +- build_nuget.cmd | 3 +- build_prior_projection.cmd | 1 + build_projection.cmd | 1 + build_test_all.cmd | 2 + build_vsix.cmd | 3 +- cppwinrt.sln | 86 +++++++++ cppwinrt/cppwinrt.vcxproj | 63 +++++++ fast_fwd/arm/thunks.asm | 58 +++++++ fast_fwd/fast_fwd.vcxproj | 16 +- nuget/Microsoft.Windows.CppWinRT.nuspec | 1 + prebuild/prebuild.vcxproj | 47 +++++ prepare_versionless_diffs.cmd | 1 + scratch/scratch.vcxproj | 8 + strings/base_activation.h | 8 +- .../ConsoleApplication1.vcxproj | 8 - test/nuget/Directory.Build.props | 2 +- test/nuget/NuGetTest.sln | 156 ++++++++++------- test/nuget/TestApp/TestApp.vcxproj | 8 +- .../TestRuntimeComponent1.vcxproj | 8 +- .../TestRuntimeComponent2.vcxproj | 8 +- .../TestRuntimeComponent3.vcxproj | 8 +- .../TestRuntimeComponentCSharp.csproj | 18 ++ .../TestRuntimeComponentCX.vcxproj | 54 ++++++ ...entCXReferencingWinRTStaticLibrary.vcxproj | 61 +++++++ .../TestRuntimeComponentEmpty.vcxproj | 8 +- ...untimeComponentNamespaceUnderscore.vcxproj | 8 +- .../TestStaticLibrary1.vcxproj | 20 +-- .../TestStaticLibrary2.vcxproj | 20 +-- .../TestStaticLibrary3.vcxproj | 20 +-- .../TestStaticLibrary4.vcxproj | 24 +-- .../TestStaticLibrary5.vcxproj | 24 +-- .../TestStaticLibrary6.vcxproj | 24 +-- .../TestStaticLibrary7.vcxproj | 8 +- test/old_tests/Component/Component.vcxproj | 120 +++++++++++++ test/old_tests/Composable/Composable.vcxproj | 118 +++++++++++++ test/old_tests/UnitTests/Tests.vcxproj | 63 +++++++ test/test/test.vcxproj | 77 +++++++++ test/test_component/test_component.vcxproj | 135 +++++++++++++++ .../test_component_base.vcxproj | 161 +++++++++++++++++ .../test_component_derived.vcxproj | 163 ++++++++++++++++++ .../test_component_fast.vcxproj | 163 ++++++++++++++++++ .../test_component_folders.vcxproj | 161 +++++++++++++++++ .../test_component_no_pch.vcxproj | 163 ++++++++++++++++++ test/test_cpp20/test_cpp20.vcxproj | 65 +++++++ .../test_cpp20_no_sourcelocation.vcxproj | 65 +++++++ test/test_fast/test_fast.vcxproj | 65 +++++++ test/test_fast_fwd/test_fast_fwd.vcxproj | 66 +++++++ .../test_module_lock_custom.vcxproj | 65 +++++++ .../test_module_lock_none.vcxproj | 65 +++++++ test/test_slow/test_slow.vcxproj | 63 +++++++ .../BlankApp/BlankApp.vcxproj | 8 + .../Windows Universal/CoreApp/CoreApp.vcxproj | 8 + .../StaticLibrary/StaticLibrary.vcxproj | 8 + .../WindowsRuntimeComponent.vcxproj | 8 + 61 files changed, 2468 insertions(+), 172 deletions(-) create mode 100644 fast_fwd/arm/thunks.asm diff --git a/.pipelines/OneBranch.Official.yml b/.pipelines/OneBranch.Official.yml index 158d3bf4e..8f0ba105e 100644 --- a/.pipelines/OneBranch.Official.yml +++ b/.pipelines/OneBranch.Official.yml @@ -97,6 +97,12 @@ extends: artifactName: 'drop_build_x64' targetPath: '$(Build.SourcesDirectory)/x64' + - task: DownloadPipelineArtifact@2 + displayName: 'Download arm artifacts' + inputs: + artifactName: 'drop_build_arm' + targetPath: '$(Build.SourcesDirectory)/arm' + - task: DownloadPipelineArtifact@2 displayName: 'Download arm64 artifacts' inputs: @@ -127,6 +133,7 @@ extends: echo d | xcopy $(Build.SourcesDirectory)\x86\cppwinrt_fast_forwarder.lib build\native\lib\Win32 echo d | xcopy $(Build.SourcesDirectory)\x64\cppwinrt_fast_forwarder.lib build\native\lib\amd64 echo d | xcopy $(Build.SourcesDirectory)\x64\cppwinrt_fast_forwarder.lib build\native\lib\x64 + echo d | xcopy $(Build.SourcesDirectory)\arm\cppwinrt_fast_forwarder.lib build\native\lib\arm echo d | xcopy $(Build.SourcesDirectory)\arm64\cppwinrt_fast_forwarder.lib build\native\lib\arm64 - stage: NuGet diff --git a/.pipelines/build.yml b/.pipelines/build.yml index ebe8ad041..b46e36eb9 100644 --- a/.pipelines/build.yml +++ b/.pipelines/build.yml @@ -31,6 +31,8 @@ jobs: buildPlatform: 'x86' x64: buildPlatform: 'x64' + arm: + buildPlatform: 'arm' arm64: buildPlatform: 'arm64' @@ -167,6 +169,12 @@ jobs: artifactName: $(BuildConfiguration)_x64 downloadPath: $(Build.SourcesDirectory)\x64 + - task: DownloadPipelineArtifact@1 + displayName: Download arm Artifacts + inputs: + artifactName: $(BuildConfiguration)_arm + downloadPath: $(Build.SourcesDirectory)\arm + - task: DownloadPipelineArtifact@1 displayName: Download arm64 Artifacts inputs: @@ -254,7 +262,7 @@ jobs: - task: CmdLine@2 displayName: Stage MSBuild vpack inputs: - script: "set TargetDir=$(Build.SourcesDirectory)\\msbuild\nrd /s /q %TargetDir% >nul 2>&1\nmd %TargetDir%\ncd %TargetDir%\n\ncopy $(Build.SourcesDirectory)\\vsix\\Microsoft.Cpp.CppWinRT.props\ncopy $(Build.SourcesDirectory)\\nuget\\Microsoft.Windows.CppWinRT.props Microsoft.Cpp.CppWinRTEnabled.props \ncopy $(Build.SourcesDirectory)\\nuget\\Microsoft.Windows.CppWinRT.targets Microsoft.Cpp.CppWinRTEnabled.targets\ncopy $(Build.SourcesDirectory)\\nuget\\CppWinrtRules.Project.xml CppWinrtRules.Project.xml\necho d | xcopy $(Build.SourcesDirectory)\\x86\\cppwinrt_fast_forwarder.lib build\\native\\lib\\i386\necho d | xcopy $(Build.SourcesDirectory)\\x86\\cppwinrt_fast_forwarder.lib build\\native\\lib\\Win32\necho d | xcopy $(Build.SourcesDirectory)\\x64\\cppwinrt_fast_forwarder.lib build\\native\\lib\\amd64\necho d | xcopy $(Build.SourcesDirectory)\\x64\\cppwinrt_fast_forwarder.lib build\\native\\lib\\x64\necho d | xcopy $(Build.SourcesDirectory)\\arm64\\cppwinrt_fast_forwarder.lib build\\native\\lib\\arm64\n" + script: "set TargetDir=$(Build.SourcesDirectory)\\msbuild\nrd /s /q %TargetDir% >nul 2>&1\nmd %TargetDir%\ncd %TargetDir%\n\ncopy $(Build.SourcesDirectory)\\vsix\\Microsoft.Cpp.CppWinRT.props\ncopy $(Build.SourcesDirectory)\\nuget\\Microsoft.Windows.CppWinRT.props Microsoft.Cpp.CppWinRTEnabled.props \ncopy $(Build.SourcesDirectory)\\nuget\\Microsoft.Windows.CppWinRT.targets Microsoft.Cpp.CppWinRTEnabled.targets\ncopy $(Build.SourcesDirectory)\\nuget\\CppWinrtRules.Project.xml CppWinrtRules.Project.xml\necho d | xcopy $(Build.SourcesDirectory)\\x86\\cppwinrt_fast_forwarder.lib build\\native\\lib\\i386\necho d | xcopy $(Build.SourcesDirectory)\\x86\\cppwinrt_fast_forwarder.lib build\\native\\lib\\Win32\necho d | xcopy $(Build.SourcesDirectory)\\x64\\cppwinrt_fast_forwarder.lib build\\native\\lib\\amd64\necho d | xcopy $(Build.SourcesDirectory)\\x64\\cppwinrt_fast_forwarder.lib build\\native\\lib\\x64\necho d | xcopy $(Build.SourcesDirectory)\\arm\\cppwinrt_fast_forwarder.lib build\\native\\lib\\arm\necho d | xcopy $(Build.SourcesDirectory)\\arm64\\cppwinrt_fast_forwarder.lib build\\native\\lib\\arm64\n" failOnStderr: true - task: PkgESVPack@12 @@ -335,6 +343,12 @@ jobs: artifactName: $(BuildConfiguration)_x64 downloadPath: $(Build.SourcesDirectory)\x64 + - task: DownloadPipelineArtifact@1 + displayName: Download arm Artifacts + inputs: + artifactName: $(BuildConfiguration)_arm + downloadPath: $(Build.SourcesDirectory)\arm + - task: DownloadPipelineArtifact@1 displayName: Download arm64 Artifacts inputs: @@ -416,7 +430,7 @@ jobs: command: pack searchPatternPack: nuget/Microsoft.Windows.CppWinRT.nuspec versioningScheme: byBuildNumber - buildProperties: 'target_version=$(Build.BuildNumber);cppwinrt_exe=$(Build.ArtifactStagingDirectory)\x86\cppwinrt.exe;cppwinrt_fast_fwd_x86=$(Build.SourcesDirectory)\x86\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=$(Build.SourcesDirectory)\x64\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=$(Build.SourcesDirectory)\arm64\cppwinrt_fast_forwarder.lib ' + buildProperties: 'target_version=$(Build.BuildNumber);cppwinrt_exe=$(Build.ArtifactStagingDirectory)\x86\cppwinrt.exe;cppwinrt_fast_fwd_x86=$(Build.SourcesDirectory)\x86\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=$(Build.SourcesDirectory)\x64\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm=$(Build.SourcesDirectory)\arm\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=$(Build.SourcesDirectory)\arm64\cppwinrt_fast_forwarder.lib ' - task: ComponentGovernanceComponentDetection@0 displayName: Component Detection diff --git a/.pipelines/jobs/OneBranchBuild.yml b/.pipelines/jobs/OneBranchBuild.yml index dfee85edf..00dbfe93a 100644 --- a/.pipelines/jobs/OneBranchBuild.yml +++ b/.pipelines/jobs/OneBranchBuild.yml @@ -20,6 +20,8 @@ jobs: BuildPlatform: 'x86' x64: BuildPlatform: 'x64' + arm: + BuildPlatform: 'arm' arm64: BuildPlatform: 'arm64' diff --git a/.pipelines/jobs/OneBranchNuGet.yml b/.pipelines/jobs/OneBranchNuGet.yml index 36ec3144b..71468699d 100644 --- a/.pipelines/jobs/OneBranchNuGet.yml +++ b/.pipelines/jobs/OneBranchNuGet.yml @@ -47,6 +47,12 @@ jobs: artifactName: 'drop_build_x64' targetPath: '$(Build.SourcesDirectory)/x64' + - task: DownloadPipelineArtifact@1 + displayName: 'Download arm artifacts' + inputs: + artifactName: 'drop_build_arm' + targetPath: '$(Build.SourcesDirectory)/arm' + - task: DownloadPipelineArtifact@1 displayName: 'Download arm64 artifacts' inputs: @@ -57,7 +63,7 @@ jobs: displayName: 'Build NuGet package' inputs: command: 'custom' - arguments: 'pack nuget/Microsoft.Windows.CppWinRT.nuspec -NonInteractive -OutputDirectory $(ob_outputDirectory)\packages -Properties Configuration=release;cppwinrt_exe=$(Build.SourcesDirectory)\x86\cppwinrt\cppwinrt.exe;cppwinrt_fast_fwd_x86=$(Build.SourcesDirectory)\x86\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=$(Build.SourcesDirectory)\x64\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=$(Build.SourcesDirectory)\arm64\cppwinrt_fast_forwarder.lib;target_version=$(PackageVersion) -Version $(PackageVersion) -Verbosity Detailed' + arguments: 'pack nuget/Microsoft.Windows.CppWinRT.nuspec -NonInteractive -OutputDirectory $(ob_outputDirectory)\packages -Properties Configuration=release;cppwinrt_exe=$(Build.SourcesDirectory)\x86\cppwinrt\cppwinrt.exe;cppwinrt_fast_fwd_x86=$(Build.SourcesDirectory)\x86\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=$(Build.SourcesDirectory)\x64\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm=$(Build.SourcesDirectory)\arm\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=$(Build.SourcesDirectory)\arm64\cppwinrt_fast_forwarder.lib;target_version=$(PackageVersion) -Version $(PackageVersion) -Verbosity Detailed' - task: onebranch.pipeline.signing@1 displayName: '🔒 Onebranch Signing for NuGet package' diff --git a/.pipelines/jobs/OneBranchVsix.yml b/.pipelines/jobs/OneBranchVsix.yml index 696b7e292..85138db65 100644 --- a/.pipelines/jobs/OneBranchVsix.yml +++ b/.pipelines/jobs/OneBranchVsix.yml @@ -77,6 +77,12 @@ jobs: artifactName: 'drop_build_x64' targetPath: '$(Build.SourcesDirectory)\x64' + - task: DownloadPipelineArtifact@2 + displayName: 'Download arm binaries' + inputs: + artifactName: 'drop_build_arm' + targetPath: '$(Build.SourcesDirectory)\arm' + - task: DownloadPipelineArtifact@2 displayName: 'Download arm64 binaries' inputs: diff --git a/Directory.Build.Props b/Directory.Build.Props index 5972803c0..2f1cfb6c5 100644 --- a/Directory.Build.Props +++ b/Directory.Build.Props @@ -46,7 +46,7 @@ $(SolutionDir)_build\$(CppWinRTPlatform)\$(Configuration)\ $(SolutionDir)_build\$(CppWinRTPlatform)\$(Configuration)\temp\$(MSBuildProjectName)\ $(OutDir) - $(SolutionDir)_build\x86\$(Configuration)\ + $(SolutionDir)_build\x86\$(Configuration)\ diff --git a/README.md b/README.md index 19e1493dc..d10bcbe57 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you really want to build it yourself, the simplest way to do so is to run the * Open the `cppwinrt.sln` solution. * Choose a configuration (x64, x86, Release, Debug) and build projects as needed. -If you are working on an ARM64 specific issue from an x64 or x86 host, you will need to instead: +If you are working on an ARM64 or ARM specific issue from an x64 or x86 host, you will need to instead: * Open the `cppwinrt.sln` solution * Build the x86 version of the "cppwinrt" project first diff --git a/build_nuget.cmd b/build_nuget.cmd index 99e193311..1eb21d55e 100644 --- a/build_nuget.cmd +++ b/build_nuget.cmd @@ -5,8 +5,9 @@ if "%target_version%"=="" set target_version=999.999.999.999 call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd call msbuild /m /p:Configuration=Release,Platform=x64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd +call msbuild /m /p:Configuration=Release,Platform=arm,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd call msbuild /m /p:Configuration=Release,Platform=arm64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:cppwinrt -nuget pack nuget\Microsoft.Windows.CppWinRT.nuspec -Properties target_version=%target_version%;cppwinrt_exe=%cd%\_build\x86\Release\cppwinrt.exe;cppwinrt_fast_fwd_x86=%cd%\_build\x86\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=%cd%\_build\x64\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=%cd%\_build\arm64\Release\cppwinrt_fast_forwarder.lib +nuget pack nuget\Microsoft.Windows.CppWinRT.nuspec -Properties target_version=%target_version%;cppwinrt_exe=%cd%\_build\x86\Release\cppwinrt.exe;cppwinrt_fast_fwd_x86=%cd%\_build\x86\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=%cd%\_build\x64\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm=%cd%\_build\arm\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=%cd%\_build\arm64\Release\cppwinrt_fast_forwarder.lib diff --git a/build_prior_projection.cmd b/build_prior_projection.cmd index 9d10f3eaa..c7bdf2f64 100644 --- a/build_prior_projection.cmd +++ b/build_prior_projection.cmd @@ -12,6 +12,7 @@ if /I "%target_platform%" equ "all" ( ) call %0 x86 !target_configuration! call %0 x64 !target_configuration! + call %0 arm !target_configuration! call %0 arm64 !target_configuration! goto :eof ) diff --git a/build_projection.cmd b/build_projection.cmd index 140e6c7f8..778fa7aca 100644 --- a/build_projection.cmd +++ b/build_projection.cmd @@ -12,6 +12,7 @@ if /I "%target_platform%" equ "all" ( ) call %0 x86 !target_configuration! call %0 x64 !target_configuration! + call %0 arm !target_configuration! call %0 arm64 !target_configuration! goto :eof ) diff --git a/build_test_all.cmd b/build_test_all.cmd index c9beb852c..51fe37aa0 100644 --- a/build_test_all.cmd +++ b/build_test_all.cmd @@ -18,6 +18,8 @@ call .nuget\nuget.exe restore test\nuget\NugetTest.sln call msbuild /m /p:Configuration=%target_configuration%,Platform=%target_platform%,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd +if "%target_platform%"=="arm" goto :eof + call msbuild /p:Configuration=%target_configuration%,Platform=%target_platform%,Deployment=Component;CppWinRTBuildVersion=%target_version% natvis\cppwinrtvisualizer.sln call msbuild /p:Configuration=%target_configuration%,Platform=%target_platform%,Deployment=Standalone;CppWinRTBuildVersion=%target_version% natvis\cppwinrtvisualizer.sln diff --git a/build_vsix.cmd b/build_vsix.cmd index 0a47f6bd6..8864c7a82 100644 --- a/build_vsix.cmd +++ b/build_vsix.cmd @@ -19,6 +19,7 @@ call .nuget\nuget.exe restore test\nuget\NugetTest.sln rem Build fast forwarder libs or all arches call msbuild /m /p:Configuration=%target_configuration%,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd call msbuild /m /p:Configuration=%target_configuration%,Platform=x64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd +call msbuild /m /p:Configuration=%target_configuration%,Platform=arm,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd call msbuild /m /p:Configuration=%target_configuration%,Platform=arm64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd rem Build cppwinrt.exe for x86 only @@ -30,7 +31,7 @@ call msbuild /p:Configuration=%target_configuration%,Platform=x86,Deployment=%ta call msbuild /p:Configuration=%target_configuration%,Platform=arm64,Deployment=%target_deployment%,CppWinRTBuildVersion=%target_version% natvis\cppwinrtvisualizer.sln rem Build nuget -.nuget\nuget.exe pack nuget\Microsoft.Windows.CppWinRT.nuspec -NonInteractive -OutputDirectory %this_dir%_build -Properties Configuration=%target_configuration%;cppwinrt_exe=%this_dir%_build\x86\%target_configuration%\cppwinrt.exe;cppwinrt_fast_fwd_x86=%this_dir%_build\x86\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=%this_dir%_build\x64\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=%this_dir%_build\arm64\%target_configuration%\cppwinrt_fast_forwarder.lib;target_version=%target_version% -version %target_version% -Verbosity Detailed +.nuget\nuget.exe pack nuget\Microsoft.Windows.CppWinRT.nuspec -NonInteractive -OutputDirectory %this_dir%_build -Properties Configuration=%target_configuration%;cppwinrt_exe=%this_dir%_build\x86\%target_configuration%\cppwinrt.exe;cppwinrt_fast_fwd_x86=%this_dir%_build\x86\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=%this_dir%_build\x64\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm=%this_dir%_build\arm\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=%this_dir%_build\arm64\%target_configuration%\cppwinrt_fast_forwarder.lib;target_version=%target_version% -version %target_version% -Verbosity Detailed rem Build vsix call msbuild /restore /p:Configuration=%target_configuration%,Platform="Any CPU",Deployment=%target_deployment%,CppWinRTVersion=%target_version%,NugetPackageVersion=%target_version%,NatvisDirx86=%this_dir%natvis\x86\%target_configuration%\%target_deployment%,NatvisDirx64=%this_dir%natvis\x64\%target_configuration%\%target_deployment%,NatvisDirarm64=%this_dir%natvis\arm64\%target_configuration%\%target_deployment%,NupkgDir=%this_dir%_build vsix\vsix.sln diff --git a/cppwinrt.sln b/cppwinrt.sln index 700e9f5ea..86b7a8323 100644 --- a/cppwinrt.sln +++ b/cppwinrt.sln @@ -144,260 +144,346 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|ARM = Release|ARM Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D613FB39-5035-4043-91E2-BAB323908AF4}.Debug|ARM.ActiveCfg = Debug|ARM + {D613FB39-5035-4043-91E2-BAB323908AF4}.Debug|ARM.Build.0 = Debug|ARM {D613FB39-5035-4043-91E2-BAB323908AF4}.Debug|ARM64.ActiveCfg = Debug|ARM64 {D613FB39-5035-4043-91E2-BAB323908AF4}.Debug|ARM64.Build.0 = Debug|ARM64 {D613FB39-5035-4043-91E2-BAB323908AF4}.Debug|x64.ActiveCfg = Debug|x64 {D613FB39-5035-4043-91E2-BAB323908AF4}.Debug|x64.Build.0 = Debug|x64 {D613FB39-5035-4043-91E2-BAB323908AF4}.Debug|x86.ActiveCfg = Debug|Win32 {D613FB39-5035-4043-91E2-BAB323908AF4}.Debug|x86.Build.0 = Debug|Win32 + {D613FB39-5035-4043-91E2-BAB323908AF4}.Release|ARM.ActiveCfg = Release|ARM + {D613FB39-5035-4043-91E2-BAB323908AF4}.Release|ARM.Build.0 = Release|ARM {D613FB39-5035-4043-91E2-BAB323908AF4}.Release|ARM64.ActiveCfg = Release|ARM64 {D613FB39-5035-4043-91E2-BAB323908AF4}.Release|ARM64.Build.0 = Release|ARM64 {D613FB39-5035-4043-91E2-BAB323908AF4}.Release|x64.ActiveCfg = Release|x64 {D613FB39-5035-4043-91E2-BAB323908AF4}.Release|x64.Build.0 = Release|x64 {D613FB39-5035-4043-91E2-BAB323908AF4}.Release|x86.ActiveCfg = Release|Win32 {D613FB39-5035-4043-91E2-BAB323908AF4}.Release|x86.Build.0 = Release|Win32 + {FB239623-7D19-4025-BCEA-B43298D4A315}.Debug|ARM.ActiveCfg = Debug|ARM + {FB239623-7D19-4025-BCEA-B43298D4A315}.Debug|ARM.Build.0 = Debug|ARM {FB239623-7D19-4025-BCEA-B43298D4A315}.Debug|ARM64.ActiveCfg = Debug|ARM64 {FB239623-7D19-4025-BCEA-B43298D4A315}.Debug|ARM64.Build.0 = Debug|ARM64 {FB239623-7D19-4025-BCEA-B43298D4A315}.Debug|x64.ActiveCfg = Debug|x64 {FB239623-7D19-4025-BCEA-B43298D4A315}.Debug|x64.Build.0 = Debug|x64 {FB239623-7D19-4025-BCEA-B43298D4A315}.Debug|x86.ActiveCfg = Debug|Win32 {FB239623-7D19-4025-BCEA-B43298D4A315}.Debug|x86.Build.0 = Debug|Win32 + {FB239623-7D19-4025-BCEA-B43298D4A315}.Release|ARM.ActiveCfg = Release|ARM + {FB239623-7D19-4025-BCEA-B43298D4A315}.Release|ARM.Build.0 = Release|ARM {FB239623-7D19-4025-BCEA-B43298D4A315}.Release|ARM64.ActiveCfg = Release|ARM64 {FB239623-7D19-4025-BCEA-B43298D4A315}.Release|ARM64.Build.0 = Release|ARM64 {FB239623-7D19-4025-BCEA-B43298D4A315}.Release|x64.ActiveCfg = Release|x64 {FB239623-7D19-4025-BCEA-B43298D4A315}.Release|x64.Build.0 = Release|x64 {FB239623-7D19-4025-BCEA-B43298D4A315}.Release|x86.ActiveCfg = Release|Win32 {FB239623-7D19-4025-BCEA-B43298D4A315}.Release|x86.Build.0 = Release|Win32 + {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Debug|ARM.ActiveCfg = Debug|ARM + {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Debug|ARM.Build.0 = Debug|ARM {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Debug|ARM64.ActiveCfg = Debug|ARM64 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Debug|ARM64.Build.0 = Debug|ARM64 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Debug|x64.ActiveCfg = Debug|x64 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Debug|x64.Build.0 = Debug|x64 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Debug|x86.ActiveCfg = Debug|Win32 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Debug|x86.Build.0 = Debug|Win32 + {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Release|ARM.ActiveCfg = Release|ARM + {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Release|ARM.Build.0 = Release|ARM {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Release|ARM64.ActiveCfg = Release|ARM64 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Release|ARM64.Build.0 = Release|ARM64 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Release|x64.ActiveCfg = Release|x64 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Release|x64.Build.0 = Release|x64 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Release|x86.ActiveCfg = Release|Win32 {C8B95FCB-9B0B-4E9F-B7D5-643883C192C9}.Release|x86.Build.0 = Release|Win32 + {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Debug|ARM.ActiveCfg = Debug|ARM + {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Debug|ARM.Build.0 = Debug|ARM {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Debug|ARM64.ActiveCfg = Debug|ARM64 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Debug|ARM64.Build.0 = Debug|ARM64 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Debug|x64.ActiveCfg = Debug|x64 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Debug|x64.Build.0 = Debug|x64 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Debug|x86.ActiveCfg = Debug|Win32 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Debug|x86.Build.0 = Debug|Win32 + {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Release|ARM.ActiveCfg = Release|ARM + {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Release|ARM.Build.0 = Release|ARM {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Release|ARM64.ActiveCfg = Release|ARM64 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Release|ARM64.Build.0 = Release|ARM64 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Release|x64.ActiveCfg = Release|x64 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Release|x64.Build.0 = Release|x64 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Release|x86.ActiveCfg = Release|Win32 {559A7CF4-DC5F-4D62-BA6B-0C2B025593F8}.Release|x86.Build.0 = Release|Win32 + {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Debug|ARM.ActiveCfg = Debug|ARM + {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Debug|ARM.Build.0 = Debug|ARM {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Debug|ARM64.ActiveCfg = Debug|ARM64 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Debug|ARM64.Build.0 = Debug|ARM64 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Debug|x64.ActiveCfg = Debug|x64 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Debug|x64.Build.0 = Debug|x64 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Debug|x86.ActiveCfg = Debug|Win32 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Debug|x86.Build.0 = Debug|Win32 + {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Release|ARM.ActiveCfg = Release|ARM + {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Release|ARM.Build.0 = Release|ARM {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Release|ARM64.ActiveCfg = Release|ARM64 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Release|ARM64.Build.0 = Release|ARM64 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Release|x64.ActiveCfg = Release|x64 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Release|x64.Build.0 = Release|x64 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Release|x86.ActiveCfg = Release|Win32 {152E4C6E-9A9D-4D5A-B38D-4905D173649A}.Release|x86.Build.0 = Release|Win32 + {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Debug|ARM.ActiveCfg = Debug|ARM + {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Debug|ARM.Build.0 = Debug|ARM {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Debug|ARM64.ActiveCfg = Debug|ARM64 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Debug|ARM64.Build.0 = Debug|ARM64 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Debug|x64.ActiveCfg = Debug|x64 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Debug|x64.Build.0 = Debug|x64 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Debug|x86.ActiveCfg = Debug|Win32 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Debug|x86.Build.0 = Debug|Win32 + {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Release|ARM.ActiveCfg = Release|ARM + {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Release|ARM.Build.0 = Release|ARM {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Release|ARM64.ActiveCfg = Release|ARM64 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Release|ARM64.Build.0 = Release|ARM64 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Release|x64.ActiveCfg = Release|x64 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Release|x64.Build.0 = Release|x64 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Release|x86.ActiveCfg = Release|Win32 {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}.Release|x86.Build.0 = Release|Win32 + {D2961EA1-A8CA-4A62-B760-948403DC8494}.Debug|ARM.ActiveCfg = Debug|ARM + {D2961EA1-A8CA-4A62-B760-948403DC8494}.Debug|ARM.Build.0 = Debug|ARM {D2961EA1-A8CA-4A62-B760-948403DC8494}.Debug|ARM64.ActiveCfg = Debug|ARM64 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Debug|ARM64.Build.0 = Debug|ARM64 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Debug|x64.ActiveCfg = Debug|x64 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Debug|x64.Build.0 = Debug|x64 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Debug|x86.ActiveCfg = Debug|Win32 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Debug|x86.Build.0 = Debug|Win32 + {D2961EA1-A8CA-4A62-B760-948403DC8494}.Release|ARM.ActiveCfg = Release|ARM + {D2961EA1-A8CA-4A62-B760-948403DC8494}.Release|ARM.Build.0 = Release|ARM {D2961EA1-A8CA-4A62-B760-948403DC8494}.Release|ARM64.ActiveCfg = Release|ARM64 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Release|ARM64.Build.0 = Release|ARM64 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Release|x64.ActiveCfg = Release|x64 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Release|x64.Build.0 = Release|x64 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Release|x86.ActiveCfg = Release|Win32 {D2961EA1-A8CA-4A62-B760-948403DC8494}.Release|x86.Build.0 = Release|Win32 + {85695954-3800-4558-9857-966E69E9F9EC}.Debug|ARM.ActiveCfg = Debug|ARM + {85695954-3800-4558-9857-966E69E9F9EC}.Debug|ARM.Build.0 = Debug|ARM {85695954-3800-4558-9857-966E69E9F9EC}.Debug|ARM64.ActiveCfg = Debug|ARM64 {85695954-3800-4558-9857-966E69E9F9EC}.Debug|ARM64.Build.0 = Debug|ARM64 {85695954-3800-4558-9857-966E69E9F9EC}.Debug|x64.ActiveCfg = Debug|x64 {85695954-3800-4558-9857-966E69E9F9EC}.Debug|x64.Build.0 = Debug|x64 {85695954-3800-4558-9857-966E69E9F9EC}.Debug|x86.ActiveCfg = Debug|Win32 {85695954-3800-4558-9857-966E69E9F9EC}.Debug|x86.Build.0 = Debug|Win32 + {85695954-3800-4558-9857-966E69E9F9EC}.Release|ARM.ActiveCfg = Release|ARM + {85695954-3800-4558-9857-966E69E9F9EC}.Release|ARM.Build.0 = Release|ARM {85695954-3800-4558-9857-966E69E9F9EC}.Release|ARM64.ActiveCfg = Release|ARM64 {85695954-3800-4558-9857-966E69E9F9EC}.Release|ARM64.Build.0 = Release|ARM64 {85695954-3800-4558-9857-966E69E9F9EC}.Release|x64.ActiveCfg = Release|x64 {85695954-3800-4558-9857-966E69E9F9EC}.Release|x64.Build.0 = Release|x64 {85695954-3800-4558-9857-966E69E9F9EC}.Release|x86.ActiveCfg = Release|Win32 {85695954-3800-4558-9857-966E69E9F9EC}.Release|x86.Build.0 = Release|Win32 + {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Debug|ARM.ActiveCfg = Debug|ARM + {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Debug|ARM.Build.0 = Debug|ARM {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Debug|ARM64.ActiveCfg = Debug|ARM64 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Debug|ARM64.Build.0 = Debug|ARM64 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Debug|x64.ActiveCfg = Debug|x64 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Debug|x64.Build.0 = Debug|x64 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Debug|x86.ActiveCfg = Debug|Win32 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Debug|x86.Build.0 = Debug|Win32 + {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Release|ARM.ActiveCfg = Release|ARM + {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Release|ARM.Build.0 = Release|ARM {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Release|ARM64.ActiveCfg = Release|ARM64 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Release|ARM64.Build.0 = Release|ARM64 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Release|x64.ActiveCfg = Release|x64 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Release|x64.Build.0 = Release|x64 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Release|x86.ActiveCfg = Release|Win32 {F1C915B3-2C64-4992-AFB7-7F035B1A7607}.Release|x86.Build.0 = Release|Win32 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|ARM.ActiveCfg = Debug|ARM + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|ARM.Build.0 = Debug|ARM {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|ARM64.ActiveCfg = Debug|ARM64 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|ARM64.Build.0 = Debug|ARM64 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|x64.ActiveCfg = Debug|x64 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|x64.Build.0 = Debug|x64 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|x86.ActiveCfg = Debug|Win32 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|x86.Build.0 = Debug|Win32 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|ARM.ActiveCfg = Release|ARM + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|ARM.Build.0 = Release|ARM {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|ARM64.ActiveCfg = Release|ARM64 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|ARM64.Build.0 = Release|ARM64 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|x64.ActiveCfg = Release|x64 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|x64.Build.0 = Release|x64 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|x86.ActiveCfg = Release|Win32 {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|x86.Build.0 = Release|Win32 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|ARM.ActiveCfg = Debug|ARM + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|ARM.Build.0 = Debug|ARM {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|ARM64.ActiveCfg = Debug|ARM64 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|ARM64.Build.0 = Debug|ARM64 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|x64.ActiveCfg = Debug|x64 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|x64.Build.0 = Debug|x64 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|x86.ActiveCfg = Debug|Win32 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|x86.Build.0 = Debug|Win32 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|ARM.ActiveCfg = Release|ARM + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|ARM.Build.0 = Release|ARM {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|ARM64.ActiveCfg = Release|ARM64 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|ARM64.Build.0 = Release|ARM64 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|x64.ActiveCfg = Release|x64 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|x64.Build.0 = Release|x64 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|x86.ActiveCfg = Release|Win32 {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|x86.Build.0 = Release|Win32 + {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Debug|ARM.ActiveCfg = Debug|ARM + {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Debug|ARM.Build.0 = Debug|ARM {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Debug|ARM64.ActiveCfg = Debug|ARM64 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Debug|ARM64.Build.0 = Debug|ARM64 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Debug|x64.ActiveCfg = Debug|x64 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Debug|x64.Build.0 = Debug|x64 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Debug|x86.ActiveCfg = Debug|Win32 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Debug|x86.Build.0 = Debug|Win32 + {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Release|ARM.ActiveCfg = Release|ARM + {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Release|ARM.Build.0 = Release|ARM {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Release|ARM64.ActiveCfg = Release|ARM64 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Release|ARM64.Build.0 = Release|ARM64 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Release|x64.ActiveCfg = Release|x64 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Release|x64.Build.0 = Release|x64 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Release|x86.ActiveCfg = Release|Win32 {0E0ACA62-A92F-44CF-BD41-AEB541946DF8}.Release|x86.Build.0 = Release|Win32 + {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Debug|ARM.ActiveCfg = Debug|ARM + {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Debug|ARM.Build.0 = Debug|ARM {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Debug|ARM64.ActiveCfg = Debug|ARM64 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Debug|ARM64.Build.0 = Debug|ARM64 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Debug|x64.ActiveCfg = Debug|x64 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Debug|x64.Build.0 = Debug|x64 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Debug|x86.ActiveCfg = Debug|Win32 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Debug|x86.Build.0 = Debug|Win32 + {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Release|ARM.ActiveCfg = Release|ARM + {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Release|ARM.Build.0 = Release|ARM {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Release|ARM64.ActiveCfg = Release|ARM64 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Release|ARM64.Build.0 = Release|ARM64 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Release|x64.ActiveCfg = Release|x64 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Release|x64.Build.0 = Release|x64 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Release|x86.ActiveCfg = Release|Win32 {F8A1FE5A-DC8A-49DF-B882-DEF76E38E484}.Release|x86.Build.0 = Release|Win32 + {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Debug|ARM.ActiveCfg = Debug|ARM + {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Debug|ARM.Build.0 = Debug|ARM {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Debug|ARM64.ActiveCfg = Debug|ARM64 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Debug|ARM64.Build.0 = Debug|ARM64 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Debug|x64.ActiveCfg = Debug|x64 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Debug|x64.Build.0 = Debug|x64 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Debug|x86.ActiveCfg = Debug|Win32 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Debug|x86.Build.0 = Debug|Win32 + {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Release|ARM.ActiveCfg = Release|ARM + {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Release|ARM.Build.0 = Release|ARM {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Release|ARM64.ActiveCfg = Release|ARM64 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Release|ARM64.Build.0 = Release|ARM64 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Release|x64.ActiveCfg = Release|x64 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Release|x64.Build.0 = Release|x64 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Release|x86.ActiveCfg = Release|Win32 {B68C61C6-4699-41E6-A158-EA1BE029E7A0}.Release|x86.Build.0 = Release|Win32 + {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Debug|ARM.ActiveCfg = Debug|ARM + {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Debug|ARM.Build.0 = Debug|ARM {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Debug|ARM64.ActiveCfg = Debug|ARM64 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Debug|ARM64.Build.0 = Debug|ARM64 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Debug|x64.ActiveCfg = Debug|x64 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Debug|x64.Build.0 = Debug|x64 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Debug|x86.ActiveCfg = Debug|Win32 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Debug|x86.Build.0 = Debug|Win32 + {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Release|ARM.ActiveCfg = Release|ARM + {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Release|ARM.Build.0 = Release|ARM {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Release|ARM64.ActiveCfg = Release|ARM64 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Release|ARM64.Build.0 = Release|ARM64 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Release|x64.ActiveCfg = Release|x64 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Release|x64.Build.0 = Release|x64 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Release|x86.ActiveCfg = Release|Win32 {303CC0FE-7D66-4F9F-B7A1-0AF7F9359074}.Release|x86.Build.0 = Release|Win32 + {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Debug|ARM.ActiveCfg = Debug|ARM + {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Debug|ARM.Build.0 = Debug|ARM {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Debug|ARM64.ActiveCfg = Debug|ARM64 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Debug|ARM64.Build.0 = Debug|ARM64 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Debug|x64.ActiveCfg = Debug|x64 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Debug|x64.Build.0 = Debug|x64 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Debug|x86.ActiveCfg = Debug|Win32 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Debug|x86.Build.0 = Debug|Win32 + {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Release|ARM.ActiveCfg = Release|ARM + {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Release|ARM.Build.0 = Release|ARM {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Release|ARM64.ActiveCfg = Release|ARM64 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Release|ARM64.Build.0 = Release|ARM64 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Release|x64.ActiveCfg = Release|x64 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Release|x64.Build.0 = Release|x64 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Release|x86.ActiveCfg = Release|Win32 {A63B3AD1-AB7B-461E-9FFF-2447F5BCD459}.Release|x86.Build.0 = Release|Win32 + {E893622C-47DE-4F83-B422-0A26711590A4}.Debug|ARM.ActiveCfg = Debug|ARM + {E893622C-47DE-4F83-B422-0A26711590A4}.Debug|ARM.Build.0 = Debug|ARM {E893622C-47DE-4F83-B422-0A26711590A4}.Debug|ARM64.ActiveCfg = Debug|ARM64 {E893622C-47DE-4F83-B422-0A26711590A4}.Debug|ARM64.Build.0 = Debug|ARM64 {E893622C-47DE-4F83-B422-0A26711590A4}.Debug|x64.ActiveCfg = Debug|x64 {E893622C-47DE-4F83-B422-0A26711590A4}.Debug|x64.Build.0 = Debug|x64 {E893622C-47DE-4F83-B422-0A26711590A4}.Debug|x86.ActiveCfg = Debug|Win32 {E893622C-47DE-4F83-B422-0A26711590A4}.Debug|x86.Build.0 = Debug|Win32 + {E893622C-47DE-4F83-B422-0A26711590A4}.Release|ARM.ActiveCfg = Release|ARM + {E893622C-47DE-4F83-B422-0A26711590A4}.Release|ARM.Build.0 = Release|ARM {E893622C-47DE-4F83-B422-0A26711590A4}.Release|ARM64.ActiveCfg = Release|ARM64 {E893622C-47DE-4F83-B422-0A26711590A4}.Release|ARM64.Build.0 = Release|ARM64 {E893622C-47DE-4F83-B422-0A26711590A4}.Release|x64.ActiveCfg = Release|x64 {E893622C-47DE-4F83-B422-0A26711590A4}.Release|x64.Build.0 = Release|x64 {E893622C-47DE-4F83-B422-0A26711590A4}.Release|x86.ActiveCfg = Release|Win32 {E893622C-47DE-4F83-B422-0A26711590A4}.Release|x86.Build.0 = Release|Win32 + {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Debug|ARM.ActiveCfg = Debug|ARM + {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Debug|ARM.Build.0 = Debug|ARM {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Debug|ARM64.ActiveCfg = Debug|ARM64 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Debug|ARM64.Build.0 = Debug|ARM64 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Debug|x64.ActiveCfg = Debug|x64 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Debug|x64.Build.0 = Debug|x64 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Debug|x86.ActiveCfg = Debug|Win32 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Debug|x86.Build.0 = Debug|Win32 + {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Release|ARM.ActiveCfg = Release|ARM + {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Release|ARM.Build.0 = Release|ARM {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Release|ARM64.ActiveCfg = Release|ARM64 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Release|ARM64.Build.0 = Release|ARM64 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Release|x64.ActiveCfg = Release|x64 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Release|x64.Build.0 = Release|x64 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Release|x86.ActiveCfg = Release|Win32 {D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3}.Release|x86.Build.0 = Release|Win32 + {08C40663-B6A3-481E-8755-AE32BAD99501}.Debug|ARM.ActiveCfg = Debug|ARM + {08C40663-B6A3-481E-8755-AE32BAD99501}.Debug|ARM.Build.0 = Debug|ARM {08C40663-B6A3-481E-8755-AE32BAD99501}.Debug|ARM64.ActiveCfg = Debug|ARM64 {08C40663-B6A3-481E-8755-AE32BAD99501}.Debug|ARM64.Build.0 = Debug|ARM64 {08C40663-B6A3-481E-8755-AE32BAD99501}.Debug|x64.ActiveCfg = Debug|x64 {08C40663-B6A3-481E-8755-AE32BAD99501}.Debug|x64.Build.0 = Debug|x64 {08C40663-B6A3-481E-8755-AE32BAD99501}.Debug|x86.ActiveCfg = Debug|Win32 {08C40663-B6A3-481E-8755-AE32BAD99501}.Debug|x86.Build.0 = Debug|Win32 + {08C40663-B6A3-481E-8755-AE32BAD99501}.Release|ARM.ActiveCfg = Release|ARM + {08C40663-B6A3-481E-8755-AE32BAD99501}.Release|ARM.Build.0 = Release|ARM {08C40663-B6A3-481E-8755-AE32BAD99501}.Release|ARM64.ActiveCfg = Release|ARM64 {08C40663-B6A3-481E-8755-AE32BAD99501}.Release|ARM64.Build.0 = Release|ARM64 {08C40663-B6A3-481E-8755-AE32BAD99501}.Release|x64.ActiveCfg = Release|x64 {08C40663-B6A3-481E-8755-AE32BAD99501}.Release|x64.Build.0 = Release|x64 {08C40663-B6A3-481E-8755-AE32BAD99501}.Release|x86.ActiveCfg = Release|Win32 {08C40663-B6A3-481E-8755-AE32BAD99501}.Release|x86.Build.0 = Release|Win32 + {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Debug|ARM.ActiveCfg = Debug|ARM + {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Debug|ARM.Build.0 = Debug|ARM {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Debug|ARM64.ActiveCfg = Debug|ARM64 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Debug|ARM64.Build.0 = Debug|ARM64 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Debug|x64.ActiveCfg = Debug|x64 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Debug|x64.Build.0 = Debug|x64 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Debug|x86.ActiveCfg = Debug|Win32 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Debug|x86.Build.0 = Debug|Win32 + {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Release|ARM.ActiveCfg = Release|ARM + {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Release|ARM.Build.0 = Release|ARM {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Release|ARM64.ActiveCfg = Release|ARM64 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Release|ARM64.Build.0 = Release|ARM64 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Release|x64.ActiveCfg = Release|x64 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Release|x64.Build.0 = Release|x64 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Release|x86.ActiveCfg = Release|Win32 {5FF6CD6C-515A-4D55-97B6-62AD9BCB77EA}.Release|x86.Build.0 = Release|Win32 + {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Debug|ARM.ActiveCfg = Debug|ARM + {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Debug|ARM.Build.0 = Debug|ARM {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Debug|ARM64.ActiveCfg = Debug|ARM64 {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Debug|ARM64.Build.0 = Debug|ARM64 {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Debug|x64.ActiveCfg = Debug|x64 {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Debug|x64.Build.0 = Debug|x64 {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Debug|x86.ActiveCfg = Debug|Win32 {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Debug|x86.Build.0 = Debug|Win32 + {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Release|ARM.ActiveCfg = Release|ARM + {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Release|ARM.Build.0 = Release|ARM {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Release|ARM64.ActiveCfg = Release|ARM64 {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Release|ARM64.Build.0 = Release|ARM64 {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Release|x64.ActiveCfg = Release|x64 diff --git a/cppwinrt/cppwinrt.vcxproj b/cppwinrt/cppwinrt.vcxproj index b8beed890..a997dd876 100644 --- a/cppwinrt/cppwinrt.vcxproj +++ b/cppwinrt/cppwinrt.vcxproj @@ -2,6 +2,10 @@ + + Debug + ARM + Debug ARM64 @@ -10,6 +14,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -124,6 +132,10 @@ Application true + + Application + true + Application true @@ -133,6 +145,11 @@ false true + + Application + false + true + Application false @@ -155,12 +172,18 @@ + + + + + + @@ -190,6 +213,23 @@ + + + Disabled + ..\inc;$(OutputPath);$(WinMDPackageDir); + MultiThreadedDebug + + + Console + + + $(OutputPath)prebuild.exe ..\strings $(OutputPath) + + + + + + Disabled @@ -253,6 +293,29 @@ + + + MaxSpeed + true + true + ..\inc;$(OutputPath);$(WinMDPackageDir); + MultiThreaded + Guard + + + Console + true + true + /DEBUGTYPE:CV,FIXUP %(AdditionalOptions) + + + $(OutputPath)prebuild.exe ..\strings $(OutputPath) + + + + + + MaxSpeed diff --git a/fast_fwd/arm/thunks.asm b/fast_fwd/arm/thunks.asm new file mode 100644 index 000000000..9010908b6 --- /dev/null +++ b/fast_fwd/arm/thunks.asm @@ -0,0 +1,58 @@ +; ARM fast forwarder thunk implementations +; Calling convention: https://docs.microsoft.com/en-us/cpp/build/overview-of-arm-abi-conventions + +#include "ksarm.h" + + IMPORT __guard_check_icall_fptr + + TEXTAREA + + CFG_ALIGN + NESTED_ENTRY InvokeForwarder + + ; Save enregistered args and return address + PROLOG_PUSH {r0-r4, lr} + + ; Replace forwarder abi with owner abi + ldr r1, [r0, #4] + str r1, [sp] + + ; Add offset and index (on stack) + ldr r2, [sp, #24] + ldr r3, [r0, #8] + add r2, r2, r3 + + ; Get method address from owner abi vtable + ldr r0, [r1] + ldr r4, [r0, r2, lsl #2] + mov r0, r4 + + ; Verify indirect call target + mov32 r12, __guard_check_icall_fptr + ldr r12, [r12] + blx r12 + + ; Restore method address, return address, and args + mov r12, r4 + EPILOG_POP {r0-r4, lr} + EPILOG_NOP add sp, #4 + + ; Jump to method + EPILOG_NOP bx r12 + + NESTED_END InvokeForwarder + + ; Define thunks + MACRO + WINRT_FF_THUNK $i + LEAF_ENTRY winrt_ff_thunk$i + ; Note: no scratch registers available (r12/IP is used by CFG), must use stack + mov r12, $i + push r12 + ldr pc, =InvokeForwarder + LEAF_END winrt_ff_thunk$i + MEND + +#include "thunks.inc" + + END \ No newline at end of file diff --git a/fast_fwd/fast_fwd.vcxproj b/fast_fwd/fast_fwd.vcxproj index b9452d149..6d7a42d77 100644 --- a/fast_fwd/fast_fwd.vcxproj +++ b/fast_fwd/fast_fwd.vcxproj @@ -17,6 +17,14 @@ Release x64 + + Debug + ARM + + + Release + ARM + Debug ARM64 @@ -71,10 +79,16 @@ - true + true false !$(Platform_Arm) + + cppwinrt_fast_forwarder + + + cppwinrt_fast_forwarder + cppwinrt_fast_forwarder diff --git a/nuget/Microsoft.Windows.CppWinRT.nuspec b/nuget/Microsoft.Windows.CppWinRT.nuspec index 52151fc08..5f254ccb2 100644 --- a/nuget/Microsoft.Windows.CppWinRT.nuspec +++ b/nuget/Microsoft.Windows.CppWinRT.nuspec @@ -21,6 +21,7 @@ + diff --git a/prebuild/prebuild.vcxproj b/prebuild/prebuild.vcxproj index 9fad91fd8..0f6ecf5c3 100644 --- a/prebuild/prebuild.vcxproj +++ b/prebuild/prebuild.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -36,6 +44,10 @@ Application true + + Application + true + Application true @@ -45,6 +57,11 @@ false true + + Application + false + true + Application false @@ -67,12 +84,18 @@ + + + + + + @@ -95,6 +118,16 @@ Console + + + Disabled + ..\cppwinrt + MultiThreadedDebug + + + Console + + Disabled @@ -136,6 +169,20 @@ true + + + MaxSpeed + true + true + ..\cppwinrt + MultiThreaded + + + Console + true + true + + MaxSpeed diff --git a/prepare_versionless_diffs.cmd b/prepare_versionless_diffs.cmd index 05cb6dd0b..468645657 100644 --- a/prepare_versionless_diffs.cmd +++ b/prepare_versionless_diffs.cmd @@ -12,6 +12,7 @@ if /I "%target_platform%" equ "all" ( ) call %0 x86 !target_configuration! call %0 x64 !target_configuration! + call %0 arm !target_configuration! call %0 arm64 !target_configuration! goto :eof ) diff --git a/scratch/scratch.vcxproj b/scratch/scratch.vcxproj index 84f6ce3d8..551902548 100644 --- a/scratch/scratch.vcxproj +++ b/scratch/scratch.vcxproj @@ -2,6 +2,10 @@ + + Debug + ARM + Debug ARM64 @@ -10,6 +14,10 @@ Debug Win32 + + Release + ARM + Release ARM64 diff --git a/strings/base_activation.h b/strings/base_activation.h index c657c692d..639bc50f5 100644 --- a/strings/base_activation.h +++ b/strings/base_activation.h @@ -119,8 +119,10 @@ WINRT_EXPORT namespace winrt #pragma clang diagnostic ignored "-Wdeprecated-declarations" #endif -#if defined(__GNUC__) && defined(__aarch64__) +#if defined(__GNUC__) && (defined(__arm__) || defined(__aarch64__)) #define WINRT_IMPL_INTERLOCKED_READ_MEMORY_BARRIER __asm__ __volatile__ ("dmb ish"); +#elif defined _M_ARM +#define WINRT_IMPL_INTERLOCKED_READ_MEMORY_BARRIER (__dmb(_ARM_BARRIER_ISH)); #elif defined _M_ARM64 #define WINRT_IMPL_INTERLOCKED_READ_MEMORY_BARRIER (__dmb(_ARM64_BARRIER_ISH)); #endif @@ -133,7 +135,7 @@ WINRT_EXPORT namespace winrt::impl std::int32_t const result = *target; _ReadWriteBarrier(); return result; -#elif defined _M_ARM64 +#elif defined _M_ARM || defined _M_ARM64 #if defined(__GNUC__) std::int32_t const result = *target; #else @@ -305,7 +307,7 @@ WINRT_EXPORT namespace winrt::impl static_assert(std::is_standard_layout_v); -#if !defined _M_IX86 && !defined _M_X64 && !defined _M_ARM64 +#if !defined _M_IX86 && !defined _M_X64 && !defined _M_ARM && !defined _M_ARM64 #error Unsupported architecture: verify that zero-initialization of SLIST_HEADER is still safe #endif diff --git a/test/nuget/ConsoleApplication1/ConsoleApplication1.vcxproj b/test/nuget/ConsoleApplication1/ConsoleApplication1.vcxproj index 38f3ee4cc..4256301ba 100644 --- a/test/nuget/ConsoleApplication1/ConsoleApplication1.vcxproj +++ b/test/nuget/ConsoleApplication1/ConsoleApplication1.vcxproj @@ -13,18 +13,10 @@ - - Debug - ARM64 - Debug Win32 - - Release - ARM64 - Release Win32 diff --git a/test/nuget/Directory.Build.props b/test/nuget/Directory.Build.props index a54887b1e..9f410480b 100644 --- a/test/nuget/Directory.Build.props +++ b/test/nuget/Directory.Build.props @@ -23,7 +23,7 @@ $(IntDir)Generated Files\ high $(Platform) - x86 + x86 $(SolutionDir)..\..\_build\$(CppWinRTPlatform)\$(Configuration)\ diff --git a/test/nuget/NuGetTest.sln b/test/nuget/NuGetTest.sln index c836b2551..017be8147 100644 --- a/test/nuget/NuGetTest.sln +++ b/test/nuget/NuGetTest.sln @@ -64,230 +64,270 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestModuleConsumerApp", "Te EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|ARM = Release|ARM Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|ARM64.Build.0 = Debug|ARM64 - {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|ARM.ActiveCfg = Debug|ARM + {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|ARM.Build.0 = Debug|ARM + {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|ARM.Deploy.0 = Debug|ARM + {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|ARM64.ActiveCfg = Debug|Win32 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|x64.ActiveCfg = Debug|x64 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|x64.Build.0 = Debug|x64 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|x64.Deploy.0 = Debug|x64 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|x86.ActiveCfg = Debug|Win32 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|x86.Build.0 = Debug|Win32 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Debug|x86.Deploy.0 = Debug|Win32 - {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|ARM64.ActiveCfg = Release|ARM64 - {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|ARM64.Build.0 = Release|ARM64 - {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|ARM64.Deploy.0 = Release|ARM64 + {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|ARM.ActiveCfg = Release|ARM + {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|ARM.Build.0 = Release|ARM + {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|ARM.Deploy.0 = Release|ARM + {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|ARM64.ActiveCfg = Release|Win32 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|x64.ActiveCfg = Release|x64 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|x64.Build.0 = Release|x64 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|x64.Deploy.0 = Release|x64 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|x86.ActiveCfg = Release|Win32 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|x86.Build.0 = Release|Win32 {A8BDBDE9-1A3D-4F5E-8668-9F6E84790D44}.Release|x86.Deploy.0 = Release|Win32 - {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Debug|ARM64.Build.0 = Debug|ARM64 + {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Debug|ARM.ActiveCfg = Debug|ARM + {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Debug|ARM.Build.0 = Debug|ARM + {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Debug|ARM64.ActiveCfg = Debug|Win32 {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Debug|x64.ActiveCfg = Debug|x64 {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Debug|x64.Build.0 = Debug|x64 {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Debug|x86.ActiveCfg = Debug|Win32 {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Debug|x86.Build.0 = Debug|Win32 - {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Release|ARM64.ActiveCfg = Release|ARM64 - {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Release|ARM64.Build.0 = Release|ARM64 + {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Release|ARM.ActiveCfg = Release|ARM + {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Release|ARM.Build.0 = Release|ARM + {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Release|ARM64.ActiveCfg = Release|Win32 {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Release|x64.ActiveCfg = Release|x64 {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Release|x64.Build.0 = Release|x64 {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Release|x86.ActiveCfg = Release|Win32 {E0EBBE54-C046-4611-B048-3CE893B1DF8A}.Release|x86.Build.0 = Release|Win32 - {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Debug|ARM64.Build.0 = Debug|ARM64 + {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Debug|ARM.ActiveCfg = Debug|ARM + {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Debug|ARM.Build.0 = Debug|ARM + {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Debug|ARM64.ActiveCfg = Debug|Win32 {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Debug|x64.ActiveCfg = Debug|x64 {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Debug|x64.Build.0 = Debug|x64 {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Debug|x86.ActiveCfg = Debug|Win32 {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Debug|x86.Build.0 = Debug|Win32 - {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Release|ARM64.ActiveCfg = Release|ARM64 - {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Release|ARM64.Build.0 = Release|ARM64 + {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Release|ARM.ActiveCfg = Release|ARM + {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Release|ARM.Build.0 = Release|ARM + {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Release|ARM64.ActiveCfg = Release|Win32 {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Release|x64.ActiveCfg = Release|x64 {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Release|x64.Build.0 = Release|x64 {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Release|x86.ActiveCfg = Release|Win32 {4BBB2DE7-4596-4DA6-A923-E65E838363B5}.Release|x86.Build.0 = Release|Win32 - {2158F418-CA97-4599-8103-EFC133850BAA}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {2158F418-CA97-4599-8103-EFC133850BAA}.Debug|ARM64.Build.0 = Debug|ARM64 + {2158F418-CA97-4599-8103-EFC133850BAA}.Debug|ARM.ActiveCfg = Debug|Win32 + {2158F418-CA97-4599-8103-EFC133850BAA}.Debug|ARM64.ActiveCfg = Debug|Win32 {2158F418-CA97-4599-8103-EFC133850BAA}.Debug|x64.ActiveCfg = Debug|x64 {2158F418-CA97-4599-8103-EFC133850BAA}.Debug|x64.Build.0 = Debug|x64 {2158F418-CA97-4599-8103-EFC133850BAA}.Debug|x86.ActiveCfg = Debug|Win32 {2158F418-CA97-4599-8103-EFC133850BAA}.Debug|x86.Build.0 = Debug|Win32 - {2158F418-CA97-4599-8103-EFC133850BAA}.Release|ARM64.ActiveCfg = Release|ARM64 - {2158F418-CA97-4599-8103-EFC133850BAA}.Release|ARM64.Build.0 = Release|ARM64 + {2158F418-CA97-4599-8103-EFC133850BAA}.Release|ARM.ActiveCfg = Release|Win32 + {2158F418-CA97-4599-8103-EFC133850BAA}.Release|ARM64.ActiveCfg = Release|Win32 {2158F418-CA97-4599-8103-EFC133850BAA}.Release|x64.ActiveCfg = Release|x64 {2158F418-CA97-4599-8103-EFC133850BAA}.Release|x64.Build.0 = Release|x64 {2158F418-CA97-4599-8103-EFC133850BAA}.Release|x86.ActiveCfg = Release|Win32 {2158F418-CA97-4599-8103-EFC133850BAA}.Release|x86.Build.0 = Release|Win32 - {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Debug|ARM64.Build.0 = Debug|ARM64 + {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Debug|ARM.ActiveCfg = Debug|Win32 + {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Debug|ARM64.ActiveCfg = Debug|Win32 {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Debug|x64.ActiveCfg = Debug|x64 {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Debug|x64.Build.0 = Debug|x64 {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Debug|x86.ActiveCfg = Debug|Win32 {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Debug|x86.Build.0 = Debug|Win32 - {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Release|ARM64.ActiveCfg = Release|ARM64 - {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Release|ARM64.Build.0 = Release|ARM64 + {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Release|ARM.ActiveCfg = Release|Win32 + {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Release|ARM64.ActiveCfg = Release|Win32 {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Release|x64.ActiveCfg = Release|x64 {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Release|x64.Build.0 = Release|x64 {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Release|x86.ActiveCfg = Release|Win32 {0011F69F-2363-4DFD-B02A-1E7E909BCE89}.Release|x86.Build.0 = Release|Win32 - {C2820B98-A31F-46D0-A96D-B8F24392B049}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {C2820B98-A31F-46D0-A96D-B8F24392B049}.Debug|ARM64.Build.0 = Debug|ARM64 + {C2820B98-A31F-46D0-A96D-B8F24392B049}.Debug|ARM.ActiveCfg = Debug|ARM + {C2820B98-A31F-46D0-A96D-B8F24392B049}.Debug|ARM.Build.0 = Debug|ARM + {C2820B98-A31F-46D0-A96D-B8F24392B049}.Debug|ARM64.ActiveCfg = Debug|Win32 {C2820B98-A31F-46D0-A96D-B8F24392B049}.Debug|x64.ActiveCfg = Debug|x64 {C2820B98-A31F-46D0-A96D-B8F24392B049}.Debug|x64.Build.0 = Debug|x64 {C2820B98-A31F-46D0-A96D-B8F24392B049}.Debug|x86.ActiveCfg = Debug|Win32 {C2820B98-A31F-46D0-A96D-B8F24392B049}.Debug|x86.Build.0 = Debug|Win32 - {C2820B98-A31F-46D0-A96D-B8F24392B049}.Release|ARM64.ActiveCfg = Release|ARM64 - {C2820B98-A31F-46D0-A96D-B8F24392B049}.Release|ARM64.Build.0 = Release|ARM64 + {C2820B98-A31F-46D0-A96D-B8F24392B049}.Release|ARM.ActiveCfg = Release|ARM + {C2820B98-A31F-46D0-A96D-B8F24392B049}.Release|ARM.Build.0 = Release|ARM + {C2820B98-A31F-46D0-A96D-B8F24392B049}.Release|ARM64.ActiveCfg = Release|Win32 {C2820B98-A31F-46D0-A96D-B8F24392B049}.Release|x64.ActiveCfg = Release|x64 {C2820B98-A31F-46D0-A96D-B8F24392B049}.Release|x64.Build.0 = Release|x64 {C2820B98-A31F-46D0-A96D-B8F24392B049}.Release|x86.ActiveCfg = Release|Win32 {C2820B98-A31F-46D0-A96D-B8F24392B049}.Release|x86.Build.0 = Release|Win32 - {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Debug|ARM64.Build.0 = Debug|ARM64 + {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Debug|ARM.ActiveCfg = Debug|ARM + {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Debug|ARM.Build.0 = Debug|ARM + {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Debug|ARM64.ActiveCfg = Debug|Win32 {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Debug|x64.ActiveCfg = Debug|x64 {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Debug|x64.Build.0 = Debug|x64 {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Debug|x86.ActiveCfg = Debug|Win32 {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Debug|x86.Build.0 = Debug|Win32 - {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Release|ARM64.ActiveCfg = Release|ARM64 - {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Release|ARM64.Build.0 = Release|ARM64 + {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Release|ARM.ActiveCfg = Release|ARM + {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Release|ARM.Build.0 = Release|ARM + {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Release|ARM64.ActiveCfg = Release|Win32 {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Release|x64.ActiveCfg = Release|x64 {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Release|x64.Build.0 = Release|x64 {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Release|x86.ActiveCfg = Release|Win32 {1350E626-038B-4BDF-8E1D-C751EF33D90F}.Release|x86.Build.0 = Release|Win32 + {ADC53200-B456-4386-9851-5BF69DFB8928}.Debug|ARM.ActiveCfg = Debug|ARM + {ADC53200-B456-4386-9851-5BF69DFB8928}.Debug|ARM.Build.0 = Debug|ARM {ADC53200-B456-4386-9851-5BF69DFB8928}.Debug|ARM64.ActiveCfg = Debug|ARM64 {ADC53200-B456-4386-9851-5BF69DFB8928}.Debug|ARM64.Build.0 = Debug|ARM64 {ADC53200-B456-4386-9851-5BF69DFB8928}.Debug|x64.ActiveCfg = Debug|x64 {ADC53200-B456-4386-9851-5BF69DFB8928}.Debug|x64.Build.0 = Debug|x64 {ADC53200-B456-4386-9851-5BF69DFB8928}.Debug|x86.ActiveCfg = Debug|Win32 {ADC53200-B456-4386-9851-5BF69DFB8928}.Debug|x86.Build.0 = Debug|Win32 + {ADC53200-B456-4386-9851-5BF69DFB8928}.Release|ARM.ActiveCfg = Release|ARM + {ADC53200-B456-4386-9851-5BF69DFB8928}.Release|ARM.Build.0 = Release|ARM {ADC53200-B456-4386-9851-5BF69DFB8928}.Release|ARM64.ActiveCfg = Release|ARM64 {ADC53200-B456-4386-9851-5BF69DFB8928}.Release|ARM64.Build.0 = Release|ARM64 {ADC53200-B456-4386-9851-5BF69DFB8928}.Release|x64.ActiveCfg = Release|x64 {ADC53200-B456-4386-9851-5BF69DFB8928}.Release|x64.Build.0 = Release|x64 {ADC53200-B456-4386-9851-5BF69DFB8928}.Release|x86.ActiveCfg = Release|Win32 {ADC53200-B456-4386-9851-5BF69DFB8928}.Release|x86.Build.0 = Release|Win32 - {432068A4-B206-4468-9254-446CCEB15A2C}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {432068A4-B206-4468-9254-446CCEB15A2C}.Debug|ARM64.Build.0 = Debug|ARM64 + {432068A4-B206-4468-9254-446CCEB15A2C}.Debug|ARM.ActiveCfg = Debug|ARM + {432068A4-B206-4468-9254-446CCEB15A2C}.Debug|ARM.Build.0 = Debug|ARM + {432068A4-B206-4468-9254-446CCEB15A2C}.Debug|ARM64.ActiveCfg = Debug|Win32 {432068A4-B206-4468-9254-446CCEB15A2C}.Debug|x64.ActiveCfg = Debug|x64 {432068A4-B206-4468-9254-446CCEB15A2C}.Debug|x64.Build.0 = Debug|x64 {432068A4-B206-4468-9254-446CCEB15A2C}.Debug|x86.ActiveCfg = Debug|Win32 {432068A4-B206-4468-9254-446CCEB15A2C}.Debug|x86.Build.0 = Debug|Win32 - {432068A4-B206-4468-9254-446CCEB15A2C}.Release|ARM64.ActiveCfg = Release|ARM64 - {432068A4-B206-4468-9254-446CCEB15A2C}.Release|ARM64.Build.0 = Release|ARM64 + {432068A4-B206-4468-9254-446CCEB15A2C}.Release|ARM.ActiveCfg = Release|ARM + {432068A4-B206-4468-9254-446CCEB15A2C}.Release|ARM.Build.0 = Release|ARM + {432068A4-B206-4468-9254-446CCEB15A2C}.Release|ARM64.ActiveCfg = Release|Win32 {432068A4-B206-4468-9254-446CCEB15A2C}.Release|x64.ActiveCfg = Release|x64 {432068A4-B206-4468-9254-446CCEB15A2C}.Release|x64.Build.0 = Release|x64 {432068A4-B206-4468-9254-446CCEB15A2C}.Release|x86.ActiveCfg = Release|Win32 {432068A4-B206-4468-9254-446CCEB15A2C}.Release|x86.Build.0 = Release|Win32 - {8456C55F-BF01-4798-B79B-7388681C398F}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {8456C55F-BF01-4798-B79B-7388681C398F}.Debug|ARM64.Build.0 = Debug|ARM64 + {8456C55F-BF01-4798-B79B-7388681C398F}.Debug|ARM.ActiveCfg = Debug|ARM + {8456C55F-BF01-4798-B79B-7388681C398F}.Debug|ARM.Build.0 = Debug|ARM + {8456C55F-BF01-4798-B79B-7388681C398F}.Debug|ARM64.ActiveCfg = Debug|Win32 {8456C55F-BF01-4798-B79B-7388681C398F}.Debug|x64.ActiveCfg = Debug|x64 {8456C55F-BF01-4798-B79B-7388681C398F}.Debug|x64.Build.0 = Debug|x64 {8456C55F-BF01-4798-B79B-7388681C398F}.Debug|x86.ActiveCfg = Debug|Win32 {8456C55F-BF01-4798-B79B-7388681C398F}.Debug|x86.Build.0 = Debug|Win32 - {8456C55F-BF01-4798-B79B-7388681C398F}.Release|ARM64.ActiveCfg = Release|ARM64 - {8456C55F-BF01-4798-B79B-7388681C398F}.Release|ARM64.Build.0 = Release|ARM64 + {8456C55F-BF01-4798-B79B-7388681C398F}.Release|ARM.ActiveCfg = Release|ARM + {8456C55F-BF01-4798-B79B-7388681C398F}.Release|ARM.Build.0 = Release|ARM + {8456C55F-BF01-4798-B79B-7388681C398F}.Release|ARM64.ActiveCfg = Release|Win32 {8456C55F-BF01-4798-B79B-7388681C398F}.Release|x64.ActiveCfg = Release|x64 {8456C55F-BF01-4798-B79B-7388681C398F}.Release|x64.Build.0 = Release|x64 {8456C55F-BF01-4798-B79B-7388681C398F}.Release|x86.ActiveCfg = Release|Win32 {8456C55F-BF01-4798-B79B-7388681C398F}.Release|x86.Build.0 = Release|Win32 - {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Debug|ARM64.Build.0 = Debug|ARM64 + {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Debug|ARM.ActiveCfg = Debug|ARM + {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Debug|ARM.Build.0 = Debug|ARM + {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Debug|ARM64.ActiveCfg = Debug|Win32 {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Debug|x64.ActiveCfg = Debug|x64 {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Debug|x64.Build.0 = Debug|x64 {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Debug|x86.ActiveCfg = Debug|Win32 {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Debug|x86.Build.0 = Debug|Win32 - {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Release|ARM64.ActiveCfg = Release|ARM64 - {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Release|ARM64.Build.0 = Release|ARM64 + {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Release|ARM.ActiveCfg = Release|ARM + {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Release|ARM.Build.0 = Release|ARM + {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Release|ARM64.ActiveCfg = Release|Win32 {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Release|x64.ActiveCfg = Release|x64 {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Release|x64.Build.0 = Release|x64 {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Release|x86.ActiveCfg = Release|Win32 {DC435C3F-C38E-43D1-B702-DC03F530A3CB}.Release|x86.Build.0 = Release|Win32 - {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Debug|ARM64.Build.0 = Debug|ARM64 + {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Debug|ARM.ActiveCfg = Debug|ARM + {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Debug|ARM.Build.0 = Debug|ARM + {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Debug|ARM64.ActiveCfg = Debug|Win32 {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Debug|x64.ActiveCfg = Debug|x64 {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Debug|x64.Build.0 = Debug|x64 {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Debug|x86.ActiveCfg = Debug|Win32 {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Debug|x86.Build.0 = Debug|Win32 - {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Release|ARM64.ActiveCfg = Release|ARM64 - {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Release|ARM64.Build.0 = Release|ARM64 + {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Release|ARM.ActiveCfg = Release|ARM + {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Release|ARM.Build.0 = Release|ARM + {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Release|ARM64.ActiveCfg = Release|Win32 {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Release|x64.ActiveCfg = Release|x64 {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Release|x64.Build.0 = Release|x64 {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Release|x86.ActiveCfg = Release|Win32 {DC435C3F-C38E-43D1-B702-DC03F530A3DD}.Release|x86.Build.0 = Release|Win32 + {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Debug|ARM.ActiveCfg = Debug|ARM + {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Debug|ARM.Build.0 = Debug|ARM {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Debug|ARM64.ActiveCfg = Debug|ARM64 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Debug|ARM64.Build.0 = Debug|ARM64 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Debug|x64.ActiveCfg = Debug|x64 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Debug|x64.Build.0 = Debug|x64 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Debug|x86.ActiveCfg = Debug|x86 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Debug|x86.Build.0 = Debug|x86 + {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Release|ARM.ActiveCfg = Release|ARM + {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Release|ARM.Build.0 = Release|ARM {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Release|ARM64.ActiveCfg = Release|ARM64 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Release|ARM64.Build.0 = Release|ARM64 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Release|x64.ActiveCfg = Release|x64 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Release|x64.Build.0 = Release|x64 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Release|x86.ActiveCfg = Release|x86 {C47F8562-A2B9-4BA3-87AC-B42D015E241D}.Release|x86.Build.0 = Release|x86 - {8717FA32-34A8-457D-B77B-AE005703EB55}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {8717FA32-34A8-457D-B77B-AE005703EB55}.Debug|ARM64.Build.0 = Debug|ARM64 + {8717FA32-34A8-457D-B77B-AE005703EB55}.Debug|ARM.ActiveCfg = Debug|ARM + {8717FA32-34A8-457D-B77B-AE005703EB55}.Debug|ARM.Build.0 = Debug|ARM + {8717FA32-34A8-457D-B77B-AE005703EB55}.Debug|ARM64.ActiveCfg = Debug|Win32 {8717FA32-34A8-457D-B77B-AE005703EB55}.Debug|x64.ActiveCfg = Debug|x64 {8717FA32-34A8-457D-B77B-AE005703EB55}.Debug|x64.Build.0 = Debug|x64 {8717FA32-34A8-457D-B77B-AE005703EB55}.Debug|x86.ActiveCfg = Debug|Win32 {8717FA32-34A8-457D-B77B-AE005703EB55}.Debug|x86.Build.0 = Debug|Win32 - {8717FA32-34A8-457D-B77B-AE005703EB55}.Release|ARM64.ActiveCfg = Release|ARM64 - {8717FA32-34A8-457D-B77B-AE005703EB55}.Release|ARM64.Build.0 = Release|ARM64 + {8717FA32-34A8-457D-B77B-AE005703EB55}.Release|ARM.ActiveCfg = Release|ARM + {8717FA32-34A8-457D-B77B-AE005703EB55}.Release|ARM.Build.0 = Release|ARM + {8717FA32-34A8-457D-B77B-AE005703EB55}.Release|ARM64.ActiveCfg = Release|Win32 {8717FA32-34A8-457D-B77B-AE005703EB55}.Release|x64.ActiveCfg = Release|x64 {8717FA32-34A8-457D-B77B-AE005703EB55}.Release|x64.Build.0 = Release|x64 {8717FA32-34A8-457D-B77B-AE005703EB55}.Release|x86.ActiveCfg = Release|Win32 {8717FA32-34A8-457D-B77B-AE005703EB55}.Release|x86.Build.0 = Release|Win32 + {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Debug|ARM.ActiveCfg = Debug|ARM + {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Debug|ARM.Build.0 = Debug|ARM {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Debug|ARM64.ActiveCfg = Debug|ARM64 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Debug|ARM64.Build.0 = Debug|ARM64 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Debug|x64.ActiveCfg = Debug|x64 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Debug|x64.Build.0 = Debug|x64 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Debug|x86.ActiveCfg = Debug|Win32 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Debug|x86.Build.0 = Debug|Win32 + {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Release|ARM.ActiveCfg = Release|ARM + {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Release|ARM.Build.0 = Release|ARM {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Release|ARM64.ActiveCfg = Release|ARM64 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Release|ARM64.Build.0 = Release|ARM64 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Release|x64.ActiveCfg = Release|x64 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Release|x64.Build.0 = Release|x64 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Release|x86.ActiveCfg = Release|Win32 {FF846D79-F4B8-495A-9FB4-79BAAEB98E4F}.Release|x86.Build.0 = Release|Win32 - {F89C2185-7834-443D-A449-53BD52FFEA3B}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {F89C2185-7834-443D-A449-53BD52FFEA3B}.Debug|ARM64.Build.0 = Debug|ARM64 + {F89C2185-7834-443D-A449-53BD52FFEA3B}.Debug|ARM.ActiveCfg = Debug|ARM + {F89C2185-7834-443D-A449-53BD52FFEA3B}.Debug|ARM.Build.0 = Debug|ARM + {F89C2185-7834-443D-A449-53BD52FFEA3B}.Debug|ARM64.ActiveCfg = Debug|Win32 {F89C2185-7834-443D-A449-53BD52FFEA3B}.Debug|x64.ActiveCfg = Debug|x64 {F89C2185-7834-443D-A449-53BD52FFEA3B}.Debug|x64.Build.0 = Debug|x64 {F89C2185-7834-443D-A449-53BD52FFEA3B}.Debug|x86.ActiveCfg = Debug|Win32 {F89C2185-7834-443D-A449-53BD52FFEA3B}.Debug|x86.Build.0 = Debug|Win32 - {F89C2185-7834-443D-A449-53BD52FFEA3B}.Release|ARM64.ActiveCfg = Release|ARM64 - {F89C2185-7834-443D-A449-53BD52FFEA3B}.Release|ARM64.Build.0 = Release|ARM64 + {F89C2185-7834-443D-A449-53BD52FFEA3B}.Release|ARM.ActiveCfg = Release|ARM + {F89C2185-7834-443D-A449-53BD52FFEA3B}.Release|ARM.Build.0 = Release|ARM + {F89C2185-7834-443D-A449-53BD52FFEA3B}.Release|ARM64.ActiveCfg = Release|Win32 {F89C2185-7834-443D-A449-53BD52FFEA3B}.Release|x64.ActiveCfg = Release|x64 {F89C2185-7834-443D-A449-53BD52FFEA3B}.Release|x64.Build.0 = Release|x64 {F89C2185-7834-443D-A449-53BD52FFEA3B}.Release|x86.ActiveCfg = Release|Win32 {F89C2185-7834-443D-A449-53BD52FFEA3B}.Release|x86.Build.0 = Release|Win32 - {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Debug|ARM64.Build.0 = Debug|ARM64 + {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Debug|ARM.ActiveCfg = Debug|Win32 + {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Debug|ARM64.ActiveCfg = Debug|Win32 {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Debug|x64.ActiveCfg = Debug|x64 {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Debug|x64.Build.0 = Debug|x64 {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Debug|x86.ActiveCfg = Debug|Win32 {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Debug|x86.Build.0 = Debug|Win32 - {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Release|ARM64.ActiveCfg = Release|ARM64 - {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Release|ARM64.Build.0 = Release|ARM64 + {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Release|ARM.ActiveCfg = Release|Win32 + {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Release|ARM64.ActiveCfg = Release|Win32 {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Release|x64.ActiveCfg = Release|x64 {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Release|x64.Build.0 = Release|x64 {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Release|x86.ActiveCfg = Release|Win32 {4DD64EAE-4B27-415A-863E-55CB8D5863DD}.Release|x86.Build.0 = Release|Win32 + {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Debug|ARM.ActiveCfg = Debug|x64 + {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Debug|ARM.Build.0 = Debug|x64 {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Debug|ARM64.ActiveCfg = Debug|ARM64 {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Debug|ARM64.Build.0 = Debug|ARM64 {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Debug|x64.ActiveCfg = Debug|x64 {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Debug|x64.Build.0 = Debug|x64 {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Debug|x86.ActiveCfg = Debug|Win32 {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Debug|x86.Build.0 = Debug|Win32 + {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Release|ARM.ActiveCfg = Release|x64 + {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Release|ARM.Build.0 = Release|x64 {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Release|ARM64.ActiveCfg = Release|ARM64 {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Release|ARM64.Build.0 = Release|ARM64 {98E28FC8-2EB7-4544-9B6A-941462C6D3E2}.Release|x64.ActiveCfg = Release|x64 diff --git a/test/nuget/TestApp/TestApp.vcxproj b/test/nuget/TestApp/TestApp.vcxproj index f14bd9f0b..fe49c25e4 100644 --- a/test/nuget/TestApp/TestApp.vcxproj +++ b/test/nuget/TestApp/TestApp.vcxproj @@ -16,9 +16,9 @@ - + Debug - ARM64 + ARM Debug @@ -28,9 +28,9 @@ Debug x64 - + Release - ARM64 + ARM Release diff --git a/test/nuget/TestRuntimeComponent1/TestRuntimeComponent1.vcxproj b/test/nuget/TestRuntimeComponent1/TestRuntimeComponent1.vcxproj index b1ee4f43f..98413b501 100644 --- a/test/nuget/TestRuntimeComponent1/TestRuntimeComponent1.vcxproj +++ b/test/nuget/TestRuntimeComponent1/TestRuntimeComponent1.vcxproj @@ -16,9 +16,9 @@ - + Debug - ARM64 + ARM Debug @@ -28,9 +28,9 @@ Debug x64 - + Release - ARM64 + ARM Release diff --git a/test/nuget/TestRuntimeComponent2/TestRuntimeComponent2.vcxproj b/test/nuget/TestRuntimeComponent2/TestRuntimeComponent2.vcxproj index c27db2602..86fd3c3ce 100644 --- a/test/nuget/TestRuntimeComponent2/TestRuntimeComponent2.vcxproj +++ b/test/nuget/TestRuntimeComponent2/TestRuntimeComponent2.vcxproj @@ -17,9 +17,9 @@ - + Debug - ARM64 + ARM Debug @@ -29,9 +29,9 @@ Debug x64 - + Release - ARM64 + ARM Release diff --git a/test/nuget/TestRuntimeComponent3/TestRuntimeComponent3.vcxproj b/test/nuget/TestRuntimeComponent3/TestRuntimeComponent3.vcxproj index 01c84d830..65c4c6a01 100644 --- a/test/nuget/TestRuntimeComponent3/TestRuntimeComponent3.vcxproj +++ b/test/nuget/TestRuntimeComponent3/TestRuntimeComponent3.vcxproj @@ -17,9 +17,9 @@ - + Debug - ARM64 + ARM Debug @@ -29,9 +29,9 @@ Debug x64 - + Release - ARM64 + ARM Release diff --git a/test/nuget/TestRuntimeComponentCSharp/TestRuntimeComponentCSharp.csproj b/test/nuget/TestRuntimeComponentCSharp/TestRuntimeComponentCSharp.csproj index 167b32ad9..ce9208ac8 100644 --- a/test/nuget/TestRuntimeComponentCSharp/TestRuntimeComponentCSharp.csproj +++ b/test/nuget/TestRuntimeComponentCSharp/TestRuntimeComponentCSharp.csproj @@ -36,6 +36,24 @@ false prompt + + ARM + true + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + false + prompt + + + ARM + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + false + prompt + ARM64 true diff --git a/test/nuget/TestRuntimeComponentCX/TestRuntimeComponentCX.vcxproj b/test/nuget/TestRuntimeComponentCX/TestRuntimeComponentCX.vcxproj index 819cff52b..036d3a195 100644 --- a/test/nuget/TestRuntimeComponentCX/TestRuntimeComponentCX.vcxproj +++ b/test/nuget/TestRuntimeComponentCX/TestRuntimeComponentCX.vcxproj @@ -2,6 +2,10 @@ + + Debug + ARM + Debug ARM64 @@ -14,6 +18,10 @@ Debug x64 + + Release + ARM + Release ARM64 @@ -61,6 +69,12 @@ + + + + + + @@ -81,6 +95,12 @@ false + + false + + + false + false @@ -129,6 +149,38 @@ false + + + Use + _WINRT_DLL;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj /Zc:twoPhase- %(AdditionalOptions) + 28204 + true + + + Console + false + + + + + Use + _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj /Zc:twoPhase- %(AdditionalOptions) + 28204 + true + + + Console + false + + Use @@ -211,6 +263,8 @@ Create Create Create + Create + Create Create Create diff --git a/test/nuget/TestRuntimeComponentCXReferencingWinRTStaticLibrary/TestRuntimeComponentCXReferencingWinRTStaticLibrary.vcxproj b/test/nuget/TestRuntimeComponentCXReferencingWinRTStaticLibrary/TestRuntimeComponentCXReferencingWinRTStaticLibrary.vcxproj index 6ce188345..0b9fdf63a 100644 --- a/test/nuget/TestRuntimeComponentCXReferencingWinRTStaticLibrary/TestRuntimeComponentCXReferencingWinRTStaticLibrary.vcxproj +++ b/test/nuget/TestRuntimeComponentCXReferencingWinRTStaticLibrary/TestRuntimeComponentCXReferencingWinRTStaticLibrary.vcxproj @@ -2,6 +2,10 @@ + + Debug + ARM + Debug ARM64 @@ -14,6 +18,10 @@ Debug x64 + + Release + ARM + Release ARM64 @@ -43,6 +51,10 @@ DynamicLibrary true + + DynamicLibrary + true + DynamicLibrary true @@ -56,6 +68,11 @@ false true + + DynamicLibrary + false + true + DynamicLibrary false @@ -77,6 +94,12 @@ + + + + + + @@ -97,6 +120,12 @@ false + + false + + + false + false @@ -143,6 +172,36 @@ false + + + Use + _WINRT_DLL;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj /Zc:twoPhase- %(AdditionalOptions) + 28204 + + + Console + false + + + + + Use + _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj /Zc:twoPhase- %(AdditionalOptions) + 28204 + + + Console + false + + Use @@ -221,6 +280,8 @@ Create Create Create + Create + Create Create Create diff --git a/test/nuget/TestRuntimeComponentEmpty/TestRuntimeComponentEmpty.vcxproj b/test/nuget/TestRuntimeComponentEmpty/TestRuntimeComponentEmpty.vcxproj index 60786eddb..a16148f52 100644 --- a/test/nuget/TestRuntimeComponentEmpty/TestRuntimeComponentEmpty.vcxproj +++ b/test/nuget/TestRuntimeComponentEmpty/TestRuntimeComponentEmpty.vcxproj @@ -17,9 +17,9 @@ - + Debug - ARM64 + ARM Debug @@ -29,9 +29,9 @@ Debug x64 - + Release - ARM64 + ARM Release diff --git a/test/nuget/TestRuntimeComponentNamespaceUnderscore/TestRuntimeComponentNamespaceUnderscore.vcxproj b/test/nuget/TestRuntimeComponentNamespaceUnderscore/TestRuntimeComponentNamespaceUnderscore.vcxproj index fb8146340..0eec74f45 100644 --- a/test/nuget/TestRuntimeComponentNamespaceUnderscore/TestRuntimeComponentNamespaceUnderscore.vcxproj +++ b/test/nuget/TestRuntimeComponentNamespaceUnderscore/TestRuntimeComponentNamespaceUnderscore.vcxproj @@ -17,9 +17,9 @@ - + Debug - ARM64 + ARM Debug @@ -29,9 +29,9 @@ Debug x64 - + Release - ARM64 + ARM Release diff --git a/test/nuget/TestStaticLibrary1/TestStaticLibrary1.vcxproj b/test/nuget/TestStaticLibrary1/TestStaticLibrary1.vcxproj index 13ac4e201..742136697 100644 --- a/test/nuget/TestStaticLibrary1/TestStaticLibrary1.vcxproj +++ b/test/nuget/TestStaticLibrary1/TestStaticLibrary1.vcxproj @@ -18,9 +18,9 @@ - + Debug - ARM64 + ARM Debug @@ -30,9 +30,9 @@ Debug x64 - + Release - ARM64 + ARM Release @@ -70,10 +70,10 @@ - + - + @@ -113,7 +113,7 @@ true - + Use Level4 @@ -175,7 +175,7 @@ true - + Use Level4 @@ -208,10 +208,10 @@ Create Create - Create + Create Create Create - Create + Create TestStaticLibrary1Class.idl diff --git a/test/nuget/TestStaticLibrary2/TestStaticLibrary2.vcxproj b/test/nuget/TestStaticLibrary2/TestStaticLibrary2.vcxproj index b419d183e..492148b91 100644 --- a/test/nuget/TestStaticLibrary2/TestStaticLibrary2.vcxproj +++ b/test/nuget/TestStaticLibrary2/TestStaticLibrary2.vcxproj @@ -18,9 +18,9 @@ - + Debug - ARM64 + ARM Debug @@ -30,9 +30,9 @@ Debug x64 - + Release - ARM64 + ARM Release @@ -70,10 +70,10 @@ - + - + @@ -113,7 +113,7 @@ true - + Use Level4 @@ -175,7 +175,7 @@ true - + Use Level4 @@ -208,10 +208,10 @@ Create Create - Create + Create Create Create - Create + Create TestStaticLibrary2Class.idl diff --git a/test/nuget/TestStaticLibrary3/TestStaticLibrary3.vcxproj b/test/nuget/TestStaticLibrary3/TestStaticLibrary3.vcxproj index 210802841..0064ffbf4 100644 --- a/test/nuget/TestStaticLibrary3/TestStaticLibrary3.vcxproj +++ b/test/nuget/TestStaticLibrary3/TestStaticLibrary3.vcxproj @@ -18,9 +18,9 @@ - + Debug - ARM64 + ARM Debug @@ -30,9 +30,9 @@ Debug x64 - + Release - ARM64 + ARM Release @@ -70,10 +70,10 @@ - + - + @@ -113,7 +113,7 @@ true - + Use Level4 @@ -175,7 +175,7 @@ true - + Use Level4 @@ -208,10 +208,10 @@ Create Create - Create + Create Create Create - Create + Create TestStaticLibrary3Class.idl diff --git a/test/nuget/TestStaticLibrary4/TestStaticLibrary4.vcxproj b/test/nuget/TestStaticLibrary4/TestStaticLibrary4.vcxproj index 357d0ca70..c6a48f1dd 100644 --- a/test/nuget/TestStaticLibrary4/TestStaticLibrary4.vcxproj +++ b/test/nuget/TestStaticLibrary4/TestStaticLibrary4.vcxproj @@ -2,9 +2,9 @@ - + Debug - ARM64 + ARM Debug @@ -14,9 +14,9 @@ Debug x64 - + Release - ARM64 + ARM Release @@ -65,10 +65,10 @@ - + - + @@ -85,10 +85,10 @@ false - + false - + false @@ -125,7 +125,7 @@ false - + Use false @@ -139,7 +139,7 @@ false - + Use false @@ -193,10 +193,10 @@ Create Create + Create + Create Create Create - Create - Create Create Create diff --git a/test/nuget/TestStaticLibrary5/TestStaticLibrary5.vcxproj b/test/nuget/TestStaticLibrary5/TestStaticLibrary5.vcxproj index d93446a05..904e64f6b 100644 --- a/test/nuget/TestStaticLibrary5/TestStaticLibrary5.vcxproj +++ b/test/nuget/TestStaticLibrary5/TestStaticLibrary5.vcxproj @@ -2,9 +2,9 @@ - + Debug - ARM64 + ARM Debug @@ -14,9 +14,9 @@ Debug x64 - + Release - ARM64 + ARM Release @@ -65,10 +65,10 @@ - + - + @@ -85,10 +85,10 @@ false - + false - + false @@ -125,7 +125,7 @@ false - + Use false @@ -139,7 +139,7 @@ false - + Use false @@ -193,10 +193,10 @@ Create Create + Create + Create Create Create - Create - Create Create Create diff --git a/test/nuget/TestStaticLibrary6/TestStaticLibrary6.vcxproj b/test/nuget/TestStaticLibrary6/TestStaticLibrary6.vcxproj index 626e60dab..a293f25fc 100644 --- a/test/nuget/TestStaticLibrary6/TestStaticLibrary6.vcxproj +++ b/test/nuget/TestStaticLibrary6/TestStaticLibrary6.vcxproj @@ -2,9 +2,9 @@ - + Debug - ARM64 + ARM Debug @@ -14,9 +14,9 @@ Debug x64 - + Release - ARM64 + ARM Release @@ -65,10 +65,10 @@ - + - + @@ -85,10 +85,10 @@ false - + false - + false @@ -125,7 +125,7 @@ false - + Use false @@ -139,7 +139,7 @@ false - + Use false @@ -197,10 +197,10 @@ Create Create + Create + Create Create Create - Create - Create Create Create diff --git a/test/nuget/TestStaticLibrary7/TestStaticLibrary7.vcxproj b/test/nuget/TestStaticLibrary7/TestStaticLibrary7.vcxproj index 85d6bec7f..d18def06c 100644 --- a/test/nuget/TestStaticLibrary7/TestStaticLibrary7.vcxproj +++ b/test/nuget/TestStaticLibrary7/TestStaticLibrary7.vcxproj @@ -18,9 +18,9 @@ - + Debug - ARM64 + ARM Debug @@ -30,9 +30,9 @@ Debug x64 - + Release - ARM64 + ARM Release diff --git a/test/old_tests/Component/Component.vcxproj b/test/old_tests/Component/Component.vcxproj index 162c8fec7..45c566634 100644 --- a/test/old_tests/Component/Component.vcxproj +++ b/test/old_tests/Component/Component.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -13,6 +17,10 @@ Debug x64 + + Release + ARM + Release ARM64 @@ -38,6 +46,11 @@ true x64 + + DynamicLibrary + true + x64 + DynamicLibrary true @@ -54,6 +67,12 @@ true x64 + + DynamicLibrary + false + true + x64 + DynamicLibrary false @@ -74,12 +93,18 @@ + + + + + + @@ -96,6 +121,12 @@ false Midl + + false + false + ..\..;$(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl + false false @@ -106,6 +137,12 @@ false Midl + + false + false + ..\..;$(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl + false false @@ -169,6 +206,42 @@ + + + false + $(ProjectDir);$(OutputPath);Generated Files;..\Composable\Generated Files + false + MultiThreadedDebug + NOMINMAX;_WINDLL;%(PreprocessorDefinitions) + 4100;4297;4458 + + + Console + false + module.def + true + + + + + + + + + ..\Composable + + + + + + + + + + + + + false @@ -242,6 +315,41 @@ + + + false + $(ProjectDir);$(OutputPath);Generated Files;..\Composable\Generated Files + MultiThreaded + NOMINMAX;_WINDLL;%(PreprocessorDefinitions) + 4100;4297;4458 + + + Console + false + module.def + true + + + + + + + + + ..\Composable + + + + + + + + + + + + + false @@ -376,38 +484,50 @@ $(SystemRoot)\System32\WinMetadata + $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata + $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata $(OutputPath)$(ProjectName).winmd + $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd + $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd true + true true true + true true true true $(OutputPath)$(ProjectName)_h.h + $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h + $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h ..\Composable + ..\Composable ..\Composable ..\Composable + ..\Composable ..\Composable ..\Composable ..\Composable true + true true true + true true true true diff --git a/test/old_tests/Composable/Composable.vcxproj b/test/old_tests/Composable/Composable.vcxproj index fcfd095fc..f94d46edc 100644 --- a/test/old_tests/Composable/Composable.vcxproj +++ b/test/old_tests/Composable/Composable.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -13,6 +17,10 @@ Debug x64 + + Release + ARM + Release ARM64 @@ -38,6 +46,11 @@ true x64 + + DynamicLibrary + true + x64 + DynamicLibrary true @@ -54,6 +67,12 @@ true x64 + + DynamicLibrary + false + true + x64 + DynamicLibrary false @@ -74,12 +93,18 @@ + + + + + + @@ -96,6 +121,12 @@ false Midl + + false + false + ..\..;$(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl + false false @@ -106,6 +137,12 @@ false Midl + + false + false + ..\..;$(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl + false false @@ -169,6 +206,42 @@ + + + false + $(ProjectDir);$(OutDir);Generated Files + false + MultiThreadedDebug + NOMINMAX;_WINDLL;%(PreprocessorDefinitions) + 4100;4297;4458 + precomp.hpp + + + Console + false + module.def + true + + + + + + + + + + + + + + + + + + + + + false @@ -242,6 +315,41 @@ + + + false + $(ProjectDir);$(OutDir);Generated Files + MultiThreaded + NOMINMAX;_WINDLL;%(PreprocessorDefinitions) + 4100;4297;4458 + precomp.hpp + + + Console + false + module.def + true + + + + + + + + + + + + + + + + + + + + + false @@ -368,32 +476,42 @@ $(SystemRoot)\System32\WinMetadata + $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata + $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata $(SystemRoot)\System32\WinMetadata $(OutputPath)$(ProjectName).winmd + $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd + $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd $(OutputPath)$(ProjectName).winmd true + true true true + true true true true $(OutputPath)$(ProjectName)_h.h + $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h + $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h $(OutputPath)$(ProjectName)_h.h true + true true true + true true true true diff --git a/test/old_tests/UnitTests/Tests.vcxproj b/test/old_tests/UnitTests/Tests.vcxproj index c5169ad4d..1d6779315 100644 --- a/test/old_tests/UnitTests/Tests.vcxproj +++ b/test/old_tests/UnitTests/Tests.vcxproj @@ -1,6 +1,10 @@  + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -138,6 +146,11 @@ true x64 + + Application + true + x64 + Application true @@ -149,6 +162,12 @@ x64 true + + Application + false + x64 + true + Application false @@ -174,12 +193,18 @@ + + + + + + @@ -217,6 +242,25 @@ $(OutDir)test_old.exe + + + Disabled + _HAS_AUTO_PTR_ETC;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(OutputPath);..\Composable\Generated Files;..\Component\Generated Files;..\Composable;..\Reflection\Generated Files;..\..\; + ProgramDatabase + Default + false + false + MultiThreadedDebug + 4100;4297;4458 + + + Console + true + false + $(OutDir)test_old.exe + + Disabled @@ -280,6 +324,25 @@ $(OutDir)test_old.exe + + + MaxSpeed + true + true + _HAS_AUTO_PTR_ETC;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(OutputPath);..\Composable\Generated Files;..\Component\Generated Files;..\Composable;..\Reflection\Generated Files;..\..\; + MultiThreaded + 4100;4297;4458 + + + Console + true + true + true + false + $(OutDir)test_old.exe + + MaxSpeed diff --git a/test/test/test.vcxproj b/test/test/test.vcxproj index 43928dab2..d1efe8f7d 100644 --- a/test/test/test.vcxproj +++ b/test/test/test.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -37,6 +45,10 @@ Application true + + Application + true + Application true @@ -46,6 +58,11 @@ false true + + Application + false + true + Application false @@ -68,12 +85,18 @@ + + + + + + @@ -128,6 +151,24 @@ + + + Disabled + $(OutputPath);Generated Files;..;..\..\cppwinrt + _MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Console + + + $(CppWinRTDir)cppwinrt -in $(OutputPath)test_component.winmd $(OutputPath)test_component_no_pch.winmd -out "$(ProjectDir)Generated Files" -ref sdk -verbose -fastabi + + + + + + Disabled @@ -192,6 +233,28 @@ + + + MaxSpeed + true + true + $(OutputPath);Generated Files;..;..\..\cppwinrt + _MBCS;%(PreprocessorDefinitions) + MultiThreaded + + + Console + true + true + + + $(CppWinRTDir)cppwinrt -in $(OutputPath)test_component.winmd $(OutputPath)test_component_no_pch.winmd -out "$(ProjectDir)Generated Files" -ref sdk -verbose -fastabi + + + + + + MaxSpeed @@ -240,6 +303,8 @@ NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing @@ -248,6 +313,8 @@ NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing @@ -256,6 +323,8 @@ NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing @@ -293,6 +362,8 @@ NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing @@ -303,6 +374,8 @@ NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing @@ -314,6 +387,8 @@ NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing @@ -331,6 +406,8 @@ NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing diff --git a/test/test_component/test_component.vcxproj b/test/test_component/test_component.vcxproj index 3ffdb8f97..f927e4034 100644 --- a/test/test_component/test_component.vcxproj +++ b/test/test_component/test_component.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -38,6 +46,11 @@ true x64 + + DynamicLibrary + true + x64 + DynamicLibrary true @@ -49,6 +62,12 @@ true x64 + + DynamicLibrary + false + true + x64 + DynamicLibrary false @@ -74,12 +93,18 @@ + + + + + + @@ -93,12 +118,20 @@ Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl @@ -146,6 +179,55 @@ true + + + Disabled + .;$(OutputPath);Generated Files + /Zc:threadSafeInit- /we4640 %(AdditionalOptions) + MultiThreadedDebug + + + exports.def + + + true + + + $(OutputPath)test_component.winmd + + + + + + + + + + + $(OutputPath)test_component.h + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + Disabled @@ -277,6 +359,59 @@ true + + + MaxSpeed + true + true + .;$(OutputPath);Generated Files + /Zc:threadSafeInit- /we4640 %(AdditionalOptions) + MultiThreaded + + + true + true + exports.def + + + true + + + $(OutputPath)test_component.winmd + + + + + + + + + + + $(OutputPath)test_component.h + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + MaxSpeed diff --git a/test/test_component_base/test_component_base.vcxproj b/test/test_component_base/test_component_base.vcxproj index 90577a2c5..b824a4b29 100644 --- a/test/test_component_base/test_component_base.vcxproj +++ b/test/test_component_base/test_component_base.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -38,6 +46,11 @@ true x64 + + DynamicLibrary + true + x64 + DynamicLibrary true @@ -49,6 +62,12 @@ true x64 + + DynamicLibrary + false + true + x64 + DynamicLibrary false @@ -74,12 +93,18 @@ + + + + + + @@ -93,12 +118,20 @@ Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl @@ -158,6 +191,68 @@ $(OutputPath)test_component_base.winmd + + + Disabled + $(ProjectDir);$(OutputPath);Generated Files + 4100 + MultiThreadedDebug + + + exports.def + + + true + + + $(OutputPath)test_component_base.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_base.winmd -comp $(ProjectDir) -out "$(ProjectDir)Generated Files" -ref sdk -verbose -name test_component_base + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_base.winmd + + Disabled @@ -326,6 +421,72 @@ $(OutputPath)test_component_base.winmd + + + MaxSpeed + true + true + $(ProjectDir);$(OutputPath);Generated Files + 4100 + MultiThreaded + + + true + true + exports.def + + + true + + + $(OutputPath)test_component_base.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_base.winmd -comp $(ProjectDir) -out "$(ProjectDir)Generated Files" -ref sdk -verbose -name test_component_base + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_base.winmd + + MaxSpeed diff --git a/test/test_component_derived/test_component_derived.vcxproj b/test/test_component_derived/test_component_derived.vcxproj index 837d8821e..5cab40b8f 100644 --- a/test/test_component_derived/test_component_derived.vcxproj +++ b/test/test_component_derived/test_component_derived.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -38,6 +46,11 @@ true x64 + + DynamicLibrary + true + x64 + DynamicLibrary true @@ -49,6 +62,12 @@ true x64 + + DynamicLibrary + false + true + x64 + DynamicLibrary false @@ -74,12 +93,18 @@ + + + + + + @@ -93,12 +118,20 @@ Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl @@ -159,6 +192,69 @@ $(OutputPath)test_component_derived.winmd + + + Disabled + $(ProjectDir);$(OutputPath);Generated Files;..\test_component_base\Generated Files + 4100 + MultiThreadedDebug + + + exports.def + + + true + + + $(OutputPath)test_component_derived.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + ..\test_component_base + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_derived.winmd -ref $(OutputPath)test_component_base.winmd -comp $(ProjectDir) -out "$(ProjectDir)Generated Files" -ref sdk -verbose -name test_component_derived + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_derived.winmd + + Disabled @@ -330,6 +426,73 @@ $(OutputPath)test_component_derived.winmd + + + MaxSpeed + true + true + $(ProjectDir);$(OutputPath);Generated Files;..\test_component_base\Generated Files + 4100 + MultiThreaded + + + true + true + exports.def + + + true + + + $(OutputPath)test_component_derived.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + ..\test_component_base + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_derived.winmd -ref $(OutputPath)test_component_base.winmd -comp $(ProjectDir) -out "$(ProjectDir)Generated Files" -ref sdk -verbose -name test_component_derived + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_derived.winmd + + MaxSpeed diff --git a/test/test_component_fast/test_component_fast.vcxproj b/test/test_component_fast/test_component_fast.vcxproj index ed5a36222..3b7b07dbf 100644 --- a/test/test_component_fast/test_component_fast.vcxproj +++ b/test/test_component_fast/test_component_fast.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -39,6 +47,11 @@ true x64 + + DynamicLibrary + true + x64 + DynamicLibrary true @@ -50,6 +63,12 @@ true x64 + + DynamicLibrary + false + true + x64 + DynamicLibrary false @@ -75,12 +94,18 @@ + + + + + + @@ -94,12 +119,20 @@ Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl @@ -160,6 +193,69 @@ $(OutputPath)test_component_fast.winmd + + + Disabled + $(ProjectDir);$(OutputPath);Generated Files + /DWINRT_FAST_ABI_SIZE=50 %(AdditionalOptions) + 4100 + MultiThreadedDebug + + + exports.def + + + true + + + $(OutputPath)test_component_fast.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_fast.winmd -comp $(ProjectDir) -out "$(ProjectDir)Generated Files" -ref sdk -verbose -fastabi -prefix -opt -name test_component_fast + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_fast.winmd + + Disabled @@ -331,6 +427,73 @@ $(OutputPath)test_component_fast.winmd + + + MaxSpeed + true + true + $(ProjectDir);$(OutputPath);Generated Files + /DWINRT_FAST_ABI_SIZE=50 %(AdditionalOptions) + 4100 + MultiThreaded + + + true + true + exports.def + + + true + + + $(OutputPath)test_component_fast.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_fast.winmd -comp $(ProjectDir) -out "$(ProjectDir)Generated Files" -ref sdk -verbose -fastabi -prefix -opt -name test_component_fast + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_fast.winmd + + MaxSpeed diff --git a/test/test_component_folders/test_component_folders.vcxproj b/test/test_component_folders/test_component_folders.vcxproj index 14c12f8f9..5bd0ddd57 100644 --- a/test/test_component_folders/test_component_folders.vcxproj +++ b/test/test_component_folders/test_component_folders.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -38,6 +46,11 @@ true x64 + + DynamicLibrary + true + x64 + DynamicLibrary true @@ -49,6 +62,12 @@ true x64 + + DynamicLibrary + false + true + x64 + DynamicLibrary false @@ -74,12 +93,18 @@ + + + + + + @@ -93,12 +118,20 @@ Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl @@ -158,6 +191,68 @@ $(OutputPath)test_component_folders.winmd + + + Disabled + $(ProjectDir);$(OutputPath);Generated Files + 4100 + MultiThreadedDebug + + + exports.def + + + true + + + $(OutputPath)test_component_folders.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_folders.winmd -comp -out "$(ProjectDir)Generated Files" -ref sdk -verbose -overwrite -name test_component_folders + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_folders.winmd + + Disabled @@ -326,6 +421,72 @@ $(OutputPath)test_component_folders.winmd + + + MaxSpeed + true + true + $(ProjectDir);$(OutputPath);Generated Files + 4100 + MultiThreaded + + + true + true + exports.def + + + true + + + $(OutputPath)test_component_folders.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_folders.winmd -comp -out "$(ProjectDir)Generated Files" -ref sdk -verbose -overwrite -name test_component_folders + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_folders.winmd + + MaxSpeed diff --git a/test/test_component_no_pch/test_component_no_pch.vcxproj b/test/test_component_no_pch/test_component_no_pch.vcxproj index 117be2d00..d41cabb67 100644 --- a/test/test_component_no_pch/test_component_no_pch.vcxproj +++ b/test/test_component_no_pch/test_component_no_pch.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -38,6 +46,11 @@ true x64 + + DynamicLibrary + true + x64 + DynamicLibrary true @@ -49,6 +62,12 @@ true x64 + + DynamicLibrary + false + true + x64 + DynamicLibrary false @@ -74,12 +93,18 @@ + + + + + + @@ -93,12 +118,20 @@ Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl Midl + + Midl + $(VC_ExecutablePath_x86);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); + Midl @@ -159,6 +192,69 @@ $(OutputPath)test_component_no_pch.winmd + + + Disabled + $(ProjectDir);$(OutputPath);Generated Files + 4100 + NotUsing + MultiThreadedDebug + + + exports.def + + + true + + + $(OutputPath)test_component_no_pch.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_no_pch.winmd -comp -out "$(ProjectDir)Generated Files" -ref sdk -verbose -overwrite -pch . -name test_component_no_pch + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_no_pch.winmd + + Disabled @@ -330,6 +426,73 @@ $(OutputPath)test_component_no_pch.winmd + + + MaxSpeed + true + true + $(ProjectDir);$(OutputPath);Generated Files + 4100 + NotUsing + MultiThreaded + + + true + true + exports.def + + + true + + + $(OutputPath)test_component_no_pch.winmd + + + + + + + + + + + nul + + + + + + + + + + + + + + + + + + + /nomidl %(AdditionalOptions) + C:\Windows\System32\WinMetadata + true + + + $(CppWinRTDir)cppwinrt -input $(OutputPath)test_component_no_pch.winmd -comp -out "$(ProjectDir)Generated Files" -ref sdk -verbose -overwrite -pch . -name test_component_no_pch + + + + + + + Generated Files\module.g.cpp + + + $(OutputPath)test_component_no_pch.winmd + + MaxSpeed diff --git a/test/test_cpp20/test_cpp20.vcxproj b/test/test_cpp20/test_cpp20.vcxproj index 4eaee0a18..a0156e9c8 100644 --- a/test/test_cpp20/test_cpp20.vcxproj +++ b/test/test_cpp20/test_cpp20.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -38,6 +46,10 @@ Application true + + Application + true + Application true @@ -47,6 +59,11 @@ false true + + Application + false + true + Application false @@ -69,12 +86,18 @@ + + + + + + @@ -133,6 +156,25 @@ + + + Disabled + $(OutputPath);Generated Files;..\ + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Console + + + + + + + + + + Disabled @@ -203,6 +245,29 @@ + + + MaxSpeed + true + true + $(OutputPath);Generated Files;..\ + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + + + Console + true + true + + + + + + + + + + MaxSpeed diff --git a/test/test_cpp20_no_sourcelocation/test_cpp20_no_sourcelocation.vcxproj b/test/test_cpp20_no_sourcelocation/test_cpp20_no_sourcelocation.vcxproj index 85c3e1532..a7b17022c 100644 --- a/test/test_cpp20_no_sourcelocation/test_cpp20_no_sourcelocation.vcxproj +++ b/test/test_cpp20_no_sourcelocation/test_cpp20_no_sourcelocation.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -38,6 +46,10 @@ Application true + + Application + true + Application true @@ -47,6 +59,11 @@ false true + + Application + false + true + Application false @@ -69,12 +86,18 @@ + + + + + + @@ -135,6 +158,25 @@ + + + Disabled + $(OutputPath);Generated Files;..\ + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Console + + + + + + + + + + Disabled @@ -196,6 +238,29 @@ + + + MaxSpeed + true + true + $(OutputPath);Generated Files;..\ + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + + + Console + true + true + + + + + + + + + + MaxSpeed diff --git a/test/test_fast/test_fast.vcxproj b/test/test_fast/test_fast.vcxproj index c01907348..478a8023a 100644 --- a/test/test_fast/test_fast.vcxproj +++ b/test/test_fast/test_fast.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -37,6 +45,10 @@ Application true + + Application + true + Application true @@ -46,6 +58,11 @@ false true + + Application + false + true + Application false @@ -68,12 +85,18 @@ + + + + + + @@ -130,6 +153,25 @@ + + + Disabled + $(OutputPath);Generated Files;..\; + WINRT_DIAGNOSTICS;NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Console + false + + + $(CppWinRTDir)cppwinrt -in $(OutputPath)test_component_fast.winmd -out "$(ProjectDir)Generated Files" -ref sdk -verbose -fastabi + + + + + + Disabled @@ -197,6 +239,29 @@ + + + MaxSpeed + true + true + $(OutputPath);Generated Files;..\; + WINRT_DIAGNOSTICS;NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + + + Console + true + true + false + + + $(CppWinRTDir)cppwinrt -in $(OutputPath)test_component_fast.winmd -out "$(ProjectDir)Generated Files" -ref sdk -verbose -fastabi + + + + + + MaxSpeed diff --git a/test/test_fast_fwd/test_fast_fwd.vcxproj b/test/test_fast_fwd/test_fast_fwd.vcxproj index 6d049b1a9..801ec5fca 100644 --- a/test/test_fast_fwd/test_fast_fwd.vcxproj +++ b/test/test_fast_fwd/test_fast_fwd.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -124,6 +132,30 @@ + + + Disabled + true + true + $(CppWinRTDir);$(OutputPath);Generated Files;..\ + stdcpp17 + Use + pch.h + true + WINRT_DIAGNOSTICS;NOMINMAX;_MBCS;%(PreprocessorDefinitions) + + + Console + windowsapp.lib + + + $(CppWinRTDir)cppwinrt -in $(CppWinRTDir)test_component_fast.winmd -out "$(ProjectDir)Generated Files" -ref sdk -verbose -fastabi + + + + + + Disabled @@ -192,6 +224,34 @@ + + + MaxSpeed + true + true + true + true + $(CppWinRTDir);$(OutputPath);Generated Files;..\ + stdcpp17 + Use + pch.h + true + WINRT_DIAGNOSTICS;NOMINMAX;_MBCS;%(PreprocessorDefinitions) + + + Console + true + true + windowsapp.lib + + + $(CppWinRTDir)cppwinrt -in $(CppWinRTDir)test_component_fast.winmd -out "$(ProjectDir)Generated Files" -ref sdk -verbose -fastabi + + + + + + @@ -277,12 +337,18 @@ false MultiThreaded + + MultiThreaded + MultiThreaded MultiThreaded + + MultiThreadedDebug + MultiThreadedDebug diff --git a/test/test_module_lock_custom/test_module_lock_custom.vcxproj b/test/test_module_lock_custom/test_module_lock_custom.vcxproj index 64da0d8bc..e56b980ec 100644 --- a/test/test_module_lock_custom/test_module_lock_custom.vcxproj +++ b/test/test_module_lock_custom/test_module_lock_custom.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -37,6 +45,10 @@ Application true + + Application + true + Application true @@ -46,6 +58,11 @@ false true + + Application + false + true + Application false @@ -68,12 +85,18 @@ + + + + + + @@ -130,6 +153,25 @@ + + + Disabled + $(OutputPath);Generated Files;..\; + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Console + + + + + + + + + + Disabled @@ -197,6 +239,29 @@ + + + MaxSpeed + true + true + $(OutputPath);Generated Files;..\; + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + + + Console + true + true + + + + + + + + + + MaxSpeed diff --git a/test/test_module_lock_none/test_module_lock_none.vcxproj b/test/test_module_lock_none/test_module_lock_none.vcxproj index d9242a281..d2f5ce61d 100644 --- a/test/test_module_lock_none/test_module_lock_none.vcxproj +++ b/test/test_module_lock_none/test_module_lock_none.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -37,6 +45,10 @@ Application true + + Application + true + Application true @@ -46,6 +58,11 @@ false true + + Application + false + true + Application false @@ -68,12 +85,18 @@ + + + + + + @@ -130,6 +153,25 @@ + + + Disabled + $(OutputPath);Generated Files;..\ + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Console + + + + + + + + + + Disabled @@ -197,6 +239,29 @@ + + + MaxSpeed + true + true + $(OutputPath);Generated Files;..\ + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + + + Console + true + true + + + + + + + + + + MaxSpeed diff --git a/test/test_slow/test_slow.vcxproj b/test/test_slow/test_slow.vcxproj index 5b753a17a..6094681c7 100644 --- a/test/test_slow/test_slow.vcxproj +++ b/test/test_slow/test_slow.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -37,6 +45,10 @@ Application true + + Application + true + Application true @@ -46,6 +58,11 @@ false true + + Application + false + true + Application false @@ -68,12 +85,18 @@ + + + + + + @@ -128,6 +151,24 @@ + + + Disabled + $(OutputPath);Generated Files;..\ + WINRT_DIAGNOSTICS;NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Console + + + $(CppWinRTDir)cppwinrt -in $(OutputPath)test_component_fast.winmd -out "$(ProjectDir)Generated Files" -ref sdk -verbose + + + + + + Disabled @@ -192,6 +233,28 @@ + + + MaxSpeed + true + true + $(OutputPath);Generated Files;..\ + WINRT_DIAGNOSTICS;NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + + + Console + true + true + + + $(CppWinRTDir)cppwinrt -in $(OutputPath)test_component_fast.winmd -out "$(ProjectDir)Generated Files" -ref sdk -verbose + + + + + + MaxSpeed diff --git a/vsix/ProjectTemplates/VC/Windows Universal/BlankApp/BlankApp.vcxproj b/vsix/ProjectTemplates/VC/Windows Universal/BlankApp/BlankApp.vcxproj index ae3d074f2..9b8d8636f 100644 --- a/vsix/ProjectTemplates/VC/Windows Universal/BlankApp/BlankApp.vcxproj +++ b/vsix/ProjectTemplates/VC/Windows Universal/BlankApp/BlankApp.vcxproj @@ -18,6 +18,10 @@ + + Debug + ARM + Debug ARM64 @@ -30,6 +34,10 @@ Debug x64 + + Release + ARM + Release ARM64 diff --git a/vsix/ProjectTemplates/VC/Windows Universal/CoreApp/CoreApp.vcxproj b/vsix/ProjectTemplates/VC/Windows Universal/CoreApp/CoreApp.vcxproj index 2d891ef11..839bcdc59 100644 --- a/vsix/ProjectTemplates/VC/Windows Universal/CoreApp/CoreApp.vcxproj +++ b/vsix/ProjectTemplates/VC/Windows Universal/CoreApp/CoreApp.vcxproj @@ -17,6 +17,10 @@ + + Debug + ARM + Debug ARM64 @@ -29,6 +33,10 @@ Debug x64 + + Release + ARM + Release ARM64 diff --git a/vsix/ProjectTemplates/VC/Windows Universal/StaticLibrary/StaticLibrary.vcxproj b/vsix/ProjectTemplates/VC/Windows Universal/StaticLibrary/StaticLibrary.vcxproj index 2afea1c00..c6e93db57 100644 --- a/vsix/ProjectTemplates/VC/Windows Universal/StaticLibrary/StaticLibrary.vcxproj +++ b/vsix/ProjectTemplates/VC/Windows Universal/StaticLibrary/StaticLibrary.vcxproj @@ -19,6 +19,10 @@ + + Debug + ARM + Debug ARM64 @@ -31,6 +35,10 @@ Debug x64 + + Release + ARM + Release ARM64 diff --git a/vsix/ProjectTemplates/VC/Windows Universal/WindowsRuntimeComponent/WindowsRuntimeComponent.vcxproj b/vsix/ProjectTemplates/VC/Windows Universal/WindowsRuntimeComponent/WindowsRuntimeComponent.vcxproj index da87bf2fb..c0fbd95ce 100644 --- a/vsix/ProjectTemplates/VC/Windows Universal/WindowsRuntimeComponent/WindowsRuntimeComponent.vcxproj +++ b/vsix/ProjectTemplates/VC/Windows Universal/WindowsRuntimeComponent/WindowsRuntimeComponent.vcxproj @@ -18,6 +18,10 @@ + + Debug + ARM + Debug ARM64 @@ -30,6 +34,10 @@ Debug x64 + + Release + ARM + Release ARM64 From 2f1ad71360510bb457442a17594a6f97b6a8f55c Mon Sep 17 00:00:00 2001 From: ahmed605 Date: Sat, 1 Aug 2026 21:18:02 +0300 Subject: [PATCH 2/6] NuGet Package --- build_nuget.cmd | 14 +++++++------- build_prior_projection.cmd | 2 +- build_vsix.cmd | 2 +- ...CppWinRT.nuspec => COMplicated.CppWinRT.nuspec} | 14 +++++++------- ...s.CppWinRT.props => COMplicated.CppWinRT.props} | 0 ...pWinRT.targets => COMplicated.CppWinRT.targets} | 0 nuget/readme.md | 6 ++---- nuget/readme.txt | 4 ++-- 8 files changed, 20 insertions(+), 22 deletions(-) rename nuget/{Microsoft.Windows.CppWinRT.nuspec => COMplicated.CppWinRT.nuspec} (77%) rename nuget/{Microsoft.Windows.CppWinRT.props => COMplicated.CppWinRT.props} (100%) rename nuget/{Microsoft.Windows.CppWinRT.targets => COMplicated.CppWinRT.targets} (100%) diff --git a/build_nuget.cmd b/build_nuget.cmd index 1eb21d55e..71073bd81 100644 --- a/build_nuget.cmd +++ b/build_nuget.cmd @@ -1,13 +1,13 @@ rem @echo off set target_version=%1 -if "%target_version%"=="" set target_version=999.999.999.999 +if "%target_version%"=="" set target_version=3.0.260715.2 -call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd -call msbuild /m /p:Configuration=Release,Platform=x64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd -call msbuild /m /p:Configuration=Release,Platform=arm,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd -call msbuild /m /p:Configuration=Release,Platform=arm64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd +call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 +call msbuild /m /p:Configuration=Release,Platform=x64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 +call msbuild /m /p:Configuration=Release,Platform=arm,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 +call msbuild /m /p:Configuration=Release,Platform=arm64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 -call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:cppwinrt +call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:cppwinrt /p:WindowsTargetPlatformVersion=10.0.22621.0 -nuget pack nuget\Microsoft.Windows.CppWinRT.nuspec -Properties target_version=%target_version%;cppwinrt_exe=%cd%\_build\x86\Release\cppwinrt.exe;cppwinrt_fast_fwd_x86=%cd%\_build\x86\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=%cd%\_build\x64\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm=%cd%\_build\arm\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=%cd%\_build\arm64\Release\cppwinrt_fast_forwarder.lib +nuget pack nuget\COMplicated.CppWinRT.nuspec -Properties target_version=%target_version%;cppwinrt_exe=%cd%\_build\x86\Release\cppwinrt.exe;cppwinrt_fast_fwd_x86=%cd%\_build\x86\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=%cd%\_build\x64\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm=%cd%\_build\arm\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=%cd%\_build\arm64\Release\cppwinrt_fast_forwarder.lib diff --git a/build_prior_projection.cmd b/build_prior_projection.cmd index c7bdf2f64..60f4402e8 100644 --- a/build_prior_projection.cmd +++ b/build_prior_projection.cmd @@ -37,7 +37,7 @@ if not exist ".\.nuget" mkdir ".\.nuget" if not exist ".\.nuget\nuget.exe" powershell -Command "$ProgressPreference = 'SilentlyContinue' ; Invoke-WebRequest https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\.nuget\nuget.exe" mkdir %reference_output%\package -.\.nuget\nuget.exe install Microsoft.Windows.CppWinRT -o %reference_output%\package +.\.nuget\nuget.exe install COMplicated.CppWinRT -o %reference_output%\package set reference_cppwinrt= for /F "delims=" %%a in ('dir /s /b %reference_output%\package\cppwinrt.exe') DO set reference_cppwinrt=%%a if "%reference_cppwinrt%"=="" ( diff --git a/build_vsix.cmd b/build_vsix.cmd index 8864c7a82..460cb6ab1 100644 --- a/build_vsix.cmd +++ b/build_vsix.cmd @@ -31,7 +31,7 @@ call msbuild /p:Configuration=%target_configuration%,Platform=x86,Deployment=%ta call msbuild /p:Configuration=%target_configuration%,Platform=arm64,Deployment=%target_deployment%,CppWinRTBuildVersion=%target_version% natvis\cppwinrtvisualizer.sln rem Build nuget -.nuget\nuget.exe pack nuget\Microsoft.Windows.CppWinRT.nuspec -NonInteractive -OutputDirectory %this_dir%_build -Properties Configuration=%target_configuration%;cppwinrt_exe=%this_dir%_build\x86\%target_configuration%\cppwinrt.exe;cppwinrt_fast_fwd_x86=%this_dir%_build\x86\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=%this_dir%_build\x64\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm=%this_dir%_build\arm\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=%this_dir%_build\arm64\%target_configuration%\cppwinrt_fast_forwarder.lib;target_version=%target_version% -version %target_version% -Verbosity Detailed +.nuget\nuget.exe pack nuget\COMplicated.CppWinRT.nuspec -NonInteractive -OutputDirectory %this_dir%_build -Properties Configuration=%target_configuration%;cppwinrt_exe=%this_dir%_build\x86\%target_configuration%\cppwinrt.exe;cppwinrt_fast_fwd_x86=%this_dir%_build\x86\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=%this_dir%_build\x64\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm=%this_dir%_build\arm\%target_configuration%\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=%this_dir%_build\arm64\%target_configuration%\cppwinrt_fast_forwarder.lib;target_version=%target_version% -version %target_version% -Verbosity Detailed rem Build vsix call msbuild /restore /p:Configuration=%target_configuration%,Platform="Any CPU",Deployment=%target_deployment%,CppWinRTVersion=%target_version%,NugetPackageVersion=%target_version%,NatvisDirx86=%this_dir%natvis\x86\%target_configuration%\%target_deployment%,NatvisDirx64=%this_dir%natvis\x64\%target_configuration%\%target_deployment%,NatvisDirarm64=%this_dir%natvis\arm64\%target_configuration%\%target_deployment%,NupkgDir=%this_dir%_build vsix\vsix.sln diff --git a/nuget/Microsoft.Windows.CppWinRT.nuspec b/nuget/COMplicated.CppWinRT.nuspec similarity index 77% rename from nuget/Microsoft.Windows.CppWinRT.nuspec rename to nuget/COMplicated.CppWinRT.nuspec index 5f254ccb2..92a3210f5 100644 --- a/nuget/Microsoft.Windows.CppWinRT.nuspec +++ b/nuget/COMplicated.CppWinRT.nuspec @@ -1,19 +1,19 @@ - Microsoft.Windows.CppWinRT + COMplicated.CppWinRT $target_version$ C++/WinRT Build Support - Microsoft - Microsoft + Microsoft, COMplicated + Ahmed605 false C++/WinRT is a standard C++ language projection for the Windows Runtime implemented solely in header files. It allows you to both author and consume Windows Runtime APIs using any standards-compliant C++ compiler. C++/WinRT is designed to provide C++ developers with first-class access to the modern Windows API. native C++ WinRT nativepackage - © Microsoft Corporation. All rights reserved. + © Microsoft Corporation & COMplicated. All rights reserved. LICENSE readme.md - https://github.com/Microsoft/cppwinrt + https://github.com/COM-plicated/cppwinrt https://aka.ms/cppwinrt.ico @@ -23,8 +23,8 @@ - - + + diff --git a/nuget/Microsoft.Windows.CppWinRT.props b/nuget/COMplicated.CppWinRT.props similarity index 100% rename from nuget/Microsoft.Windows.CppWinRT.props rename to nuget/COMplicated.CppWinRT.props diff --git a/nuget/Microsoft.Windows.CppWinRT.targets b/nuget/COMplicated.CppWinRT.targets similarity index 100% rename from nuget/Microsoft.Windows.CppWinRT.targets rename to nuget/COMplicated.CppWinRT.targets diff --git a/nuget/readme.md b/nuget/readme.md index 16eb5d2bb..c2901f9ce 100644 --- a/nuget/readme.md +++ b/nuget/readme.md @@ -1,10 +1,8 @@ -# Microsoft.Windows.CppWinRT NuGet Package +# COMplicated.CppWinRT NuGet Package ## Overview -Please visit [Microsoft.Windows.CppWinRT](https://www.nuget.org/packages/Microsoft.Windows.CppWinRT/) for official Microsoft-signed builds of the NuGet package. See also the [C++/WinRT](https://aka.ms/cppwinrt/vsix/) VSIX, which provides C++/WinRT project templates and debug visualization. - -To add build support for C++/WinRT vcxproj projects, add a reference to the Microsoft.Windows.CppWinRT NuGet package. This customizes your project's build rules to automatically generate C++/WinRT projection headers, enabling you to both consume and produce Windows Runtime classes. +To add build support for C++/WinRT vcxproj projects, add a reference to the COMplicated.CppWinRT NuGet package. This customizes your project's build rules to automatically generate C++/WinRT projection headers, enabling you to both consume and produce Windows Runtime classes. C++/WinRT detects Windows metadata required by the project, from: * Platform winmd files in the SDK (both MSI and NuGet) diff --git a/nuget/readme.txt b/nuget/readme.txt index 8d2681b6b..b25cd09ac 100644 --- a/nuget/readme.txt +++ b/nuget/readme.txt @@ -1,5 +1,5 @@ ======================================================================== -The Microsoft.Windows.CppWinRT NuGet package automatically generates C++/WinRT projection headers, +The COMplicated.CppWinRT NuGet package automatically generates C++/WinRT projection headers, enabling you to both consume and produce Windows Runtime classes. ======================================================================== @@ -18,7 +18,7 @@ In addition, C++/WinRT generates templates and skeleton implementations for each ======================================================================== For more information, visit: -https://github.com/Microsoft/cppwinrt/tree/master/nuget +https://github.com/COM-plicated/cppwinrt/tree/master/nuget The full documentation is also included in this package as readme.md, and the C++20 modules guide as modules.md. From ed5b15c4a1350ed3aa4126c3423fa673aaee15f0 Mon Sep 17 00:00:00 2001 From: ahmed605 Date: Mon, 3 Aug 2026 02:17:26 +0300 Subject: [PATCH 3/6] add option to ignore ExclusiveTo for can_produce --- build_nuget.cmd | 2 +- cppwinrt.sln | 8 +++ cppwinrt/helpers.h | 5 ++ cppwinrt/main.cpp | 2 + cppwinrt/settings.h | 2 + nuget/COMplicated.CppWinRT.targets | 1 + nuget/CppWinrtRules.Project.xml | 5 ++ .../test_cpp20_module.vcxproj | 8 +++ test/test_nocoro/test_nocoro.vcxproj | 69 +++++++++++++++++++ 9 files changed, 101 insertions(+), 1 deletion(-) diff --git a/build_nuget.cmd b/build_nuget.cmd index 71073bd81..cdd307596 100644 --- a/build_nuget.cmd +++ b/build_nuget.cmd @@ -1,7 +1,7 @@ rem @echo off set target_version=%1 -if "%target_version%"=="" set target_version=3.0.260715.2 +if "%target_version%"=="" set target_version=3.0.260715.3 call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 call msbuild /m /p:Configuration=Release,Platform=x64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 diff --git a/cppwinrt.sln b/cppwinrt.sln index 86b7a8323..fc6431cd6 100644 --- a/cppwinrt.sln +++ b/cppwinrt.sln @@ -490,24 +490,32 @@ Global {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Release|x64.Build.0 = Release|x64 {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Release|x86.ActiveCfg = Release|Win32 {D4C8F881-84D5-4A7B-8BDE-AB4E34A05374}.Release|x86.Build.0 = Release|Win32 + {9E392830-805A-4AAF-932D-C493143EFACA}.Debug|ARM.ActiveCfg = Debug|ARM + {9E392830-805A-4AAF-932D-C493143EFACA}.Debug|ARM.Build.0 = Debug|ARM {9E392830-805A-4AAF-932D-C493143EFACA}.Debug|ARM64.ActiveCfg = Debug|ARM64 {9E392830-805A-4AAF-932D-C493143EFACA}.Debug|ARM64.Build.0 = Debug|ARM64 {9E392830-805A-4AAF-932D-C493143EFACA}.Debug|x64.ActiveCfg = Debug|x64 {9E392830-805A-4AAF-932D-C493143EFACA}.Debug|x64.Build.0 = Debug|x64 {9E392830-805A-4AAF-932D-C493143EFACA}.Debug|x86.ActiveCfg = Debug|Win32 {9E392830-805A-4AAF-932D-C493143EFACA}.Debug|x86.Build.0 = Debug|Win32 + {9E392830-805A-4AAF-932D-C493143EFACA}.Release|ARM.ActiveCfg = Release|ARM + {9E392830-805A-4AAF-932D-C493143EFACA}.Release|ARM.Build.0 = Release|ARM {9E392830-805A-4AAF-932D-C493143EFACA}.Release|ARM64.ActiveCfg = Release|ARM64 {9E392830-805A-4AAF-932D-C493143EFACA}.Release|ARM64.Build.0 = Release|ARM64 {9E392830-805A-4AAF-932D-C493143EFACA}.Release|x64.ActiveCfg = Release|x64 {9E392830-805A-4AAF-932D-C493143EFACA}.Release|x64.Build.0 = Release|x64 {9E392830-805A-4AAF-932D-C493143EFACA}.Release|x86.ActiveCfg = Release|Win32 {9E392830-805A-4AAF-932D-C493143EFACA}.Release|x86.Build.0 = Release|Win32 + {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Debug|ARM.ActiveCfg = Debug|ARM + {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Debug|ARM.Build.0 = Debug|ARM {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Debug|ARM64.ActiveCfg = Debug|ARM64 {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Debug|ARM64.Build.0 = Debug|ARM64 {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Debug|x64.ActiveCfg = Debug|x64 {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Debug|x64.Build.0 = Debug|x64 {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Debug|x86.ActiveCfg = Debug|Win32 {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Debug|x86.Build.0 = Debug|Win32 + {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Release|ARM.ActiveCfg = Release|ARM + {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Release|ARM.Build.0 = Release|ARM {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Release|ARM64.ActiveCfg = Release|ARM64 {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Release|ARM64.Build.0 = Release|ARM64 {B8E3A5CE-4E91-4F27-9B02-E0CAF7E10D72}.Release|x64.ActiveCfg = Release|x64 diff --git a/cppwinrt/helpers.h b/cppwinrt/helpers.h index 2dc152a74..7c4928a74 100644 --- a/cppwinrt/helpers.h +++ b/cppwinrt/helpers.h @@ -1123,6 +1123,11 @@ namespace cppwinrt return true; } + if (settings.ignore_exclusiveto) + { + return true; + } + auto interface_name = type_name(type); auto class_name = get_attribute_value(attribute, 0).name; auto class_type = c.find_required(class_name); diff --git a/cppwinrt/main.cpp b/cppwinrt/main.cpp index 33bb9248e..1aef1102d 100644 --- a/cppwinrt/main.cpp +++ b/cppwinrt/main.cpp @@ -43,6 +43,7 @@ namespace cppwinrt { "modules", 0, 0, {}, "Generate per-namespace C++20 module interface units (.ixx)" }, { "module_include", 0, option::no_max, "", "Filter which namespaces are included in module .ixx generation" }, { "module_exclude", 0, option::no_max, "", "Filter which namespaces are excluded from module .ixx generation" }, + { "ignore_exclusiveto", 0, 0, {}, "Allow producing classes that inherit from ExclusiveTo interfaces" }, }; static void print_usage(writer& w) @@ -90,6 +91,7 @@ R"( local Local ^%WinDir^%\System32\WinMetadata folder settings.verbose = args.exists("verbose"); settings.fastabi = args.exists("fastabi"); settings.modules = args.exists("modules"); + settings.ignore_exclusiveto = args.exists("ignore_exclusiveto"); settings.input = args.files("input", database::is_database); settings.reference = args.files("reference", database::is_database); diff --git a/cppwinrt/settings.h b/cppwinrt/settings.h index 110e64917..8e3851cb3 100644 --- a/cppwinrt/settings.h +++ b/cppwinrt/settings.h @@ -37,6 +37,8 @@ namespace cppwinrt std::set module_include; std::set module_exclude; winmd::reader::filter module_filter; + + bool ignore_exclusiveto{}; }; extern settings_type settings; diff --git a/nuget/COMplicated.CppWinRT.targets b/nuget/COMplicated.CppWinRT.targets index a297258f3..363351e3d 100644 --- a/nuget/COMplicated.CppWinRT.targets +++ b/nuget/COMplicated.CppWinRT.targets @@ -26,6 +26,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)))..\..\ $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory))) $(CppWinRTParameters) -fastabi + $(CppWinRTParameters) -ignore_exclusiveto -modules -module_include $(CppWinRTModuleInclude.Replace(';', ' ')) diff --git a/nuget/CppWinrtRules.Project.xml b/nuget/CppWinrtRules.Project.xml index 43a712d21..b781e5983 100644 --- a/nuget/CppWinrtRules.Project.xml +++ b/nuget/CppWinrtRules.Project.xml @@ -86,6 +86,11 @@ DisplayName="Enable C++17 coroutines" Description="Enables the /await:strict compiler option" Category="General" /> + + + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 diff --git a/test/test_nocoro/test_nocoro.vcxproj b/test/test_nocoro/test_nocoro.vcxproj index 7efc28066..078e1431d 100644 --- a/test/test_nocoro/test_nocoro.vcxproj +++ b/test/test_nocoro/test_nocoro.vcxproj @@ -1,6 +1,10 @@ + + Debug + ARM + Debug ARM64 @@ -9,6 +13,10 @@ Debug Win32 + + Release + ARM + Release ARM64 @@ -38,6 +46,10 @@ Application true + + Application + true + Application true @@ -47,6 +59,11 @@ false true + + Application + false + true + Application false @@ -69,12 +86,18 @@ + + + + + + @@ -131,6 +154,27 @@ + + + Disabled + $(OutputPath);Generated Files;..\ + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + Level4 + true + + + Console + + + + + + + + + + Disabled @@ -198,6 +242,31 @@ + + + MaxSpeed + true + true + $(OutputPath);Generated Files;..\ + NOMINMAX;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + Level4 + true + + + Console + true + true + + + + + + + + + + MaxSpeed From f3f101a62ae648c1f1da1bf17f769ac377e55fef Mon Sep 17 00:00:00 2001 From: ahmed605 Date: Fri, 21 Aug 2026 20:39:08 +0300 Subject: [PATCH 4/6] Add ability to specify the output WinMD file name --- build_nuget.cmd | 2 +- nuget/COMplicated.CppWinRT.targets | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build_nuget.cmd b/build_nuget.cmd index cdd307596..f8f79a425 100644 --- a/build_nuget.cmd +++ b/build_nuget.cmd @@ -1,7 +1,7 @@ rem @echo off set target_version=%1 -if "%target_version%"=="" set target_version=3.0.260715.3 +if "%target_version%"=="" set target_version=3.0.260715.4 call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 call msbuild /m /p:Configuration=Release,Platform=x64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 diff --git a/nuget/COMplicated.CppWinRT.targets b/nuget/COMplicated.CppWinRT.targets index 363351e3d..13f267300 100644 --- a/nuget/COMplicated.CppWinRT.targets +++ b/nuget/COMplicated.CppWinRT.targets @@ -14,7 +14,8 @@ Copyright (C) Microsoft Corporation. All rights reserved. normal -verbose - $(OutDir)$(RootNamespace).winmd + $(RootNamespace).winmd + $(OutDir)$(CppWinRTProjectWinMDFileName) $(IntDir)Merged\ $(IntDir)Unmerged\ true From 12598e92cfe8e67744664f4eb4c86f1b4fbbd2f9 Mon Sep 17 00:00:00 2001 From: ahmed605 Date: Fri, 21 Aug 2026 21:10:58 +0300 Subject: [PATCH 5/6] fix bug in CppWinRTProjectWinMDFileName handling --- build_nuget.cmd | 2 +- nuget/COMplicated.CppWinRT.targets | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build_nuget.cmd b/build_nuget.cmd index f8f79a425..7f7868a48 100644 --- a/build_nuget.cmd +++ b/build_nuget.cmd @@ -1,7 +1,7 @@ rem @echo off set target_version=%1 -if "%target_version%"=="" set target_version=3.0.260715.4 +if "%target_version%"=="" set target_version=3.0.260715.5 call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 call msbuild /m /p:Configuration=Release,Platform=x64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 diff --git a/nuget/COMplicated.CppWinRT.targets b/nuget/COMplicated.CppWinRT.targets index 13f267300..29f9ced8f 100644 --- a/nuget/COMplicated.CppWinRT.targets +++ b/nuget/COMplicated.CppWinRT.targets @@ -593,7 +593,7 @@ $(XamlMetaDataProviderPch) + DestinationFiles="@(_MdMergedOutput->'$(OutDir)$(CppWinRTProjectWinMDFileName)')" /> From a44663305748e9471d8f9fd8a8f9da461337b926 Mon Sep 17 00:00:00 2001 From: ahmed605 Date: Mon, 24 Aug 2026 01:49:23 +0300 Subject: [PATCH 6/6] add WINRT_CONTAINED_STATIC_LIB for building self-contained static libs --- build_nuget.cmd | 2 +- strings/base_extern.h | 31 +++++++++++++++++++++++++++---- strings/base_natvis.h | 8 ++++++++ strings/base_version.h | 6 +++++- 4 files changed, 41 insertions(+), 6 deletions(-) diff --git a/build_nuget.cmd b/build_nuget.cmd index 7f7868a48..0b96de07f 100644 --- a/build_nuget.cmd +++ b/build_nuget.cmd @@ -1,7 +1,7 @@ rem @echo off set target_version=%1 -if "%target_version%"=="" set target_version=3.0.260715.5 +if "%target_version%"=="" set target_version=3.0.260715.6 call msbuild /m /p:Configuration=Release,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 call msbuild /m /p:Configuration=Release,Platform=x64,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:fast_fwd /p:WindowsTargetPlatformVersion=10.0.22621.0 diff --git a/strings/base_extern.h b/strings/base_extern.h index a17908ac4..c8a182bc0 100644 --- a/strings/base_extern.h +++ b/strings/base_extern.h @@ -2,10 +2,33 @@ // These global function pointers must use WINRT_EXPORT (which expands to // 'export extern "C++"' in module builds) so that module and non-module TUs // in the same binary share the same instances. -WINRT_EXPORT __declspec(selectany) std::int32_t(__stdcall* winrt_to_hresult_handler)(void* address) noexcept {}; -WINRT_EXPORT __declspec(selectany) winrt::hstring(__stdcall* winrt_to_message_handler)(void* address) {}; -WINRT_EXPORT __declspec(selectany) void(__stdcall* winrt_throw_hresult_handler)(std::uint32_t lineNumber, char const* fileName, char const* functionName, void* returnAddress, winrt::hresult const result) noexcept {}; -WINRT_EXPORT __declspec(selectany) std::int32_t(__stdcall* winrt_activation_handler)(void* classId, winrt::guid const& iid, void** factory) noexcept {}; +#ifdef WINRT_CONTAINED_STATIC_LIB +static inline +#else +WINRT_EXPORT __declspec(selectany) +#endif +std::int32_t(__stdcall* winrt_to_hresult_handler)(void* address) noexcept {}; + +#ifdef WINRT_CONTAINED_STATIC_LIB +static inline +#else +WINRT_EXPORT __declspec(selectany) +#endif +winrt::hstring(__stdcall* winrt_to_message_handler)(void* address) {}; + +#ifdef WINRT_CONTAINED_STATIC_LIB +static inline +#else +WINRT_EXPORT __declspec(selectany) +#endif +void(__stdcall* winrt_throw_hresult_handler)(std::uint32_t lineNumber, char const* fileName, char const* functionName, void* returnAddress, winrt::hresult const result) noexcept {}; + +#ifdef WINRT_CONTAINED_STATIC_LIB +static inline +#else +WINRT_EXPORT __declspec(selectany) +#endif +std::int32_t(__stdcall* winrt_activation_handler)(void* classId, winrt::guid const& iid, void** factory) noexcept {}; #if defined(_MSC_VER) #ifdef _M_HYBRID diff --git a/strings/base_natvis.h b/strings/base_natvis.h index 9e78563cb..c0a2c3116 100644 --- a/strings/base_natvis.h +++ b/strings/base_natvis.h @@ -84,12 +84,20 @@ WINRT_EXPORT namespace winrt::impl }; } +#ifdef WINRT_CONTAINED_STATIC_LIB +static inline +#else extern "C" __declspec(selectany) +#endif decltype(winrt::impl::natvis::abi_val) & WINRT_abi_val = winrt::impl::natvis::abi_val; +#ifdef WINRT_CONTAINED_STATIC_LIB +static inline +#else extern "C" __declspec(selectany) +#endif decltype(winrt::impl::natvis::get_val) & WINRT_get_val = winrt::impl::natvis::get_val; #ifdef _M_IX86 diff --git a/strings/base_version.h b/strings/base_version.h index 13d21fb2a..8155c55cb 100644 --- a/strings/base_version.h +++ b/strings/base_version.h @@ -1,10 +1,14 @@ // WINRT_version is used by Microsoft to analyze C++/WinRT library adoption and inform future product decisions. +#ifdef WINRT_CONTAINED_STATIC_LIB +static inline +#else extern "C" __declspec(selectany) +#endif char const * const WINRT_version = "C++/WinRT version:" CPPWINRT_VERSION; -#if defined(_MSC_VER) +#if defined(_MSC_VER) && !defined(WINRT_CONTAINED_STATIC_LIB) #ifdef _M_IX86 #pragma comment(linker, "/include:_WINRT_version") #else