cda-tum / mqt-core

MQT Core - The Backbone of the Munich Quantum Toolkit
https://mqt.readthedocs.io/projects/core
MIT License
62 stars 31 forks source link

♻️ reorganize library structure #668

Closed burgholzer closed 3 months ago

burgholzer commented 3 months ago

Description

This PR cleans up the library structure within MQT Core. It separates the library into smaller CMake targets that are each configured in their own subdirectory. Most notably, this implies the following changes:

[!CAUTION] This is a breaking change for consuming libraries. Any library relying on MQT Core will have to adapt accordingly.

Checklist:

codecov[bot] commented 3 months ago

Codecov Report

Attention: Patch coverage is 98.59813% with 3 lines in your changes missing coverage. Please review.

Project coverage is 92.0%. Comparing base (9ddee9e) to head (f490b00). Report is 120 commits behind head on main.

Files with missing lines Patch % Lines
src/circuit_optimizer/CircuitOptimizer.cpp 95.8% 3 Missing :warning:
Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668/graphs/tree.svg?width=650&height=150&src=pr&token=MqstsRKdqp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum)](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum) ```diff @@ Coverage Diff @@ ## main #668 +/- ## ======================================= + Coverage 91.7% 92.0% +0.3% ======================================= Files 133 127 -6 Lines 14106 13912 -194 Branches 2212 2177 -35 ======================================= - Hits 12945 12811 -134 + Misses 1161 1101 -60 ``` | [Flag](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum) | Coverage Δ | | |---|---|---| | [cpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum) | `91.8% <98.4%> (+0.3%)` | :arrow_up: | | [python](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum) | `99.7% <100.0%> (-0.1%)` | :arrow_down: | | [Files with missing lines](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum) | Coverage Δ | | |---|---|---| | [include/mqt-core/Definitions.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2FDefinitions.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9EZWZpbml0aW9ucy5ocHA=) | `76.4% <ø> (ø)` | | | [include/mqt-core/datastructures/Layer.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2Fdatastructures%2FLayer.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9kYXRhc3RydWN0dXJlcy9MYXllci5ocHA=) | `89.3% <ø> (ø)` | | | [include/mqt-core/dd/FunctionalityConstruction.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2Fdd%2FFunctionalityConstruction.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9kZC9GdW5jdGlvbmFsaXR5Q29uc3RydWN0aW9uLmhwcA==) | `100.0% <ø> (ø)` | | | [include/mqt-core/dd/NoiseFunctionality.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2Fdd%2FNoiseFunctionality.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9kZC9Ob2lzZUZ1bmN0aW9uYWxpdHkuaHBw) | `100.0% <ø> (ø)` | | | [include/mqt-core/dd/Operations.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2Fdd%2FOperations.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9kZC9PcGVyYXRpb25zLmhwcA==) | `88.6% <ø> (ø)` | | | [include/mqt-core/dd/Package.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2Fdd%2FPackage.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9kZC9QYWNrYWdlLmhwcA==) | `97.0% <ø> (-0.2%)` | :arrow_down: | | [include/mqt-core/dd/Simulation.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2Fdd%2FSimulation.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9kZC9TaW11bGF0aW9uLmhwcA==) | `100.0% <ø> (ø)` | | | [include/mqt-core/ir/Permutation.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2Fir%2FPermutation.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9pci9QZXJtdXRhdGlvbi5ocHA=) | `100.0% <ø> (ø)` | | | [include/mqt-core/ir/QuantumComputation.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2Fir%2FQuantumComputation.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9pci9RdWFudHVtQ29tcHV0YXRpb24uaHBw) | `92.4% <ø> (ø)` | | | [include/mqt-core/ir/operations/AodOperation.hpp](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree&filepath=include%2Fmqt-core%2Fir%2Foperations%2FAodOperation.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum#diff-aW5jbHVkZS9tcXQtY29yZS9pci9vcGVyYXRpb25zL0FvZE9wZXJhdGlvbi5ocHA=) | `91.6% <ø> (ø)` | | | ... and [68 more](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum) | | ... and [1 file with indirect coverage changes](https://app.codecov.io/gh/cda-tum/mqt-core/pull/668/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cda-tum)