Skip to content

CLI Args Junction - #688

Open
planetchili wants to merge 5 commits into
mainfrom
infra/cli-args-linking
Open

planetchili wants to merge 5 commits into
mainfrom
infra/cli-args-linking

Conversation

@planetchili

Copy link
Copy Markdown
Collaborator

Fix support for VS Command Line Args extension. Migrate args.json files to new cmake-derived IDs. Add cmake capability (optional) to junction these files to the build/ directory via symlink.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

The invalid project GUID and broken configure/manual linking workflows must be fixed before approval.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 3 Medium severity

Open (3)
What changed in this PR

Adds optional CMake support for linking Visual Studio command-line argument presets into generated build directories.

Changes:

  • Migrates CMake-derived project IDs and removes legacy presets.
  • Adds an opt-in preset-linking target.
  • Documents configuration and usage.
File Description
Tools/​ETLTrimmer/​ETLTrimmer.args.json Updates the project ID, but introduces an invalid GUID.
Tests/​PresentMonTests.args.json Removes the legacy test preset.
PresentMonService.args.json Updates the service project ID.
PresentMon/​PresentMonConsole.args.json Updates the console project ID.
IntelPresentMon/​SampleClient/​SampleClient.args.json Updates the sample client ID.
IntelPresentMon/​PresentMonService/​PresentMonService.args.json Updates the service project ID.
IntelPresentMon/​PMInstallerExtension/​PMInstallerExtension.args.json Removes the legacy installer preset.
IntelPresentMon/​KernelProcess/​KernelProcess.args.json Updates the kernel process ID.
IntelPresentMon/​AppCef/​CefNano.args.json Removes the obsolete preset.
IntelPresentMon/​AppCef/​AppCef.args.json Removes the obsolete preset.
CMakeLists.txt Registers command-line argument support.
cmake/​PresentMonOptions.cmake Adds the opt-in linking option.
cmake/​PresentMonCommandLineArguments.cmake Implements preset linking, with unresolved configure-time and script-mode failures.
BUILDING.md Documents setup and usage.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread Tools/ETLTrimmer/ETLTrimmer.args.json Outdated
Comment thread cmake/PresentMonCommandLineArguments.cmake
Comment thread cmake/PresentMonCommandLineArguments.cmake Outdated
Correct the ETLTrimmer args.json Id, link presets when CMake targets exist before vcxproj generation, and invoke the manual link script from the module directory.
@planetchili

Copy link
Copy Markdown
Collaborator Author

Addressed all three review items; requesting another Copilot pass.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

The CMake configuration failure and unresolved preset compatibility and data-loss risks must be addressed.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 High severity

Open (1)
Resolved since last review (3)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Preserve existing non-symlink .args.json files

cmake/​PresentMonCommandLineArguments.cmake:47

This unconditionally deletes an existing regular .args.json file before creating the link. A developer may already have extension-managed arguments in the generated project directory, so enabling this option can silently destroy that local configuration. Only replace an existing symlink; preserve a non-symlink and warn instead.

Comment on lines +4 to +5
cmake_path(SET _pmon_expected_build_dir "${CMAKE_SOURCE_DIR}/build" NORMALIZE)
cmake_path(SET _pmon_actual_binary_dir "${CMAKE_BINARY_DIR}" NORMALIZE)
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