-
Notifications
You must be signed in to change notification settings - Fork 8.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove all our path antics; force native projects to bin/, obj/ #8062
Conversation
… obj/ This commit fixes our longstanding build artifact output issues and finally unifies all C++ project output into bin/ and obj/. I've removed NoOutputRedirection. I validated this change by running repeated incremental builds after changing individual .cpp files in many of our C++/WinRT projects.
The only projects that emit binaries into src/ or / are now CascadiaPackage and the .NET projects. It is possible to resolve this, but I wanted to move them slowly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to nominate this for PR of the year
<ProjectGuid>{b0ac39d6-7b40-49a9-8202-58549bae1fb1}</ProjectGuid> | ||
<ProjectName>WindowsTerminalUniversal</ProjectName> | ||
<RootNamespace>WindowsTerminalUniversal</RootNamespace> | ||
<DefaultLanguage>en-US</DefaultLanguage> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So. Good.
Decided I should make TestHostApp live in a subdir ;P because I lost that when I forcibly disabled the project-specific output directory. |
@@ -2,55 +2,6 @@ | |||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
<Import Project="$(MSBuildThisFileDirectory)common.build.post.props" /> | |||
|
|||
<!-- For Cascadia projects, we want to copy the output dll up a directory |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Beautiful. Brings a tear to my eye.
I love this. Thank you for taking the time to pull this together. |
(xcopy /Y "$(SolutionDir)$(Platform)\$(Configuration)\TerminalControl\TerminalControl.dll" "$(OutDir)\TerminalControl.dll*" ) | ||
(xcopy /Y "$(OpenConsoleCommonOutDir)\TerminalConnection\TerminalConnection.dll" "$(OutDir)\TerminalConnection.dll*" ) | ||
(xcopy /Y "$(OpenConsoleCommonOutDir)\TerminalSettings\TerminalSettings.dll" "$(OutDir)\TerminalSettings.dll*" ) | ||
(xcopy /Y "$(OpenConsoleCommonOutDir)\TerminalControl\TerminalControl.dll" "$(OutDir)\TerminalControl.dll*" ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how many different copy commands are there on windows?
because i can cite at least 3 off the top of my head
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably used all three in the same project here 😉
## Summary of the Pull Request Apparently, we don't need this `TargetRuntime`. That's what was causing VS to think that we were a C# project, and give us that warning. This is the solution we got from the owner of the `.wapproj` plugin. ## References * Introduced in c33883d, in PR #8062 ## PR Checklist * [x] Closes #8301 * [x] I work here Build and ran it fine. Changed TermControl, built and ran it fine. Now let's hope CI likes it.
## Summary of the Pull Request Apparently, we don't need this `TargetRuntime`. That's what was causing VS to think that we were a C# project, and give us that warning. This is the solution we got from the owner of the `.wapproj` plugin. ## References * Introduced in c33883d, in PR microsoft#8062 ## PR Checklist * [x] Closes microsoft#8301 * [x] I work here Build and ran it fine. Changed TermControl, built and ran it fine. Now let's hope CI likes it.
This commit fixes our longstanding build artifact output issues and
finally unifies all C++ project output into bin/ and obj/.
In light of that, I've removed NoOutputRedirection.
I've also updated WTU and U8U16Test to use our common build props and
fixed any warnings/compilation errors that popped out.
I validated this change by running repeated incremental builds after
changing individual .cpp files in many of our C++/WinRT projects.