Repository navigation
π§ Copy installed QDMI libraries and device assets #2231
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
Closed
burgholzer
wants to merge
4
commits into
codex/qdmi-default-driver-extension-c2
from
codex/qdmi-installed-consumer-deployment-c3
Closed
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
63df83d
π§ Harden installed QDMI runtime staging
burgholzer 53ebbd7
π§ Refresh the installed QDMI consumer
burgholzer 7157881
β»οΈ Simplify installed QDMI library copies
burgholzer 7b0218a
π Copy installed QDMI libraries' sibling dependencies
burgholzer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| # Installed QDMI runtime deployment | ||
|
|
||
| Status: rebased on refreshed #2230; validation in progress. | ||
|
|
||
| ## Motivation and scope | ||
|
|
||
| Installed CMake consumers need the same complete runtime layout as in-tree | ||
| applications. The existing mqt_copy_qdmi_runtime helper must stage imported | ||
| Client, driver, device libraries, manifests, provider assets and Windows DLLs. | ||
|
|
||
| This is Core PR #2231 on #2230, using QDMI #511 and current main APIs. | ||
|
|
||
| ## Decisions | ||
|
|
||
| Reuse the existing imported-device fixture as a real find_package consumer. Use | ||
| copy_if_different for local and imported runtime targets. Imported targets must | ||
| not become build dependencies. For Windows, retain the non-imported | ||
| linker-language-bearing closure used to compute transitive imported DLLs. | ||
| Preserve device metadata and asset copying, and use the build RPATH while | ||
| running staged build-tree applications. | ||
|
|
||
| This changes deployment only. It does not add Client APIs, providers, compiler | ||
| behavior, or a second package-consumer harness. | ||
|
|
||
| ## Validation | ||
|
|
||
| Run the release build, both imported-device fixture tests, and the full native | ||
| suite. The fixture must resolve installed Core targets, execute the consumer, | ||
| and compare staged libraries, manifest, assets and Windows dependency files. | ||
| Check that the helper disables BUILD_WITH_INSTALL_RPATH on its consumer. Run | ||
| repository lint; Windows hosted CI remains necessary for real DLL loading. | ||
|
|
||
| Validation is being repeated against current main. | ||
|
|
||
| Keep useful commits, human attribution and existing review threads. Do not | ||
| create archive branches or request reviews. Published artifacts require released | ||
| dependency pins. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| # Copyright (c) 2023 - 2026 Chair for Design Automation, TUM | ||
| # Copyright (c) 2025 - 2026 Munich Quantum Software Company GmbH | ||
| # All rights reserved. | ||
| # | ||
| # SPDX-License-Identifier: MIT | ||
| # | ||
| # Licensed under the MIT License | ||
|
|
||
| # Copy dependencies shipped beside a shared library, leaving system libraries in place. | ||
| file(REAL_PATH "${LIBRARY}" library) | ||
| cmake_path(GET library PARENT_PATH library_directory) | ||
| file(GET_RUNTIME_DEPENDENCIES LIBRARIES "${library}" RESOLVED_DEPENDENCIES_VAR dependencies) | ||
| foreach(dependency IN LISTS dependencies) | ||
| cmake_path(GET dependency PARENT_PATH directory) | ||
| if(directory STREQUAL library_directory) | ||
| file( | ||
| COPY "${dependency}" | ||
| DESTINATION "${DESTINATION}" | ||
| FOLLOW_SYMLINK_CHAIN) | ||
| endif() | ||
| endforeach() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.