Skip to content
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

✨ Building Shared Libraries #352

Draft
wants to merge 27 commits into
base: main
Choose a base branch
from
Draft

✨ Building Shared Libraries #352

wants to merge 27 commits into from

Conversation

burgholzer
Copy link
Member

@burgholzer burgholzer commented Jan 13, 2024

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.

Signed-off-by: burgholzer <burgholzer@me.com>
@burgholzer burgholzer added dependencies Pull requests that update a dependency file python Anything related to Python code usability Anything related to usability packaging Anything related to Python packaging minor Part of a minor release enhancement Anything related to improvements of the existing library labels Jan 13, 2024
@burgholzer burgholzer self-assigned this Jan 13, 2024
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
burgholzer added a commit to cda-tum/mqt-core that referenced this pull request Jan 13, 2024
## Description

This PR fixes a small oversight in #529 where one of the install
instructions was not guarded properly. This should fix the issues
observed in cda-tum/mqt-qcec#352.

## 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 related to it.
- [x] I have added appropriate tests and documentation.
- [x] I have made sure that all CI jobs on GitHub pass.
- [x] The pull request introduces no new warnings and follows the
project's style guidelines.

Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Copy link

codecov bot commented Jan 16, 2024

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.

❗ 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%) ⬆️
python 97.1% <97.2%> (-0.1%) ⬇️
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%) ⬇️

... and 1 file with indirect coverage changes

Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
@burgholzer
Copy link
Member Author

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 burgholzer changed the title ✨ switch to mqt-core Python package ✨ Building Shared Libraries Jan 26, 2024
@burgholzer burgholzer marked this pull request as draft January 26, 2024 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement Anything related to improvements of the existing library minor Part of a minor release packaging Anything related to Python packaging python Anything related to Python code usability Anything related to usability
Projects
Status: On Hold
Status: On Hold
Development

Successfully merging this pull request may close these issues.

None yet

1 participant