cda-tum / mqt-core

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

♻️ reorganize library structure #668

Closed burgholzer closed 4 weeks ago

burgholzer commented 1 month 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 1 month 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).

Files 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](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)