Skip to content

✨ Export stable metadata from QDMI device targets - #475

Merged
burgholzer merged 2 commits into
developfrom
agent/qdmi-core-1912
Jul 29, 2026
Merged

✨ Export stable metadata from QDMI device targets#475
burgholzer merged 2 commits into
developfrom
agent/qdmi-core-1912

Conversation

@burgholzer

@burgholzer burgholzer commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

🤖 AI text below 🤖

Description

Add the QDMI-owned configure_qdmi_device_target CMake helper for publishing a
device target's stable ID and symbol prefix through the neutral
QDMI_DEVICE_ID and QDMI_DEVICE_PREFIX target properties. The properties are
preserved when the target is exported and installed.

Update the C++ example and generated device template to use the helper. Newly
generated projects receive an overridable <PREFIX>_QDMI_DEVICE_ID with the
default <lowercase-prefix>.default, and document why that identifier should
remain stable.

This is the QDMI side of
MQT Core #1912,
which is the first consumer of this metadata. Device implementations do not
gain a build-time or runtime dependency on MQT Core.

Checklist

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • I have added entries to the changelog for any noteworthy additions, changes, fixes, or removals.
  • I have added migration instructions to the upgrade guide (if needed).
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

If PR contains AI-assisted content:

  • I have disclosed the use of AI tools in the PR description as per our AI Usage Guidelines.
  • AI-assisted commits include an Assisted-by: [Model Name] via [Tool Name] footer.
  • I confirm that I have personally reviewed and understood all AI-generated content, and accept full responsibility for it.

@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-07-29 20:45 UTC

burgholzer added a commit that referenced this pull request Jul 28, 2026
🤖 *AI text below* 🤖

## Description

Make the reusable template CI build generated projects against the exact
QDMI
repository owner and revision being tested.

The job previously generated a standalone project and then fetched
mutable
`develop`. This caused QDMI #475 to fail because its generated project
used
functionality introduced by that pull request but absent from `develop`.
The
workflow now passes the pull request head owner and SHA to the direct
CMake
builds and forwards the same `CMAKE_ARGS` into cibuildwheel's Linux
containers.
Push and merge-queue events fall back to the current repository owner
and event
SHA.

The generated template and its normal dependency defaults remain
unchanged.
This is a CI-only correction that also makes future template changes
test their
exact source revision.

Related to #475.

## Validation

- `uvx prek run -a`
- Generated the #475 device template and built it as a standalone CMake
project
  against exact head `c5564bc7a031f6716a4e7bc105ad7aadb4cd79f9`
- Built the generated Python wheel with the same exact-revision
`CMAKE_ARGS`
- Independent read-only review of the final diff

## Checklist

- [x] The pull request only contains commits that are focused and
relevant to
  this change.
- [x] The reusable template CI job directly covers the changed behavior.
- [x] Documentation changes are not required for this CI-only
correction.
- [x] A changelog entry is not warranted because there is no user-facing
  behavior change.
- [x] Migration instructions are not needed.
- [x] The changes follow the project's style guidelines and introduce no
new
  warnings.
- [x] The changes passed the relevant local validation listed above.
- [x] The code changes have been independently reviewed.

**If PR contains AI-assisted content:**

- [x] AI assistance is disclosed at the beginning of this description.
- [x] The AI-assisted commit includes the required `Assisted-by` footer.
- [x] A human maintainer has personally reviewed and understood all
AI-assisted
  content and accepts responsibility for it.
Add a QDMI-owned CMake helper for publishing stable device IDs and
symbol prefixes on exported device targets. Use it in the C++ example
and generated device projects so consumers can integrate them without
project-specific loader metadata.

Assisted-by: GPT-5.6-sol via Codex
Record the user-facing template and example integration with PR and author
attribution.

Assisted-by: GPT-5.6-sol via Codex
@burgholzer
burgholzer force-pushed the agent/qdmi-core-1912 branch from c5564bc to f198f5a Compare July 29, 2026 12:58
@burgholzer burgholzer self-assigned this Jul 29, 2026
@burgholzer burgholzer added the enhancement Enhancement of existing functionality label Jul 29, 2026
@burgholzer
burgholzer marked this pull request as ready for review July 29, 2026 13:43
@burgholzer
burgholzer merged commit b94be74 into develop Jul 29, 2026
20 checks passed
@burgholzer
burgholzer deleted the agent/qdmi-core-1912 branch July 29, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Enhancement of existing functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant