## Summary of the Pull Request
Fix the solution warnings related to wildcards items in vcxproj.
## Detailed Description of the Pull Request / Additional comments
https://learn.microsoft.com/cpp/build/reference/vcxproj-files-and-wildcards#list-all-items-explicitly
Since wildcards where used for assets that doesn't change frequently I
have added `ReplaceWildcardsInProjectItems` for CPP projects. This will
make VS automatically expand wildcards.
* Enable Control Flow Guard; it is a requirement for any MS binaries
As it says on the tin. Go go gadget VC!
* Disable CFG for CLR projects (boo)
* Disable E&C...
(cherry picked from commit f0c3f58468)
* okay, stop being surgical and just whack it
* Revert "okay, stop being surgical and just whack it"
This reverts commit e4e10c6b8a.
* Oh CLRSupport is a **property**
* Flatten everything and succeed build
* Figure out Settings assets
* Remove UseCommonOutputDirectory tag
* Proper settings app path
* [VCM] Fix assets location
* Fix some runtime paths
* [RegistryPreview]Use MRTCore specific pri file
* [Hosts]Use MRTCore specific pri file
* [Settings]Use MRTCore specific pri file
* [Peek]Use MRTCore specific pri file
* [FileLocksmith]Use MRTCore specific pri file
* [ScreenRuler]Use MRTCore specific pri file
* [PowerRename]Use MRTCore specific pri file
* [Peek]Move assets to own folder
* [FileLocksmith] Use own Assets path
* [Hosts]Use own assets folder
* [PowerRename]Use own assets dir
* [MeasureTool] Use its own assets folder
* [ImageResizer]Use its own assets path
* Fix spellcheck
* Fix tab instead of space in project files
* Normalize target frameworks and platforms
* Remove WINRT_NO_MAKE_DETECTION flag. No longer needed?
* Fix AOT and Hosts locations
* Fix Dll version differences on dependency
* Add Common.UI.csproj as refernce to fix dll versions
* Update ControlzEx to normalize dll versions
* Update System.Management version to 7.0.2
* Add GPOWrapper to Registry Preview to fix dll versions
* [PTRun]Reference Microsoft.Extensions.Hosting to fix dll versions
* Fix remaining output paths / dll version conflicts
* [KeyboardManager]Executables still on their own directories
* Fix Monaco paths
* WinAppSDK apps get to play outside again
* Enable VCM settings again
* Fix KBM Editor path again
* [Monaco]Set to own Assets dir
* Fix installer preamble; Fix publish. remove unneeded publishes
* Remove Hardlink functions
* Installer builds again (still needs work to work)
* Readd Monaco to spellcheck excludes
* Fix spellcheck and call publish.cmd again
* [Installer] Remove components that don't need own dirs
* [Installer] Refactor Power Launcher
* [Installer] Refactor Color Picker
* [Installer] Refactor Monaco assets
* [Installer]Generate File script no longer needs to remove files
* [Installer]Refactor FileLocksmith
* [Installer] Refactor Hosts
* [Installer]Refactor Image Resizer
* [Installer]Refactor MouseUtils
* [Installer]Refactor MWB
* [Installer]Refactor MeasureTool
* [Installer]Refactor Peek
* [Installer]Refactor PowerRename and registry fixes
* [Installer]Refactor RegistryPreview
* [Installer]Refactor ShortcutGuide
* [Installer]Refactor Settings
* [Installer]Clean up some unused stuff
* [Installer]Clean up stuff for user install
* [Installer]Fix WinUi3Apps wxs
* [Installer]Fix misplaced folders
* [Installer]Move x86 VCM dll to right path
* Fix monaco language list location
* [Installer]Fix VCM directory reference
* [CI]Fix signing
* [Installer] Fix resources folder for release CI
* [ci]Looks like we still ship NLog on PowerToys Run
* [Settings]Add dependency to avoid dll collision with Experimentation
* [RegistryPreview]Move XAML files to own path
* [RegistryPreview]Fix app icon
* [Hosts]Move XAML files to their own path
* [FileLocksmith]Move XAML files to their own path
* [Peek]Move XAML files to own path
* [ScreenRuler]Move XAML files to its own path
* [Settings]Move XAML to its own path
* [ColorPicker]Move Resources to Assets
* [ShortcutGuide]Move svgs to own Assets path
* [Awake]Move images to assets path
* [Runner]Remove debug checks for PowerToys Run assets
* [PTRun]Move images to its own assets path
* [ImageResizer]Icon for context menu on own assets path
* [PowerRename]Move ico to its own path
* Remove unneeded intermediary directories
* Remove further int dirs
* Move tests to its own output path
* Fix spellcheck
* spellcheck: remove warnings
* [CppAnalyzers]Ignore rule in a tool
* [CI]Check if all deps.json files reference same versions
* fix spellcheck
* [ci]Fix task identation
* [ci]Add script to guard against asset conflicts
* [ci]Add more deps.json audit steps in the release build
* Add xbf to spellcheck expects
* Fix typo in asset conflict check scripts
* Fix some more dependency conflicts
* Downgrade CsWinRT to have the same dll version as sdk
* [ci]Do a recursive check for every deps.json
* Fix spellcheck error inside comment
* [ci]Fix asset script error
* [ci]Name deps.json verify tasks a bit better
* [ci]Improve deps json verify script output
* [ci]Update WinRT version to the same running in CI
* Also upgrade CsWinRT in NOTICE.MD
* [PowerRename]Move XAML files to own path
* [Common]Fix Settings executable path
* [ci]Verify there's no xbf files in app directories
* [installer]Fix firewall path
* [Monaco]Move new files to their proper assets path
* [Monaco]Fix paths for new files after merge
* [Feedback]Removed unneeded build conditions
* [Feedback]Clear vcxproj direct reference to frameworks
* [Feedback]RunPlugins name to hold PTRun plugins
* [Feedback]Remove unneeded foreach
* [Feedback]Shortcut Guide svgs with ** in project file
* [Feedback]Fix spellcheck
C++ code analysis is a heavy process, which we are running in the PR CIs already, so code that gets into main should be checked already.
This PR conditionally removes C++ code analysis from the release pipelines. This saves 10-15 minutes in build time.
## Validation Steps Performed
Verified the release CI shaved some time off.
* Update projects to .NET 7
* Updated packages to 7.0-rc1
* [ColorPicker] Wrap WM_KEYUP param in unchecked context
* [PTRun][OneNote] Added a NoWarn to CS8981
* [MeasureTool] Wrap buffer in wstring_view in SetClipBoardToText
* Target .NET 7 for PowerToys.Interop
* Update publish profiles
* Removed System.Text.Json.dll from Product.wxs since it's included in .NET 7
* Use .NET 7 in CI
* Removed individual CodeAnalysis package from projects
* Updated CodeAnalysis package in Directory.Build.props
* Updated NuGet packages to latest 7.0 rc2
* Fix merge mistake with Settings.UI.Library project
* Updated installer with .NET 7 RC2 install
* [GPOWrapper] Updated GPOWrapperProjection to .NET 7
* [FileLockSmith] Updated to .NET 7
* [FileLocksmith] Update Interop to .NET 7
* Upgrade .NET 7 specific libraries to GA version
* [PowerToysSetup] Updated .NET 7 urls to GA
* [CI] removed .NET 7 SDK preview version from UseDotNet task
* [PowerToysSetup] Update HasDotnet variable name
* [PowerToysInterop] Downgrade target back to .NET 6
* [FileLockSmith] Downgrade Interop library back to .NET 6
* Revert "[FileLockSmith] Downgrade Interop library back to .NET 6"
This reverts commit 356ad048e3.
* Revert "[PowerToysInterop] Downgrade target back to .NET 6"
This reverts commit 74dbcfdefe.
* [Analyzers][CPP] Disable warning for 4679 caused by .NET 7 in C++/CLI
* [CI] Set maximum cpu count to 2 for PowerToys.sln build
* [CI] Set maximumCpuCount to false in hopes of arm64 working
* Changed .NET 7 runtime display name
* [ci] Use .net 7 sdk
6031 - Return value ignored: 'called-function' could return unexpected value
26451 - Arithmetic overflow: Using operator 'operator' on a size-a byte value and then casting the result to a size-b byte value. Cast the value to the wider type before calling operator 'operator' to avoid overflow (io.2)
28182 - Dereferencing NULL pointer.
* Analyzers CPP
Changing the warning level from 3 to 4.
change some project files to make them use the warning config in cpp props file.
* Analyzers C++ turn on warning 4706
Change Cpp.Build.props file to enable 4706
fix BugReportTool code to get rid of 4706
* Turn on warning 4100 and fix the code
* Follow c++ core guidelines
* Adapting to PR comments
* Analyzers CPP
Changing the warning level from 3 to 4.
change some project files to make them use the warning config in cpp props file.
* Analyzers C++ turn on warning 4706
Change Cpp.Build.props file to enable 4706
fix BugReportTool code to get rid of 4706
* disable 4706 for external code
Using Cpp.Build.props to setup C++ code analysis as default.
Starting with a ruleset based on Microsoft Recomended Native rules. But changing all to info. Future pull request should change a rulr from info to warning and fix the code.
* [Screen Ruler] simplify lines calculation
* [Screen Ruler] Add inches and centimeters support
* [Chore] prefer x64 toolset to avoid hitting C1076
* [Screen Ruler] Allow making screenshots in non-continuous mode
* [Screen Ruler] Use single d3d device for all ops
* [Screen Ruler] remove gpu mutex and clean up screen capturing
* [Screen Ruler] handle and log DXGI initialization failure
* [Screen Ruler] Add unhandled exception handler
* [Screen Ruler] comment out Units of Measure setting
* [Screen Ruler] introduce a separate device dedicated for capturing
* [MeasureTool] initial commit
* [chore] clean up needless WindowsTargetPlatformVersion overrides from projects
* [MeasureTool] initial implementation
* Fix build errors
* Update vsconfig for needed Windows 10 SDK versions
* fix spellchecker
* another spellcheck fix
* more spellcheck errors
* Fix measurement being off by 1 on both ends
* UI fixes
* Add feet to crosses
* Remove anti-aliasing, as it's creating artifacts
* Use pixel tolerance from settings
* Tooltip updates
* Restore antialiasing to draw the tooltip
* remove comment for spell check
* Updated icons
* Icon updates
* Improve measurement accuracy and display
* Fix spellchecker
* Add less precise drawing on continuous warning
* Add setting for turning cross feet on
* Swap LMB/RMB for interaction
* Uncheck active tool's RadioButton when it exits
* activation hotkey toggles UI instead of just launching it
* track runner process and exit when it exits
* add proj ref
* toolbar is interactive during measurements
* always open toolbar on the main display
* refactor colors
* refactor edge detection & overlay ui
* refactor overlay ui even more
* simplify state structs
* multimonitor preparation: eliminate global state
* prepare for merge
* spelling
* proper thread termination + minor fixes
* multimonitor: launch tools on all monitors
* multimonitor support: track cursor position
* spell
* fix powertoys!
* ScreenSize -> Box
* add shadow effect for textbox
* spell
* fix debug mode
* dynamic text box size based on text layout metrics
* add mouse wheel to adjust pixel tolerance + per channel detection algorithm setting
* spelling
* fix per channel distance calculations
* update installer deps + spelling
* tool activation telemetry
* update assets and try to fix build
* use × instead of x
* allow multiple measurements with bounds tool with shift-click
* move #define DEBUG_OVERLAY in an appropriate space
* spell-checked
* update issue template + refactor text box drawing
* implement custom renderer and make × semiopaque
* spelling
* pass dpiScale to x renderer
* add sse2neon license
* update OOBE
* move license to NOTICE
* appropriate module preview image
* localization for AutomationPeer
* increase default pixel tolerance from 5 to 30
* add PowerToys.MeasureToolUI.exe to bugreport
* explicitly set texture dims
* clarify continuous capture description
* fix a real spelling error!
* cleanup
* clean up x2
* debug texture
* fix texture access
* fix saveasbitmap
* improve sum of all channel diffs method score calc
* optimize
* ContinuousCapture is enabled by default to avoid confusion
* build fix
* draw captured screen in a non continuous mode
* cast a spell...
* merge fix
* disable stroboscopic effect
* split global/perScreen measure state and minor improvements
* spelling
* fix comment
* primary monitor debug also active for the bounds tool
* dpi from rt for custom renderer
* add comment
* fix off by 1
* make backround convertion success for non continuous mode non-essential
* fix spelling
* overlay window covers taskbar
* fix CI
* revert taskbar covering
* fix CI
* fix ci again
* fix 2
* fix ci
* CI fix
* fix arm ci
* cleanup cursor convertion between coordinate spaces
* fix spelling
* Fix signing
* Fix MeasureToolUI version
* Fix core version
* fix race condition in system internals which happens during concurrent d3d/d2d resource creation
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Niels Laute <niels.laute@live.nl>
* Removed x64 specific conditions
* Added RuntimeIdentifiers and ensured Platforms aligned
* Removed x64 specific configuration and normalized PropertyGroup configuration
* Removed Platform conditions from ItemDefinition and Property Group
* Adding Project Configurations to PowerToys.Interop
* Updated solution config for common projects
* Added ARM64 Platform to Directory.Build.props
* Added ARM64 project configuration for Cpp.Build.props
* Added ARM64 configuration to solution. Keeping at x64 for now
* Update release.yml
* Update ColorPickerUI.csproj
* Update release.yml
adding in .net6 sdk and moving stuff sooner
* Update release.yml
* Update release.yml
* fixing test
* Forcing vs17 and adding in .net 6 sdk
* forcing pool
* fixing issues in each pipeline
* moving release .net up
* fixing diff on agent version for nuget installer
* Removing system.text.json.dll as included now
* getting unit tests it looks like to work
* updating everythign to .net 6 minus wxs for runtime
* unit test still have
* getting 6.0 stuff up and going. Terminal Unit tests have file max length issue ....
* found i think the last .net 5 issue
* looks like i wasn't aggressive enough with the 6.0 upgrade
* Getting stuff .net 6 buildable again
* tweaking with new stuff for installer
* Update newly added merged projects to .net 6
* Fix HeatDirectory bug on VS 2022
* Settings still needs JSON dependency
* Revert "getting 6.0 stuff up and going. Terminal Unit tests have file max length issue ...."
This reverts commit b9cb4586dc.
* Update sln version
* supress obsolete warning, since this is not a new development
* Partially Revert "Getting stuff .net 6 buildable again"
This reverts commit 42b4201c6b.
* supress another obsolete warning, since this is not a new development
* Reduce the unit test project name to avoid MAX PATH in CI
* Upgrade project's toolset in the main solution
* Some TODOs to review HttpClient usage
* Upgrade project toolsets from other solutions
* Install .net 6 instead of .net 5
* Fix issue when disabling PowerToys Run on .net framework 6
* Update docs for Visual Studio 2022
* PR comments: manually upgrade missing VS 2019 references
* Discard no discard values to solve compiler warnings
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* PowerRename new UI
* Add scrollviewer
* Don't deploy PowerRenameUI_new
* Visual updates
* Visual updates
* Updates
* Update Resources.resw
* Added docs button
* Update MainWindow.xaml
* Wire Docs button
* RegEx -> regular expressions
* Update Show only renamed list on search/replace text changed
* Update Show only renamed list on search/replace text changed - proper fix
Set searchTerm to NULL when cleared - fix Show only renamed files on clear searchTerm
* Files/folders input error handling
* Fix renaming with keeping UI window opened
After renaming folder, all of it's children need path update.
Without path update, further renaming of children items would
fail.
* Update only children, not all items with greater depth
* Fix dictionary false positives
* Remove .NET dep
* Rename PowerRenameUI_new to PowerRenameUILib
Rename executable PowerRenameUIHost to PowerRename
Co-authored-by: Laute <Niels.Laute@philips.com>