Skip to content

🐛 Fix malformed include directories in exported nlohmann_json CMake targets for component-based installs (#1662)#1663

Merged
burgholzer merged 4 commits intomainfrom
fix-component-based-install
Apr 28, 2026
Merged

🐛 Fix malformed include directories in exported nlohmann_json CMake targets for component-based installs (#1662)#1663
burgholzer merged 4 commits intomainfrom
fix-component-based-install

Conversation

@burgholzer
Copy link
Copy Markdown
Member

Description

This PR fixes the problems observed with the 3.5.0 release while updating in dependent MQT repositories.
There was a malformed include directory install command, that did not even turn out to be necessary (through local testing with QCEC, QMAP, and DDSIM).

This is essentially the forward port of #1662 and the v3.5.1 release.

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.

… targets for component-based installs (#1662)

## Description

This PR fixes the problems observed with the 3.5.0 release while
updating in dependent MQT repositories.
There was a malformed include directory install command, that did not
even turn out to be necessary (through local testing with QCEC, QMAP,
and DDSIM).
After this is merged, I will tag the `v3.5.1` release and update the PRs
in the dependent repositories.

## Checklist

<!---
This checklist serves as a reminder of a couple of things that ensure
your pull request will be merged swiftly.
-->

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

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

- [x] I have disclosed the use of AI tools in the PR description as per
our [AI Usage
Guidelines](https://github.com/munich-quantum-toolkit/core/blob/main/docs/ai_usage.md).
- [x] AI-assisted commits include an `Assisted-by: [Model Name] via
[Tool Name]` footer.
- [x] I confirm that I have personally reviewed and understood all
AI-generated content, and accept full responsibility for it.

Signed-off-by: Lukas Burgholzer <burgholzer@me.com>
@burgholzer burgholzer added this to the MQT Core milestone Apr 23, 2026
@burgholzer burgholzer self-assigned this Apr 23, 2026
@burgholzer burgholzer added fix Fix for something that isn't working c++ Anything related to C++ code skip-changelog Changes that do not need to show up in the changelog labels Apr 23, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 23, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: d2085836-c4d1-48ee-8bf8-71877852d45f

📥 Commits

Reviewing files that changed from the base of the PR and between f0d49c3 and 271a485.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • UPGRADING.md

📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes

    • Fixed CMake packaging issue with exported nlohmann_json targets that was incorrectly propagating invalid include directories during component-based installations.
  • Documentation

    • Added release notes and upgrade guidance for version 3.5.1.

Walkthrough

Adds a v3.5.1 patch release entry and upgrade guidance, updates GitHub compare links, and simplifies CMake installation for nlohmann_json by removing explicit target header-installation from install(TARGETS ...) while keeping separate header-directory installation and exported target exports.

Changes

Cohort / File(s) Summary
Release documentation
CHANGELOG.md, UPGRADING.md
Added 3.5.1 release notes and compare link, added upgrade guidance and 3.4.0 SOVERSION note, and fixed missing PR URL reference.
CMake packaging
cmake/ExternalDependencies.cmake
Simplified nlohmann_json installation: removed explicit install(TARGETS nlohmann_json ...) header destination/component specification and now rely on exporting the target plus the separate header-directory install.

Sequence Diagram(s)

(Skipped — changes are packaging/documentation tweaks and simple install/export adjustments that do not introduce a new multi-component runtime flow.)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

packaging

Poem

🐰
I tidy exports with nimble paw,
Bumped notes and links without a flaw,
CMake trimmed, headers still stay,
v3.5.1 hops into the day.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main fix: removing a malformed include directory command from exported nlohmann_json CMake targets for component-based installations.
Description check ✅ Passed The PR description covers the key aspects including the problem fixed, motivation, testing approach, and all required checklist items are marked complete.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-component-based-install

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
UPGRADING.md (1)

242-248: ⚠️ Potential issue | 🟡 Minor

Missing version compare link for [3.5.1].

The [unreleased] link still points to v3.5.0...HEAD, and there is no [3.5.1] link definition in this file. Since the document now references ## [3.5.1], the compare link should be added and [unreleased] updated to start from v3.5.1 for the rendered links to resolve.

📝 Proposed fix
-[unreleased]: https://github.com/munich-quantum-toolkit/core/compare/v3.5.0...HEAD
+[unreleased]: https://github.com/munich-quantum-toolkit/core/compare/v3.5.1...HEAD
+[3.5.1]: https://github.com/munich-quantum-toolkit/core/compare/v3.5.0...v3.5.1
 [3.5.0]: https://github.com/munich-quantum-toolkit/core/compare/v3.4.0...v3.5.0
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@UPGRADING.md` around lines 242 - 248, Update the link definitions at the
bottom so the `[unreleased]` and new `[3.5.1]` references resolve: change
`[unreleased]` to start from `v3.5.1...HEAD` instead of `v3.5.0...HEAD`, and add
a new `[3.5.1]:` compare link (e.g.,
`https://github.com/munich-quantum-toolkit/core/compare/v3.5.0...v3.5.1`) so the
existing `## [3.5.1]` heading renders correctly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CHANGELOG.md`:
- Around line 364-365: The changelog defines an unused markdown reference
`[`#1654`]`; remove the dangling link definition `[`#1654`]:
https://github.com/munich-quantum-toolkit/core/pull/1654` from the bottom of the
CHANGELOG.md or instead add the missing changelog entry that uses `[`#1654`]` in
the body so the reference is consumed; locate the `[`#1654`]` link definition and
either delete that line or insert the corresponding release note that references
`[`#1654`]`.

---

Outside diff comments:
In `@UPGRADING.md`:
- Around line 242-248: Update the link definitions at the bottom so the
`[unreleased]` and new `[3.5.1]` references resolve: change `[unreleased]` to
start from `v3.5.1...HEAD` instead of `v3.5.0...HEAD`, and add a new `[3.5.1]:`
compare link (e.g.,
`https://github.com/munich-quantum-toolkit/core/compare/v3.5.0...v3.5.1`) so the
existing `## [3.5.1]` heading renders correctly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 79448dda-1af1-4575-87e4-76262d9df1f3

📥 Commits

Reviewing files that changed from the base of the PR and between 6959a5e and f0d49c3.

📒 Files selected for processing (3)
  • CHANGELOG.md
  • UPGRADING.md
  • cmake/ExternalDependencies.cmake

Comment thread CHANGELOG.md Outdated
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Signed-off-by: Lukas Burgholzer <burgholzer@me.com>
Signed-off-by: Lukas Burgholzer <burgholzer@me.com>
@burgholzer burgholzer enabled auto-merge (squash) April 23, 2026 13:23
Signed-off-by: Lukas Burgholzer <burgholzer@me.com>
@burgholzer burgholzer merged commit d7ced80 into main Apr 28, 2026
57 of 59 checks passed
@burgholzer burgholzer deleted the fix-component-based-install branch April 28, 2026 13:37
jmoosburger pushed a commit to jmoosburger/mqt-core that referenced this pull request Apr 30, 2026
… targets for component-based installs (munich-quantum-toolkit#1662) (munich-quantum-toolkit#1663)

## Description

This PR fixes the problems observed with the 3.5.0 release while
updating in dependent MQT repositories.
There was a malformed include directory install command, that did not
even turn out to be necessary (through local testing with QCEC, QMAP,
and DDSIM).

This is essentially the forward port of munich-quantum-toolkit#1662 and the `v3.5.1` release.

## Checklist

<!---
This checklist serves as a reminder of a couple of things that ensure
your pull request will be merged swiftly.
-->

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

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

- [x] I have disclosed the use of AI tools in the PR description as per
our [AI Usage

Guidelines](https://github.com/munich-quantum-toolkit/core/blob/main/docs/ai_usage.md).
- [x] AI-assisted commits include an `Assisted-by: [Model Name] via
[Tool Name]` footer.
- [x] I confirm that I have personally reviewed and understood all
AI-generated content, and accept full responsibility for it.

---------

Signed-off-by: Lukas Burgholzer <burgholzer@me.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Anything related to C++ code fix Fix for something that isn't working skip-changelog Changes that do not need to show up in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant