/ src / modules / NewPlus / NewShellExtensionContextMenu / NewShellExtensionContextMenu.vcxproj
NewShellExtensionContextMenu.vcxproj
  1  <?xml version="1.0" encoding="utf-8"?>
  2  <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  4    <Import Project="$(RepoRoot)packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('$(RepoRoot)packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" />
  5    <Target Name="GenerateResourceFiles" BeforeTargets="PrepareForBuild">
  6      <Exec Command="powershell -NonInteractive -executionpolicy Unrestricted $(RepoRoot)tools\build\convert-resx-to-rc.ps1 $(MSBuildThisFileDirectory) resource.base.h resource.h new.base.rc new.rc" />
  7    </Target>
  8    <PropertyGroup Label="Globals">
  9      <VCProjectVersion>17.0</VCProjectVersion>
 10      <Keyword>Win32Proj</Keyword>
 11      <ProjectGuid>{8acb33d9-c95b-47d4-8363-9731ee0930a0}</ProjectGuid>
 12      <RootNamespace>NewPlusShellExtension</RootNamespace>
 13      <WindowsTargetPlatformVersion>10.0.20348.0</WindowsTargetPlatformVersion>
 14      <ProjectName>NewPlus.ShellExtension</ProjectName>
 15    </PropertyGroup>
 16    <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
 17      <ConfigurationType>DynamicLibrary</ConfigurationType>
 18      <UseDebugLibraries>true</UseDebugLibraries>
 19      
 20      <CharacterSet>Unicode</CharacterSet>
 21    </PropertyGroup>
 22    <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
 23      <ConfigurationType>DynamicLibrary</ConfigurationType>
 24      <UseDebugLibraries>false</UseDebugLibraries>
 25      
 26      <WholeProgramOptimization>true</WholeProgramOptimization>
 27      <CharacterSet>Unicode</CharacterSet>
 28    </PropertyGroup>
 29    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 30    <ImportGroup Label="ExtensionSettings">
 31    </ImportGroup>
 32    <ImportGroup Label="Shared">
 33    </ImportGroup>
 34    <ImportGroup Label="PropertySheets">
 35      <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 36    </ImportGroup>
 37    <PropertyGroup Label="UserMacros" />
 38    <PropertyGroup Condition="'$(Configuration)'=='Debug'">
 39      <TargetExt>.dll</TargetExt>
 40      <OutDir>$(RepoRoot)$(Platform)\$(Configuration)\WinUI3Apps\</OutDir>
 41      <TargetName>PowerToys.NewPlus.ShellExtension</TargetName>
 42      <IntDir>$(SolutionDir)$(Platform)\$(Configuration)\TemporaryBuild\obj\$(ProjectName)\</IntDir>
 43      <LinkIncremental />
 44      <IgnoreImportLibrary />
 45    </PropertyGroup>
 46    <PropertyGroup Condition="'$(Configuration)'=='Release'">
 47      <OutDir>$(RepoRoot)$(Platform)\$(Configuration)\WinUI3Apps\</OutDir>
 48      <TargetName>PowerToys.NewPlus.ShellExtension</TargetName>
 49      <IntDir>$(SolutionDir)$(Platform)\$(Configuration)\TemporaryBuild\obj\$(ProjectName)\</IntDir>
 50      <LinkIncremental />
 51      <IgnoreImportLibrary />
 52    </PropertyGroup>
 53    <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
 54      <ClCompile>
 55        <WarningLevel>Level3</WarningLevel>
 56        <SDLCheck>true</SDLCheck>
 57        <PreprocessorDefinitions>WIN32;_DEBUG;NEWPLUSCONTEXTMENU_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 58        <ConformanceMode>true</ConformanceMode>
 59        <PrecompiledHeader>Use</PrecompiledHeader>
 60        <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
 61        <LanguageStandard>stdcpplatest</LanguageStandard>
 62        <AdditionalIncludeDirectories>$(RepoRoot)src\common\Telemetry;..\..\;$(RepoRoot)src\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 63      </ClCompile>
 64      <Link>
 65        <SubSystem>Windows</SubSystem>
 66        <GenerateDebugInformation>true</GenerateDebugInformation>
 67        <EnableUAC>false</EnableUAC>
 68        <ModuleDefinitionFile>dll.def</ModuleDefinitionFile>
 69        <AdditionalDependencies>runtimeobject.lib;$(CoreLibraryDependencies)</AdditionalDependencies>
 70        <IgnoreSpecificDefaultLibraries>
 71        </IgnoreSpecificDefaultLibraries>
 72      </Link>
 73      <PreBuildEvent>
 74        <Command>del $(OutDir)\NewPlusPackage.msix /q
 75  MakeAppx.exe pack /d . /p $(OutDir)NewPlusPackage.msix /nv</Command>
 76      </PreBuildEvent>
 77      <PostBuildEvent>
 78        <Command>
 79        </Command>
 80      </PostBuildEvent>
 81    </ItemDefinitionGroup>
 82    <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
 83      <ClCompile>
 84        <WarningLevel>Level3</WarningLevel>
 85        <FunctionLevelLinking>true</FunctionLevelLinking>
 86        <IntrinsicFunctions>true</IntrinsicFunctions>
 87        <SDLCheck>true</SDLCheck>
 88        <PreprocessorDefinitions>WIN32;NDEBUG;NEWPLUSCONTEXTMENU_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 89        <ConformanceMode>true</ConformanceMode>
 90        <PrecompiledHeader>Use</PrecompiledHeader>
 91        <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
 92        <LanguageStandard>stdcpplatest</LanguageStandard>
 93        <AdditionalIncludeDirectories>$(RepoRoot)src\common\Telemetry;..\..\;$(RepoRoot)src\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 94      </ClCompile>
 95      <Link>
 96        <SubSystem>Windows</SubSystem>
 97        <EnableCOMDATFolding>true</EnableCOMDATFolding>
 98        <OptimizeReferences>true</OptimizeReferences>
 99        <GenerateDebugInformation>true</GenerateDebugInformation>
100        <EnableUAC>false</EnableUAC>
101        <ModuleDefinitionFile>dll.def</ModuleDefinitionFile>
102        <AdditionalDependencies>runtimeobject.lib;$(CoreLibraryDependencies)</AdditionalDependencies>
103        <IgnoreSpecificDefaultLibraries>
104        </IgnoreSpecificDefaultLibraries>
105      </Link>
106      <PreBuildEvent>
107        <Command>del $(OutDir)\NewPlusPackage.msix /q
108  MakeAppx.exe pack /d . /p $(OutDir)NewPlusPackage.msix /nv</Command>
109      </PreBuildEvent>
110      <PostBuildEvent>
111        <Command>
112        </Command>
113      </PostBuildEvent>
114    </ItemDefinitionGroup>
115    <ItemGroup>
116      <ClInclude Include="dll_main.h" />
117      <ClInclude Include="Helpers.h" />
118      <ClInclude Include="helpers_filesystem.h" />
119      <ClInclude Include="helpers_variables.h" />
120      <ClInclude Include="shell_context_menu.h" />
121      <ClInclude Include="shell_context_sub_menu.h" />
122      <ClInclude Include="shell_context_sub_menu_item.h" />
123      <ClInclude Include="constants.h" />
124      <ClInclude Include="settings.h" />
125      <ClInclude Include="trace.h" />
126      <ClInclude Include="new_utilities.h" />
127      <ClInclude Include="RuntimeRegistration.h" />
128      <ClInclude Include="resource.base.h" />
129      <ClInclude Include="template_folder.h" />
130      <ClInclude Include="pch.h" />
131      <ClInclude Include="Generated Files/resource.h" />
132      <ClInclude Include="template_item.h" />
133    </ItemGroup>
134    <ItemGroup>
135      <ClCompile Include="Helpers.cpp" />
136      <ClCompile Include="new_utilities.cpp" />
137      <ClCompile Include="shell_context_menu.cpp" />
138      <ClCompile Include="shell_context_sub_menu.cpp" />
139      <ClCompile Include="shell_context_sub_menu_item.cpp" />
140      <ClCompile Include="dll_main.cpp" />
141      <ClCompile Include="powertoys_module.cpp" />
142      <ClCompile Include="settings.cpp" />
143      <ClCompile Include="trace.cpp" />
144      <ClCompile Include="template_folder.cpp" />
145      <ClCompile Include="pch.cpp">
146        <PrecompiledHeader>Create</PrecompiledHeader>
147      </ClCompile>
148      <ClCompile Include="template_item.cpp" />
149    </ItemGroup>
150    <ItemGroup>
151      <None Include="dll.def" />
152      <None Include="packages.config" />
153      <CopyFileToFolders Include="TemplateExamples\Any files or folders placed in the template folder are available via New+.txt">
154        <DeploymentContent>true</DeploymentContent>
155        <FileType>Document</FileType>
156        <DestinationFolders>$(OutDir)\Assets\NewPlus\Templates</DestinationFolders>
157      </CopyFileToFolders>
158      <CopyFileToFolders Include="TemplateExamples\Example folder\Example txt file.txt">
159        <DeploymentContent>true</DeploymentContent>
160        <FileType>Document</FileType>
161        <DestinationFolders>$(OutDir)\Assets\NewPlus\Templates\Example folder</DestinationFolders>
162      </CopyFileToFolders>
163      <CopyFileToFolders Include="TemplateExamples\Example folder\Another example txt file.txt">
164        <DeploymentContent>true</DeploymentContent>
165        <FileType>Document</FileType>
166        <DestinationFolders>$(OutDir)\Assets\NewPlus\Templates\Example folder</DestinationFolders>
167      </CopyFileToFolders>
168    </ItemGroup>
169    <ItemGroup>
170      <ProjectReference Include="$(RepoRoot)src\common\logger\logger.vcxproj">
171        <Project>{d9b8fc84-322a-4f9f-bbb9-20915c47ddfd}</Project>
172      </ProjectReference>
173      <ProjectReference Include="$(RepoRoot)src\common\SettingsAPI\SettingsAPI.vcxproj">
174        <Project>{6955446d-23f7-4023-9bb3-8657f904af99}</Project>
175      </ProjectReference>
176      <ProjectReference Include="$(RepoRoot)src\common\Telemetry\EtwTrace\EtwTrace.vcxproj">
177        <Project>{8f021b46-362b-485c-bfba-ccf83e820cbd}</Project>
178      </ProjectReference>
179      <ProjectReference Include="$(RepoRoot)src\common\Themes\Themes.vcxproj">
180        <Project>{98537082-0fdb-40de-abd8-0dc5a4269bab}</Project>
181      </ProjectReference>
182      <ProjectReference Include="$(RepoRoot)src\common\version\version.vcxproj">
183        <Project>{cc6e41ac-8174-4e8a-8d22-85dd7f4851df}</Project>
184      </ProjectReference>
185    </ItemGroup>
186    <ItemGroup>
187      <ResourceCompile Include="Generated Files/new.rc" />
188      <None Include="new.base.rc" />
189    </ItemGroup>
190    <ItemGroup>
191      <None Include="Assets\NewPlus\LargeTile.png">
192        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
193      </None>
194      <None Include="Assets\NewPlus\New_dark.ico">
195        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
196      </None>
197      <None Include="Assets\NewPlus\New_light.ico">
198        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
199      </None>
200      <None Include="Assets\NewPlus\Open_templates_dark.ico">
201        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
202      </None>
203      <None Include="Assets\NewPlus\Open_templates_light.ico">
204        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
205      </None>
206      <None Include="Assets\NewPlus\SmallTile.png">
207        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
208      </None>
209      <None Include="Assets\NewPlus\SplashScreen.png">
210        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
211      </None>
212      <None Include="Assets\NewPlus\Square150x150Logo.png">
213        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
214      </None>
215      <None Include="Assets\NewPlus\Square44x44Logo.png">
216        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
217      </None>
218      <None Include="Assets\NewPlus\StoreLogo.png">
219        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
220      </None>
221      <None Include="Assets\NewPlus\Wide310x150Logo.png">
222        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
223      </None>
224    </ItemGroup>
225    <ItemGroup>
226      <None Include="resources.resx">
227        <SubType>Designer</SubType>
228      </None>
229    </ItemGroup>
230    <ItemGroup>
231      <None Include="AppxManifest.xml" />
232    </ItemGroup>
233    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
234    <Import Project="$(RepoRoot)deps\spdlog.props" />
235    <ImportGroup Label="ExtensionTargets">
236      <Import Project="$(RepoRoot)packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('$(RepoRoot)packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" />
237    </ImportGroup>
238    <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
239      <PropertyGroup>
240        <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
241      </PropertyGroup>
242      <Error Condition="!Exists('$(RepoRoot)packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', '$(RepoRoot)packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props'))" />
243      <Error Condition="!Exists('$(RepoRoot)packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(RepoRoot)packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets'))" />
244    </Target>
245  </Project>