From 3eb38e558e357d7bb897146e34c16d7e349ae9df Mon Sep 17 00:00:00 2001 From: yuyoyuppe Date: Tue, 24 Dec 2019 17:06:58 +0300 Subject: [PATCH] project template: fix rc file in module template (#992) --- PowerToys.sln | 2 +- tools/project_template/ModuleTemplate.zip | Bin 7825 -> 7219 bytes .../ModuleTemplate/$projectname$.rc | 32 +++++ .../ModuleTemplate/ModuleTemplate.rc | Bin 1666 -> 0 bytes .../ModuleTemplate/ModuleTemplate.vcxproj | 2 +- .../ModuleTemplateCompileTest.vcxproj | 126 ++++++++++++++++++ ...ModuleTemplateCompileTest.vcxproj.filters} | 0 .../project_template/PowerToyTemplate.sln | 2 +- tools/project_template/README.md | 3 + 9 files changed, 164 insertions(+), 3 deletions(-) delete mode 100644 tools/project_template/ModuleTemplate/ModuleTemplate.rc create mode 100644 tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj rename tools/project_template/ModuleTemplate/{ModuleTemplate.vcxproj.filters => ModuleTemplateCompileTest.vcxproj.filters} (100%) rename PowerToyTemplate.sln => tools/project_template/PowerToyTemplate.sln (89%) diff --git a/PowerToys.sln b/PowerToys.sln index 9c0d0dfee8..70785dc186 100644 --- a/PowerToys.sln +++ b/PowerToys.sln @@ -79,7 +79,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerRenameUnitTests", "src EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{BEEAB7F2-FFF6-45AB-9CDB-B04CC0734B88}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModuleTemplate", "tools\project_template\ModuleTemplate\ModuleTemplate.vcxproj", "{64A80062-4D8B-4229-8A38-DFA1D7497749}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModuleTemplateCompileTest", "tools\project_template\ModuleTemplate\ModuleTemplateCompileTest.vcxproj", "{64A80062-4D8B-4229-8A38-DFA1D7497749}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerRenameUWPUI", "src\modules\powerrename\UWPui\PowerRenameUWPUI.vcxproj", "{0485F45C-EA7A-4BB5-804B-3E8D14699387}" ProjectSection(ProjectDependencies) = postProject diff --git a/tools/project_template/ModuleTemplate.zip b/tools/project_template/ModuleTemplate.zip index 086a2e31ea0bd4728d1a5e6581999331aa6ed82a..84f75ada9e8e0bd315f33423e941fcf5abad3dca 100644 GIT binary patch delta 6445 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 diff --git a/tools/project_template/ModuleTemplate/$projectname$.rc b/tools/project_template/ModuleTemplate/$projectname$.rc index e69de29bb2..af288a92d3 100644 --- a/tools/project_template/ModuleTemplate/$projectname$.rc +++ b/tools/project_template/ModuleTemplate/$projectname$.rc @@ -0,0 +1,32 @@ +1 VERSIONINFO + FILEVERSION 0,1,0,0 + PRODUCTVERSION 0,1,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Company Name" + VALUE "FileDescription", "$projectname$ Module" + VALUE "FileVersion", "0.1.0.0" + VALUE "InternalName", "$projectname$" + VALUE "LegalCopyright", "Copyright (C) 2019 Company Name" + VALUE "OriginalFilename", "$projectname$.dll" + VALUE "ProductName", "$projectname$" + VALUE "ProductVersion", "0.1.0.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END \ No newline at end of file diff --git a/tools/project_template/ModuleTemplate/ModuleTemplate.rc b/tools/project_template/ModuleTemplate/ModuleTemplate.rc deleted file mode 100644 index c6e65c4e07428805f4ea994379a6f88c61f7a142..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 zcmbW2-A@`p6vfYTll~7I^g$CtcC9ac6!}Oa0uf5$lR>4FhOPuOvHyJA-<{ck9YkBm zWKKB_M?K&%B)@luOqaF;s-{~uRALcbQDtiUw8gVVx1&^DM zCBeImwiiyB3JjjKfLpE!9hy?vn1~#%kE#@WL)^A(-nN<5DoOR(RdmNQ&a{qsFJtf; z(#JMcng$hkKkBFE8o}`w^EKkvnDvt_)}&-FD-be=cZ?8JsFQc8d#BDEm8Kx)E2Kj> zELi!0*FDy}U~&kLE7l+M?6llo`TNL2axTD*5mQy!Csow6dzZY{&nK7DSk6kSc-7vn zWfzn-2osmzdNijyHdhmU2fN&#*pldoo*tvxDOF|6OtR7A{kqsK&~37<=Frv9r@-j# z+N<<%#X8U-F c$|LkD&%2%3{tU4h&D?Z^e+R#N)@=RPUrticNB{r; diff --git a/tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj b/tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj index 6405bb3a58..e08bc7247d 100644 --- a/tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj +++ b/tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj @@ -14,7 +14,7 @@ 15.0 {64A80062-4D8B-4229-8A38-DFA1D7497749} Win32Proj - templatenamespace + $safeprojectname$ 10.0 ModuleTemplate diff --git a/tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj b/tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj new file mode 100644 index 0000000000..b923692645 --- /dev/null +++ b/tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj @@ -0,0 +1,126 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {64A80062-4D8B-4229-8A38-DFA1D7497749} + Win32Proj + templatenamespace + 10.0 + ModuleTemplateCompileTest + + + + DynamicLibrary + true + v142 + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + + + + + + + + + + + + + true + $(SolutionDir)$(Platform)\$(Configuration)\modules\ + + + false + $(SolutionDir)$(Platform)\$(Configuration)\modules\ + + + + Use + Level3 + Disabled + true + _DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + pch.h + MultiThreadedDebug + stdcpplatest + + + Windows + true + $(OutDir)$(TargetName)$(TargetExt) + + + + + Use + Level3 + MaxSpeed + true + true + true + NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + pch.h + MultiThreaded + stdcpplatest + + + Windows + true + true + true + $(OutDir)$(TargetName)$(TargetExt) + + + + + $(SolutionDir)src\;$(SolutionDir)src\modules;$(SolutionDir)src\common\Telemetry;%(AdditionalIncludeDirectories) + + + + + + + + + + + Create + Create + pch.h + pch.h + + + + + + {74485049-c722-400f-abe5-86ac52d929b3} + + + + + + + + + \ No newline at end of file diff --git a/tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj.filters b/tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj.filters similarity index 100% rename from tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj.filters rename to tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj.filters diff --git a/PowerToyTemplate.sln b/tools/project_template/PowerToyTemplate.sln similarity index 89% rename from PowerToyTemplate.sln rename to tools/project_template/PowerToyTemplate.sln index 300d5065d3..b89dba4345 100644 --- a/PowerToyTemplate.sln +++ b/tools/project_template/PowerToyTemplate.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.29609.76 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModuleTemplate", "tools\project_template\ModuleTemplate\ModuleTemplate.vcxproj", "{64A80062-4D8B-4229-8A38-DFA1D7497749}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModuleTemplate", "ModuleTemplate\ModuleTemplate.vcxproj", "{64A80062-4D8B-4229-8A38-DFA1D7497749}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/tools/project_template/README.md b/tools/project_template/README.md index 25746c288d..d146ae7125 100644 --- a/tools/project_template/README.md +++ b/tools/project_template/README.md @@ -5,6 +5,9 @@ - Put the `ModuleTemplate.zip` file inside the `%USERPROFILE%\Documents\Visual Studio 2019\Templates\ProjectTemplates\` folder, which is the default *User project templates location*. You can change that location via `Tools > Options > Projects and Solutions`. - The template will be available in Visual Studio, when adding a new project, under the `Visual C++` tab. +## Contributing +If you'd like to work on a PowerToy template, make required modifications to `\tools\project_template\ModuleTemplate.vcxproj` and then use the dedicated solution `PowerToyTemplate.sln` to export it as a template. Note that `ModuleTemplate.vcxproj` is actually a project template, therefore uncompilable, so we also have a dedicated `ModuleTemplateCompileTest.vcxproj` project referenced from the `PowerToys.sln` to help keeping the template sources up to date and verify it compiles correctly. + ## Create a new PowerToy Module - Add the new PowerToy project to the `src\modules\` folder for all the relative paths to work.