-
-
Notifications
You must be signed in to change notification settings - Fork 48
π¨βπ»π¦ Build spdlog as a shared library on project installs
#1411
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
Conversation
Codecov Reportβ All modified and coverable lines are covered by tests. π’ Thoughts on this report? Let us know! |
π WalkthroughSummary by CodeRabbit
βοΈ Tip: You can customize this high-level summary in your review settings. WalkthroughAdds a CMake option to build spdlog as a shared library when project shared libs are enabled, sets spdlog target output directories to install-layout paths, and updates the changelog and a couple of CMake comments. Changes
Estimated code review effortπ― 3 (Moderate) | β±οΈ ~20 minutes Poem
Pre-merge checksβ Passed checks (3 passed)
π Recent review detailsConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro π Files selected for processing (4)
π§° Additional context usedπ§ Learnings (8)π Learning: 2025-10-14T14:37:38.047ZApplied to files:
π Learning: 2025-12-05T17:45:37.602ZApplied to files:
π Learning: 2025-12-01T11:00:40.342ZApplied to files:
π Learning: 2025-11-24T10:19:41.147ZApplied to files:
π Learning: 2025-12-28T17:14:53.890ZApplied to files:
π Learning: 2025-11-03T23:09:26.881ZApplied to files:
π Learning: 2025-12-05T15:57:39.701ZApplied to files:
π Learning: 2025-10-10T08:09:54.528ZApplied to files:
β° Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
π Additional comments (7)
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. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
π Review details
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
π Files selected for processing (4)
CHANGELOG.mdcmake/ExternalDependencies.cmakesrc/qdmi/na/CMakeLists.txtsrc/qdmi/sc/CMakeLists.txt
π§° Additional context used
π§ Learnings (7)
π Learning: 2025-12-05T17:45:37.602Z
Learnt from: denialhaag
Repo: munich-quantum-toolkit/core PR: 1360
File: .github/workflows/reusable-mlir-tests.yml:40-43
Timestamp: 2025-12-05T17:45:37.602Z
Learning: In the munich-quantum-toolkit/core repository, patch releases of LLVM dependencies don't require documentation updates, changelog entries, or additional tests beyond what's validated by passing CI checks.
Applied to files:
src/qdmi/na/CMakeLists.txtCHANGELOG.md
π Learning: 2025-12-28T17:14:53.890Z
Learnt from: burgholzer
Repo: munich-quantum-toolkit/core PR: 1403
File: src/qdmi/na/CMakeLists.txt:31-38
Timestamp: 2025-12-28T17:14:53.890Z
Learning: In the munich-quantum-toolkit/core repository, the NA device generator target (mqt-core-qdmi-na-device-gen) is intentionally propagated to MQT_CORE_TARGETS via list(APPEND) because it's publicly linked to the NA device library (the NA device uses a public function from the generator). The SC device generator is not propagated because it has no such dependency with the SC device library.
Applied to files:
src/qdmi/na/CMakeLists.txtsrc/qdmi/sc/CMakeLists.txt
π Learning: 2025-10-14T14:37:38.047Z
Learnt from: burgholzer
Repo: munich-quantum-toolkit/yaqs PR: 212
File: CHANGELOG.md:12-15
Timestamp: 2025-10-14T14:37:38.047Z
Learning: In the munich-quantum-toolkit/yaqs project, changelog entries follow the template: "- $TITLE ([#$NUMBER]($URL)) ([**AUTHOR**](https://github.com/$AUTHOR))". Issue references should not be included in changelog entries; the PR number is sufficient for traceability.
Applied to files:
CHANGELOG.md
π Learning: 2025-12-01T11:00:40.342Z
Learnt from: flowerthrower
Repo: munich-quantum-toolkit/core-plugins-catalyst PR: 1
File: CHANGELOG.md:18-18
Timestamp: 2025-12-01T11:00:40.342Z
Learning: In the munich-quantum-toolkit/core-plugins-catalyst repository, the CHANGELOG.md intentionally references the parent MQT Core repository's release notes (https://github.com/munich-quantum-toolkit/core/releases) because the plugin repository is based on work performed in the parent repository.
Applied to files:
CHANGELOG.md
π Learning: 2025-11-24T10:19:41.147Z
Learnt from: burgholzer
Repo: munich-quantum-toolkit/core PR: 1326
File: python/mqt/core/__init__.py:22-22
Timestamp: 2025-11-24T10:19:41.147Z
Learning: In the munich-quantum-toolkit/core repository, Ruff is configured with 'ALL' rules enabled by default, and only specific rules are selectively disabled. When reviewing changes that enable previously-disabled rules (like PLC0415), noqa directives for those rules become necessary and should be retained.
Applied to files:
CHANGELOG.md
π Learning: 2025-11-03T23:09:26.881Z
Learnt from: burgholzer
Repo: munich-quantum-toolkit/core PR: 1287
File: test/qdmi/dd/CMakeLists.txt:9-21
Timestamp: 2025-11-03T23:09:26.881Z
Learning: The CMake functions `generate_device_defs_executable` and `generate_prefixed_qdmi_headers` used in QDMI device test CMakeLists.txt files are provided by the external QDMI library (fetched via FetchContent from https://github.com/Munich-Quantum-Software-Stack/qdmi.git), specifically in the cmake/PrefixHandling.cmake module of the QDMI repository.
Applied to files:
cmake/ExternalDependencies.cmake
π Learning: 2025-10-10T08:09:54.528Z
Learnt from: burgholzer
Repo: munich-quantum-toolkit/core PR: 1246
File: bindings/CMakeLists.txt:0-0
Timestamp: 2025-10-10T08:09:54.528Z
Learning: In the Munich Quantum Toolkit (MQT) Core project, scikit-build-core is configured with `wheel.install-dir = "mqt/core"` in pyproject.toml, which automatically prefixes all CMake `DESTINATION` paths with `mqt/core/` during wheel installation. Therefore, CMake install destinations are relative to the `mqt/core` package namespace, not `site-packages`.
Applied to files:
cmake/ExternalDependencies.cmake
β° Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
- GitHub Check: π Test (macos-14) / π macos-14
- GitHub Check: π Test (ubuntu-24.04) / π ubuntu-24.04
- GitHub Check: π Test (ubuntu-24.04-arm) / π ubuntu-24.04-arm
- GitHub Check: π Test (macos-15-intel) / π macos-15-intel
- GitHub Check: π¨β Test π§ (ubuntu-24.04, gcc, Release) / π§ ubuntu-24.04 gcc Release
- GitHub Check: π¨β Test π (macos-14, clang, Release) / π macos-14 clang Release
- GitHub Check: π¨β Test π (macos-14, clang, Debug) / π macos-14 clang Debug
- GitHub Check: π Test (windows-2022) / π windows-2022
- GitHub Check: π¨β Test π (windows-2022, msvc, Debug) / π windows-2022 msvc Debug
- GitHub Check: π¨β Test π (macos-15-intel, clang, Release) / π macos-15-intel clang Release
- GitHub Check: π¨β Test π§ (ubuntu-24.04-arm, gcc, Release) / π§ ubuntu-24.04-arm gcc Release
- GitHub Check: π¨β Test π (windows-11-arm, msvc, Release) / π windows-11-arm msvc Release
- GitHub Check: π¨β Test π§ (ubuntu-24.04, gcc, Debug) / π§ ubuntu-24.04 gcc Debug
- GitHub Check: π¨β Test π (windows-2022, msvc, Release) / π windows-2022 msvc Release
- GitHub Check: π Lint / π¨ Lint
- GitHub Check: π¨β Lint / π¨ Lint
- GitHub Check: π¨β Coverage / π Coverage
π Additional comments (3)
src/qdmi/na/CMakeLists.txt (1)
29-29: LGTM! Comment style improvement.The grammar improvement (comma β "and") enhances readability.
src/qdmi/sc/CMakeLists.txt (1)
29-29: LGTM! Consistent comment style improvement.Matches the style improvement in
src/qdmi/na/CMakeLists.txt.CHANGELOG.md (1)
28-28: LGTM! Changelog entry follows established format.The entry is correctly placed in the "Changed" section and follows the project's changelog template with appropriate emoji, description, PR reference, and author attribution.
Also applies to: 291-291
Signed-off-by: burgholzer <[email protected]> Signed-off-by: Lukas Burgholzer <[email protected]>
35f54f8 to
f0e908d
Compare
## Description Picked from #1403. Builds `spdlog` as a shared library on library installs. This reduces the wheel size from 14.3 MiB to 11.0 MiB on x86 linux. ## 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. Signed-off-by: burgholzer <[email protected]> Signed-off-by: Lukas Burgholzer <[email protected]> (cherry picked from commit b9f6cf8)
Description
Picked from #1403.
Builds
spdlogas a shared library on library installs.This reduces the wheel size from 14.3 MiB to 11.0 MiB on x86 linux.
Checklist: