mqt-qcec
mqt-qcec copied to clipboard
✨ Building Shared Libraries
Description
This PR started out with the purpose of switching over to the mqt-core Python package. Over time, the scope has grown quite considerably. Now, the main changes this strives for is switching the library to build dynamic libraries by default. This considerably decreases the binary size and would, in general, be nice to support. However, producing shared libraries also means explicitly managing symbol visibility and, as it turned out, this is not such an easy endeavor. The corresponding changes need appropriate testing across all different projects to make sure that nothing is missed. This directly relates to cda-tum/mqt-core#538.
Checklist:
- [ ] The pull request only contains commits that are related to it.
- [ ] I have added appropriate tests and documentation.
- [ ] I have made sure that all CI jobs on GitHub pass.
- [ ] The pull request introduces no new warnings and follows the project's style guidelines.
Codecov Report
Attention: 2 lines
in your changes are missing coverage. Please review.
Comparison is base (
1210c62
) 96.2% compared to head (452daa4
) 96.3%. Report is 2 commits behind head on main.
:exclamation: Current head 452daa4 differs from pull request most recent head 5094688. Consider uploading reports for the commit 5094688 to get more accurate results
Additional details and impacted files
@@ Coverage Diff @@
## main #352 +/- ##
=====================================
Coverage 96.2% 96.3%
=====================================
Files 34 34
Lines 1756 1751 -5
Branches 214 214
=====================================
- Hits 1691 1687 -4
+ Misses 65 64 -1
Flag | Coverage Δ | |
---|---|---|
cpp | 96.1% <ø> (+<0.1%) |
:arrow_up: |
python | 97.1% <97.2%> (-0.1%) |
:arrow_down: |
Files | Coverage Δ | |
---|---|---|
src/mqt/qcec/verify.py | 100.0% <100.0%> (ø) |
|
src/mqt/qcec/verify_compilation_flow.py | 100.0% <ø> (ø) |
|
src/mqt/qcec/parameterized.py | 94.5% <96.8%> (-0.4%) |
:arrow_down: |
As already noted in cda-tum/mqt-core#538, getting shared libraries working seems like it is not going to be that easy. Because of that, I am also going to split this PR apart into separate contributions and will try to get those that are ready to merge merged as soon as possible.
Closing in favor of #432