From 9ae2558ebe8b9d2b78e06ea48fcdcf424f282947 Mon Sep 17 00:00:00 2001 From: Ryan Shepherd Date: Thu, 22 Sep 2022 10:32:31 -0700 Subject: [PATCH 1/6] Build arm64 visualizer and include it in vsix --- build_vsix.cmd | 5 +++-- vsix/Dev16/vsix.Dev16.csproj | 6 +++++- vsix/Dev17/vsix.Dev17.csproj | 4 ++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/build_vsix.cmd b/build_vsix.cmd index ba2f75f31..87d34e8c1 100644 --- a/build_vsix.cmd +++ b/build_vsix.cmd @@ -25,12 +25,13 @@ call msbuild /m /p:Configuration=%target_configuration%,Platform=arm64,CppWinRTB rem Build cppwinrt.exe for x86 only call msbuild /m /p:Configuration=%target_configuration%,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:cppwinrt -rem Build cppwinrt visualizer dll for x86 and x64 +rem Build cppwinrt visualizer dll for x86, x64, and arm46 call msbuild /p:Configuration=%target_configuration%,Platform=x64,Deployment=%target_deployment%,CppWinRTBuildVersion=%target_version% natvis\cppwinrtvisualizer.sln call msbuild /p:Configuration=%target_configuration%,Platform=x86,Deployment=%target_deployment%,CppWinRTBuildVersion=%target_version% natvis\cppwinrtvisualizer.sln +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 -version %target_version% -Verbosity Detailed rem Build vsix -call msbuild /restore /p:Configuration=%target_configuration%,Platform="Any CPU",Deployment=%target_deployment%,CppWinRTVersion=%target_version%,NatvisDirx86=%this_dir%natvis\x86\%target_configuration%\%target_deployment%,NatvisDirx64=%this_dir%natvis\x64\%target_configuration%\%target_deployment%,NupkgDir=%this_dir%_build vsix\vsix.sln +call msbuild /restore /p:Configuration=%target_configuration%,Platform="Any CPU",Deployment=%target_deployment%,CppWinRTVersion=%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/vsix/Dev16/vsix.Dev16.csproj b/vsix/Dev16/vsix.Dev16.csproj index 4b7c01cd2..188a01c83 100644 --- a/vsix/Dev16/vsix.Dev16.csproj +++ b/vsix/Dev16/vsix.Dev16.csproj @@ -61,7 +61,11 @@ x64\%(Filename)%(Extension) true - + + arm64\%(Filename)%(Extension) + true + + Designer diff --git a/vsix/Dev17/vsix.Dev17.csproj b/vsix/Dev17/vsix.Dev17.csproj index 6e6c35bbf..5dfe49478 100644 --- a/vsix/Dev17/vsix.Dev17.csproj +++ b/vsix/Dev17/vsix.Dev17.csproj @@ -64,6 +64,10 @@ x64\%(Filename)%(Extension) true + + arm64\%(Filename)%(Extension) + true + Designer From 861164bd2ab2263d7a332ee7422806f0491942af Mon Sep 17 00:00:00 2001 From: Ryan Shepherd Date: Thu, 22 Sep 2022 11:07:49 -0700 Subject: [PATCH 2/6] Add arm64 config to visualizer --- natvis/cppwinrtvisualizer.sln | 10 +++- natvis/cppwinrtvisualizer.vcxproj | 80 +++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 2 deletions(-) diff --git a/natvis/cppwinrtvisualizer.sln b/natvis/cppwinrtvisualizer.sln index d885e721a..2ed7efb70 100644 --- a/natvis/cppwinrtvisualizer.sln +++ b/natvis/cppwinrtvisualizer.sln @@ -1,22 +1,28 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.0 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32901.215 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cppwinrtvisualizer", "cppwinrtvisualizer.vcxproj", "{3C692D34-10C1-4707-B469-5EDB0EEF8AFC}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Debug|ARM64.Build.0 = Debug|ARM64 {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Debug|x64.ActiveCfg = Debug|x64 {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Debug|x64.Build.0 = Debug|x64 {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Debug|x86.ActiveCfg = Debug|Win32 {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Debug|x86.Build.0 = Debug|Win32 + {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Release|ARM64.ActiveCfg = Release|ARM64 + {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Release|ARM64.Build.0 = Release|ARM64 {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Release|x64.ActiveCfg = Release|x64 {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Release|x64.Build.0 = Release|x64 {3C692D34-10C1-4707-B469-5EDB0EEF8AFC}.Release|x86.ActiveCfg = Release|Win32 diff --git a/natvis/cppwinrtvisualizer.vcxproj b/natvis/cppwinrtvisualizer.vcxproj index 397772285..d7c3a4ae1 100644 --- a/natvis/cppwinrtvisualizer.vcxproj +++ b/natvis/cppwinrtvisualizer.vcxproj @@ -2,10 +2,18 @@ + + Debug + ARM64 + Debug Win32 + + Release + ARM64 + Release Win32 @@ -41,11 +49,20 @@ DynamicLibrary true + + DynamicLibrary + true + DynamicLibrary false true + + DynamicLibrary + false + true + $(VSInstallDir)DIA SDK\include @@ -63,9 +80,15 @@ + + + + + + true @@ -127,6 +150,31 @@ vsdebugeng.dll + + + Use + Level4 + Disabled + false + _DEBUG;VISUALIZER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + $(IntDir);..\cppwinrt;..\strings;$(DIASDKInc);%(AdditionalIncludeDirectories) + stdcpp17 + pch.h + /await + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + + + Windows + DebugFull + advapi32.lib;shell32.lib;windowsapp.lib;$(VsDebugEng_Lib);%(AdditionalDependencies) + .\cppwinrtvisualizer.def + vsdebugeng.dll + + Use @@ -187,6 +235,36 @@ /DEBUGTYPE:CV,FIXUP %(AdditionalOptions) + + + Use + Level4 + MaxSpeed + true + true + false + NDEBUG;VISUALIZER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + $(IntDir);..\cppwinrt;..\strings;$(DIASDKInc);%(AdditionalIncludeDirectories) + stdcpp17 + pch.h + /await + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + + + Windows + true + true + DebugFull + advapi32.lib;shell32.lib;windowsapp.lib;$(VsDebugEng_Lib);%(AdditionalDependencies) + .\cppwinrtvisualizer.def + vsdebugeng.dll + /DEBUGTYPE:CV,FIXUP %(AdditionalOptions) + + %(AdditionalOptions) /DCOMPONENT_DEPLOYMENT @@ -208,8 +286,10 @@ Create Create + Create Create Create + Create From 7a35b93e2b54e6fc00093d8a385dd0e382427680 Mon Sep 17 00:00:00 2001 From: Ryan Shepherd Date: Thu, 22 Sep 2022 12:07:54 -0700 Subject: [PATCH 3/6] Build arm64 visualizer in build_test_all --- build_test_all.cmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build_test_all.cmd b/build_test_all.cmd index e0325eb5d..91bf621ff 100644 --- a/build_test_all.cmd +++ b/build_test_all.cmd @@ -19,12 +19,14 @@ 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 -if "%target_platform%"=="arm64" goto :eof call msbuild /m /p:Configuration=%target_configuration%,Platform=%target_platform%,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:cppwinrt _build\%target_platform%\%target_configuration%\cppwinrt.exe -in local -out _build\%target_platform%\%target_configuration% -verbose 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 + +if "%target_platform%"=="arm64" goto :eof + call msbuild /p:Configuration=%target_configuration%,Platform=%target_platform%,CppWinRTBuildVersion=%target_version% test\nuget\NugetTest.sln call msbuild /m /p:Configuration=%target_configuration%,Platform=%target_platform%,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:test\test From 12f4c23fa646de9edd356c8643e24db2d8103cf3 Mon Sep 17 00:00:00 2001 From: Ryan Shepherd Date: Thu, 22 Sep 2022 13:35:52 -0700 Subject: [PATCH 4/6] Update VS SDK package versions --- vsix/Dev16/vsix.Dev16.csproj | 2 +- vsix/Dev17/vsix.Dev17.csproj | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/vsix/Dev16/vsix.Dev16.csproj b/vsix/Dev16/vsix.Dev16.csproj index 188a01c83..e9c5d140e 100644 --- a/vsix/Dev16/vsix.Dev16.csproj +++ b/vsix/Dev16/vsix.Dev16.csproj @@ -88,7 +88,7 @@ compile; build; native; contentfiles; analyzers; buildtransitive - 17.0.1619-preview1 + 17.3.2093 runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/vsix/Dev17/vsix.Dev17.csproj b/vsix/Dev17/vsix.Dev17.csproj index 5dfe49478..3ef30ce63 100644 --- a/vsix/Dev17/vsix.Dev17.csproj +++ b/vsix/Dev17/vsix.Dev17.csproj @@ -87,10 +87,10 @@ - + compile; build; native; contentfiles; analyzers; buildtransitive - + runtime; build; native; contentfiles; analyzers; buildtransitive all From 3188fb8488169b8388a5e13be5a3f4d52b2535f9 Mon Sep 17 00:00:00 2001 From: Ryan Shepherd Date: Thu, 22 Sep 2022 14:01:27 -0700 Subject: [PATCH 5/6] Typo --- build_vsix.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_vsix.cmd b/build_vsix.cmd index 87d34e8c1..111527a48 100644 --- a/build_vsix.cmd +++ b/build_vsix.cmd @@ -25,7 +25,7 @@ call msbuild /m /p:Configuration=%target_configuration%,Platform=arm64,CppWinRTB rem Build cppwinrt.exe for x86 only call msbuild /m /p:Configuration=%target_configuration%,Platform=x86,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:cppwinrt -rem Build cppwinrt visualizer dll for x86, x64, and arm46 +rem Build cppwinrt visualizer dll for x86, x64, and arm64 call msbuild /p:Configuration=%target_configuration%,Platform=x64,Deployment=%target_deployment%,CppWinRTBuildVersion=%target_version% natvis\cppwinrtvisualizer.sln call msbuild /p:Configuration=%target_configuration%,Platform=x86,Deployment=%target_deployment%,CppWinRTBuildVersion=%target_version% natvis\cppwinrtvisualizer.sln call msbuild /p:Configuration=%target_configuration%,Platform=arm64,Deployment=%target_deployment%,CppWinRTBuildVersion=%target_version% natvis\cppwinrtvisualizer.sln From f7c98594cc30044553c5736afcd20c44f9808fa5 Mon Sep 17 00:00:00 2001 From: Ryan Shepherd Date: Thu, 22 Sep 2022 14:11:05 -0700 Subject: [PATCH 6/6] Don't build cppwinrt.exe for arm64 (yet) --- build_test_all.cmd | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build_test_all.cmd b/build_test_all.cmd index 91bf621ff..29acdc77f 100644 --- a/build_test_all.cmd +++ b/build_test_all.cmd @@ -20,13 +20,14 @@ call msbuild /m /p:Configuration=%target_configuration%,Platform=%target_platfor if "%target_platform%"=="arm" goto :eof -call msbuild /m /p:Configuration=%target_configuration%,Platform=%target_platform%,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:cppwinrt -_build\%target_platform%\%target_configuration%\cppwinrt.exe -in local -out _build\%target_platform%\%target_configuration% -verbose 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 if "%target_platform%"=="arm64" goto :eof +call msbuild /m /p:Configuration=%target_configuration%,Platform=%target_platform%,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:cppwinrt +_build\%target_platform%\%target_configuration%\cppwinrt.exe -in local -out _build\%target_platform%\%target_configuration% -verbose + call msbuild /p:Configuration=%target_configuration%,Platform=%target_platform%,CppWinRTBuildVersion=%target_version% test\nuget\NugetTest.sln call msbuild /m /p:Configuration=%target_configuration%,Platform=%target_platform%,CppWinRTBuildVersion=%target_version% cppwinrt.sln /t:test\test