mqt-qcec icon indicating copy to clipboard operation
mqt-qcec copied to clipboard

✨ Building Shared Libraries

Open burgholzer opened this issue 1 year ago • 2 comments

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.

burgholzer avatar Jan 13 '24 11:01 burgholzer

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

Impacted file tree graph

@@          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:

... and 1 file with indirect coverage changes

codecov[bot] avatar Jan 16 '24 08:01 codecov[bot]

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.

burgholzer avatar Jan 26 '24 11:01 burgholzer

Closing in favor of #432

burgholzer avatar Aug 06 '24 15:08 burgholzer