Skip to content

Output the module intermediate files to $(IntDir)Microsoft\cppwinrt\#1596

Open
YexuanXiao wants to merge 3 commits into
microsoft:masterfrom
YexuanXiao:patch-5
Open

Output the module intermediate files to $(IntDir)Microsoft\cppwinrt\#1596
YexuanXiao wants to merge 3 commits into
microsoft:masterfrom
YexuanXiao:patch-5

Conversation

@YexuanXiao

@YexuanXiao YexuanXiao commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

This path follows the conventions used by the compiler and the STL (the STL uses the path $(IntDir)Microsoft\STL), avoiding mixing library intermediate files with those of the project files.

The PR also removed CppWinRTModuleLibDir because it appeared in isolation, was unused, and had no explanation.

Copilot AI review requested due to automatic review settings July 24, 2026 01:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the MSBuild targets used by the C++/WinRT NuGet package to place C++20 module intermediate outputs (IFC/object/dependency artifacts) under $(IntDir)Microsoft\cppwinrt\, aligning the output layout with common toolchain conventions and keeping package intermediates separate from project intermediates.

Changes:

  • Redirect module compilation outputs for generated .ixx files to $(IntDir)Microsoft\cppwinrt\ via ClCompile item metadata.
  • Update the exported module IFC directory (CppWinRTModuleIfcDir) for ProjectReference-based module consumption to match the new location.
  • Remove the unused CppWinRTModuleLibDir metadata from CppWinRTGetModuleOutputs.

Comment thread nuget/Microsoft.Windows.CppWinRT.targets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants