Skip to content

Commit

Permalink
Rebranding to MQT (#31)
Browse files Browse the repository at this point in the history
* 🚚 move from `JKQ` to `MQT`
* 🔖 update version
* ⬆️ qfr
  • Loading branch information
burgholzer authored Feb 28, 2022
1 parent f629eda commit 10b8d14
Show file tree
Hide file tree
Showing 36 changed files with 91 additions and 78 deletions.
2 changes: 1 addition & 1 deletion .github/codecov.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ignore:
- "extern/**/*"
- "jkq/**/*"
- "mqt/**/*"
- "test/**/*"

coverage:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,6 @@ jobs:
submodules: recursive
- uses: DoozyX/clang-format-lint-action@v0.13
with:
source: 'apps include src test jkq/qcec'
source: 'apps include src test mqt/qcec'
extensions: 'h,hpp,c,cpp'
clangFormatVersion: 12
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ cmake-build-*
venv
dist
*egg-info
jkq/qcec/pyqcec*
mqt/qcec/pyqcec*
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[submodule "extern/qfr"]
path = extern/qfr
url = https://github.com/iic-jku/qfr.git
branch = master
url = https://github.com/cda-tum/qfr.git
branch = main
shallow = true
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.14...3.22)

project(qcec
LANGUAGES CXX
VERSION 1.10.4
DESCRIPTION "QCEC - A JKQ tool for Quantum Circuit Equivalence Checking"
VERSION 1.10.5
DESCRIPTION "MQT QCEC - A tool for Quantum Circuit Equivalence Checking"
)

# enable organization of targets into folders
Expand Down Expand Up @@ -60,5 +60,5 @@ endif()

# add Python binding code
if(BINDINGS)
add_subdirectory(jkq/qcec)
add_subdirectory(mqt/qcec)
endif()
12 changes: 7 additions & 5 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
include README.md LICENSE CMakeLists.txt
include src/*
include include/*
include apps/*
graft jkq/*
graft src
graft include
graft mqt/qcec
graft jkq
graft apps
include extern/qfr/CMakeLists.txt
graft extern/qfr/src
graft extern/qfr/include
graft extern/qfr/jkq/qfr
graft extern/qfr/mqt/qfr
graft extern/qfr/jkq
include extern/qfr/extern/dd_package/CMakeLists.txt
graft extern/qfr/extern/dd_package/include
graft extern/qfr/extern/json
Expand Down
48 changes: 27 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
[![PyPI](https://img.shields.io/pypi/v/jkq.qcec?logo=pypi&style=plastic)](https://pypi.org/project/jkq.qcec/)
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/iic-jku/qcec/CI?logo=github&style=plastic)](https://github.com/iic-jku/qcec/actions?query=workflow%3A%22CI%22)
[![Codecov branch](https://img.shields.io/codecov/c/github/iic-jku/qcec/master?label=codecov&logo=codecov&style=plastic)](https://codecov.io/gh/iic-jku/qcec)
![GitHub](https://img.shields.io/github/license/iic-jku/qcec?style=plastic)
[![toolset: JKQ](https://img.shields.io/badge/toolset-JKQ-blue?style=plastic)](https://github.com/iic-jku/jkq)
[![PyPI](https://img.shields.io/pypi/v/mqt.qcec?logo=pypi&style=plastic)](https://pypi.org/project/mqt.qcec/)
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/cda-tum/qcec/CI?logo=github&style=plastic)](https://github.com/cda-tum/qcec/actions?query=workflow%3A%22CI%22)
[![Codecov branch](https://img.shields.io/codecov/c/github/cda-tum/qcec/master?label=codecov&logo=codecov&style=plastic)](https://codecov.io/gh/cda-tum/qcec)
![GitHub](https://img.shields.io/github/license/cda-tum/qcec?style=plastic)
[![arXiv](https://img.shields.io/static/v1?label=arXiv&message=2004.08420&color=inactive&style=plastic)](https://arxiv.org/abs/2004.08420)
[![arXiv](https://img.shields.io/static/v1?label=arXiv&message=2009.02376&color=inactive&style=plastic)](https://arxiv.org/abs/2009.02376)
[![arXiv](https://img.shields.io/static/v1?label=arXiv&message=2011.07288&color=inactive&style=plastic)](https://arxiv.org/abs/2011.07288)

# QCEC - A JKQ tool for **Q**uantum **C**ircuit **E**quivalence **C**hecking
# MQT QCEC - A tool for **Q**uantum **C**ircuit **E**quivalence **C**hecking

A JKQ tool for Quantum Circuit Equivalence Checking by the [Institute for Integrated Circuits](http://iic.jku.at/eda/) at the [Johannes Kepler University Linz](https://jku.at) based on methods proposed in [[1]](https://arxiv.org/abs/2004.08420), [[2]](https://arxiv.org/abs/2009.02376), [[3]](https://arxiv.org/abs/2011.07288).
A tool for Quantum Circuit Equivalence Checking by the [Institute for Integrated Circuits](http://iic.jku.at/eda/) at the [Johannes Kepler University Linz](https://jku.at) based on methods proposed in [[1]](https://arxiv.org/abs/2004.08420)
, [[2]](https://arxiv.org/abs/2009.02376), [[3]](https://arxiv.org/abs/2011.07288).

[[1]](https://arxiv.org/abs/2004.08420) L. Burgholzer and R. Wille. **"Advanced Equivalence Checking for Quantum Circuits"**. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems (TCAD), 2021 (pre-print [arXiv:2004.08420](https://arxiv.org/abs/2004.08420))
[[1]](https://arxiv.org/abs/2004.08420) L. Burgholzer and R. Wille. **"Advanced Equivalence Checking for Quantum Circuits"**. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems (TCAD), 2021 (
pre-print [arXiv:2004.08420](https://arxiv.org/abs/2004.08420))

[[2]](https://arxiv.org/abs/2009.02376) L. Burgholzer, R. Raymond, and R. Wille. **"Verifying Results of the IBM Qiskit Quantum Circuit Compilation Flow"**. In International Conference on Quantum Computing and Engineering (QCE), 2020 (pre-print [arXiv:2009.02376](https://arxiv.org/abs/2009.02376))

[[3]](https://arxiv.org/abs/2011.07288) L. Burgholzer, R. Kueng, and R. Wille. **"Random Stimuli Generation for the Verification of Quantum Circuits"**. In Asia and South Pacific Design Automation Conference (ASP-DAC), 2021 (pre-print [arxiv:2011.07288](https://arxiv.org/abs/2011.07288))

This tool can be used for checking the equivalence of two quantum circuits provided in any of the following formats:
* `QuantumCircuit` object from IBM's [Qiskit](https://github.com/Qiskit/qiskit) (only through the JKQ QCEC Python bindings)
* `OpenQASM` (e.g. used by IBM's [Qiskit](https://github.com/Qiskit/qiskit)),

* `QuantumCircuit` object from IBM's [Qiskit](https://github.com/Qiskit/qiskit) (only through the MQT QCEC Python bindings)
* `OpenQASM` (e.g. used by IBM's [Qiskit](https://github.com/Qiskit/qiskit)),
* `Real` (e.g. from [RevLib](http://revlib.org)),
* `TFC` (e.g. from [Reversible Logic Synthesis Benchmarks Page](http://webhome.cs.uvic.ca/~dmaslov/mach-read.html))
* `QC` (e.g. from [Feynman](https://github.com/meamy/feynman))
Expand All @@ -36,25 +38,28 @@ This tool can be used for checking the equivalence of two quantum circuits provi
- **Global Quantum Stimuli** - random stabilizer states [[3, Section 3.3]](https://arxiv.org/pdf/2011.07288.pdf#page=4)
- **Verification of compilation results** - A dedicated scheme for verifying results of the IBM Qiskit Compilation Flow explicitly exploiting certain knowledge about the compilation process. [[2]](https://arxiv.org/pdf/2009.02376.pdf)

The tool builds upon [our decision diagram (DD) package](https://github.com/iic-jku/dd_package.git) as well as [our quantum functionality representation (QFR)](https://github.com/iic-jku/qfr.git). For more information, please visit [iic.jku.at/eda/research/quantum_verification](http://iic.jku.at/eda/research/quantum_verification). If you want to visually explore decision diagrams for quantum computing, check out our installation-free web-tool [JKQ DDVis](https://iic.jku.at/eda/research/quantum_dd/tool/).
The tool builds upon [our decision diagram (DD) package](https://github.com/cda-tum/dd_package.git) as well as [our quantum functionality representation (QFR)](https://github.com/cda-tum/qfr.git). For more information, please
visit [iic.jku.at/eda/research/quantum_verification](http://iic.jku.at/eda/research/quantum_verification). If you want to visually explore decision diagrams for quantum computing, check out our installation-free
web-tool [MQT DDVis](https://iic.jku.at/eda/research/quantum_dd/tool/).

If you have any questions, feel free to contact us via [iic-quantum@jku.at](mailto:iic-quantum@jku.at) or by creating an issue on [GitHub](https://guthub.com/iic-jku/qcec/issues).
If you have any questions, feel free to contact us via [iic-quantum@jku.at](mailto:iic-quantum@jku.at) or by creating an issue on [GitHub](https://guthub.com/cda-tum/qcec/issues).

## Usage

JKQ QCEC is mainly developed as a C++ library with an easy-to-use Python interface.
MQT QCEC is mainly developed as a C++ library with an easy-to-use Python interface.

- In order to make the library as easy to use as possible (without compilation), we provide pre-built wheels for most common platforms (64-bit Linux, MacOS, Windows). These can be installed using
```bash
pip install jkq.qcec
pip install mqt.qcec
```
However, in order to get the best performance out of QCEC, it is recommended to build it locally from the source distribution (see [system requirements](#system-requirements)) via
```bash
pip install jkq.qcec --no-binary jkq.qcec
pip install mqt.qcec --no-binary mqt.qcec
```
This enables platform specific compiler optimizations that cannot be enabled on portable wheels.
- Once installed, start using it in Python:
```python
from jkq.qcec import *
from mqt.qcec import *
config = Configuration()
<...> # set configuration options
Expand Down Expand Up @@ -95,9 +100,10 @@ The verification procedure can be configured with the following settings and opt
The `qcec.Results` class that is returned by the `verify` function provides `json()` and `csv()` methods to produce JSON or CSV formatted output.
### Integration of IBM Qiskit
The JKQ QCEC tool is designed to natively integrate with IBM Qiskit. In particular, using our tool to verify, e.g., the results of IBM Qiskit's quantum circuit compilation flow, is as easy as:
The MQT QCEC tool is designed to natively integrate with IBM Qiskit. In particular, using our tool to verify, e.g., the results of IBM Qiskit's quantum circuit compilation flow, is as easy as:
```python
from jkq.qcec import Configuration, Strategy, verify
from mqt.qcec import Configuration, Strategy, verify
from qiskit import QuantumCircuit, transpile
# create your quantum circuit
Expand All @@ -119,7 +125,7 @@ result = verify(qc, qc_comp, config)
### Command-line Executable
JKQ QCEC also provides a **standalone executable** with command-line interface called `qcec_app`. It provides the same options as the Python module as flags (e.g., `--method <method>` for setting the method) and produces JSON formatted
MQT QCEC also provides a **standalone executable** with command-line interface called `qcec_app`. It provides the same options as the Python module as flags (e.g., `--method <method>` for setting the method) and produces JSON formatted
output. For a full list of options, call `qcec_app --help`.
### System requirements
Expand All @@ -132,7 +138,7 @@ found [here](https://docs.microsoft.com/en-us/cpp/build/clang-support-msbuild?vi
### Library Organisation
Internally the JKQ QCEC library works in the following way
Internally the MQT QCEC library works in the following way
- Import both input files into a `qc::QuantumComputation` object
```c++
Expand Down Expand Up @@ -177,7 +183,7 @@ Internally the JKQ QCEC library works in the following way
To start off, clone this repository using
```shell
git clone --recurse-submodules -j8 https://github.com/iic-jku/qcec
git clone --recurse-submodules -j8 https://github.com/cda-tum/qcec
```
Note the `--recurse-submodules` flag. It is required to also clone all the required submodules. If you happen to forget passing the flag on your initial clone, you can initialize all the submodules by executing `git submodule update --init --recursive` in the main project directory.
Expand Down
4 changes: 2 additions & 2 deletions apps/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
add_executable(${PROJECT_NAME}_app ${CMAKE_CURRENT_SOURCE_DIR}/app.cpp)
target_link_libraries(${PROJECT_NAME}_app PRIVATE JKQ::${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME}_app PRIVATE MQT::${PROJECT_NAME})

add_custom_command(TARGET ${PROJECT_NAME}_app
POST_BUILD
Expand All @@ -8,7 +8,7 @@ add_custom_command(TARGET ${PROJECT_NAME}_app
VERBATIM)

add_executable(${PROJECT_NAME}_sim_app ${CMAKE_CURRENT_SOURCE_DIR}/sim_app.cpp)
target_link_libraries(${PROJECT_NAME}_sim_app PRIVATE JKQ::${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME}_sim_app PRIVATE MQT::${PROJECT_NAME})

add_custom_command(TARGET ${PROJECT_NAME}_sim_app
POST_BUILD
Expand Down
2 changes: 1 addition & 1 deletion apps/app.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* This file is part of JKQ QCEC library which is released under the MIT license.
* This file is part of MQT QCEC library which is released under the MIT license.
* See file README.md or go to http://iic.jku.at/eda/research/quantum/ for more information.
*/

Expand Down
2 changes: 1 addition & 1 deletion apps/sim_app.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* This file is part of JKQ QCEC library which is released under the MIT license.
* This file is part of MQT QCEC library which is released under the MIT license.
* See file README.md or go to http://iic.jku.at/eda/research/quantum/ for more information.
*/

Expand Down
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
author = 'Lukas Burgholzer'

# The full version, including alpha/beta/rc tags
release = '1.10.4'
release = '1.10.5'

# -- General configuration ---------------------------------------------------
extensions = [
Expand Down
2 changes: 1 addition & 1 deletion extern/qfr
Submodule qfr updated from 6bb07d to a007d5
2 changes: 1 addition & 1 deletion include/CompilationFlowEquivalenceChecker.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* This file is part of JKQ QCEC library which is released under the MIT license.
* This file is part of MQT QCEC library which is released under the MIT license.
* See file README.md or go to http://iic.jku.at/eda/research/quantum_verification/ for more information.
*/

Expand Down
2 changes: 1 addition & 1 deletion include/EquivalenceChecker.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* This file is part of JKQ QCEC library which is released under the MIT license.
* This file is part of MQT QCEC library which is released under the MIT license.
* See file README.md or go to http://iic.jku.at/eda/research/quantum_verification/ for more information.
*/

Expand Down
2 changes: 1 addition & 1 deletion include/EquivalenceCheckingResults.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* This file is part of JKQ QCEC library which is released under the MIT license.
* This file is part of MQT QCEC library which is released under the MIT license.
* See file README.md or go to http://iic.jku.at/eda/research/quantum_verification/ for more information.
*/

Expand Down
2 changes: 1 addition & 1 deletion include/ImprovedDDEquivalenceChecker.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* This file is part of JKQ QCEC library which is released under the MIT license.
* This file is part of MQT QCEC library which is released under the MIT license.
* See file README.md or go to http://iic.jku.at/eda/research/quantum_verification/ for more information.
*/

Expand Down
2 changes: 1 addition & 1 deletion include/SimulationBasedEquivalenceChecker.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* This file is part of JKQ QCEC library which is released under the MIT license.
* This file is part of MQT QCEC library which is released under the MIT license.
* See file README.md or go to http://iic.jku.at/eda/research/quantum_verification/ for more information.
*/

Expand Down
5 changes: 5 additions & 0 deletions jkq/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import warnings
from mqt import *

warnings.simplefilter('always', DeprecationWarning)
warnings.warn('Usage via `import jkq` is deprecated in favor of the new prefix. Please use `import mqt` instead.', DeprecationWarning)
2 changes: 0 additions & 2 deletions jkq/qcec/CMakeLists.txt

This file was deleted.

2 changes: 2 additions & 0 deletions mqt/qcec/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
pybind11_add_module(py${PROJECT_NAME} bindings.cpp)
target_link_libraries(py${PROJECT_NAME} PUBLIC ${PROJECT_NAME} MQT::qfr_python pybind11_json)
2 changes: 1 addition & 1 deletion jkq/qcec/__init__.py → mqt/qcec/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# This file is part of JKQ QCEC library which is released under the MIT license.
# This file is part of MQT QCEC library which is released under the MIT license.
# See file README.md or go to http://iic.jku.at/eda/research/quantum_verification/ for more information.
#

Expand Down
8 changes: 4 additions & 4 deletions jkq/qcec/bindings.cpp → mqt/qcec/bindings.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* This file is part of JKQ QCEC library which is released under the MIT license.
* This file is part of MQT QCEC library which is released under the MIT license.
* See file README.md or go to http://iic.jku.at/eda/research/quantum/ for more information.
*/

Expand Down Expand Up @@ -74,7 +74,7 @@ ec::EquivalenceCheckingResults verify(const py::object& circ1,
}

PYBIND11_MODULE(pyqcec, m) {
m.doc() = "Python interface for the JKQ QCEC quantum circuit equivalence checking tool";
m.doc() = "Python interface for the MQT QCEC quantum circuit equivalence checking tool";

py::enum_<ec::Method>(m, "Method")
.value("reference", ec::Method::Reference)
Expand Down Expand Up @@ -103,7 +103,7 @@ PYBIND11_MODULE(pyqcec, m) {
.value("probably_equivalent", ec::Equivalence::ProbablyEquivalent);

py::class_<ec::Configuration>(m, "Configuration",
"Configuration options for the JKQ QCEC quantum circuit equivalence checking tool")
"Configuration options for the MQT QCEC quantum circuit equivalence checking tool")
.def(py::init<>())
.def_readwrite(
"method", &ec::Configuration::method,
Expand Down Expand Up @@ -176,7 +176,7 @@ PYBIND11_MODULE(pyqcec, m) {
.def("__repr__", &ec::Configuration::toString);

py::class_<ec::EquivalenceCheckingResults>(m, "Results",
"Results of the JKQ QCEC quantum circuit equivalence checking tool")
"Results of the MQT QCEC quantum circuit equivalence checking tool")
.def(py::init<>())
.def_readwrite(
"circuit1", &ec::EquivalenceCheckingResults::circuit1,
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
build = "cp3*"
skip = "*-win32 *-musllinux_i686 *-manylinux_i686"
test-skip = "*_arm64 *_universal2:arm64"
test-command = "python -c \"from jkq import qcec\""
test-command = "python -c \"from mqt import qcec\""
environment = { DEPLOY = "ON" }
build-verbosity = 3

Expand Down
16 changes: 8 additions & 8 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,19 +75,19 @@ def build_extension(self, ext):
README = readme_file.read()

setup(
name='jkq.qcec',
version='1.10.4',
name='mqt.qcec',
version='1.10.5',
author='Lukas Burgholzer',
author_email='lukas.burgholzer@jku.at',
description='QCEC - A JKQ tool for Quantum Circuit Equivalence Checking',
description='MQT QCEC - A tool for Quantum Circuit Equivalence Checking',
long_description=README,
long_description_content_type="text/markdown",
license="MIT",
url="https://iic.jku.at/eda/research/quantum_verification",
ext_modules=[CMakeExtension('pyqcec', namespace='jkq.qcec.')],
ext_modules=[CMakeExtension('pyqcec', namespace='mqt.qcec.')],
cmdclass=dict(build_ext=CMakeBuild),
zip_safe=False,
packages=find_namespace_packages(include=['jkq.*']),
packages=find_namespace_packages(include=['mqt.*']),
classifiers=[
'Development Status :: 5 - Production/Stable',
"Programming Language :: Python :: 3",
Expand All @@ -100,10 +100,10 @@ def build_extension(self, ext):
"Natural Language :: English",
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
],
keywords="jkq quantum verification",
keywords="mqt quantum verification",
project_urls={
'Source': 'https://github.com/iic-jku/qcec/',
'Tracker': 'https://github.com/iic-jku/qcec/issues',
'Source': 'https://github.com/cda-tum/qcec/',
'Tracker': 'https://github.com/cda-tum/qcec/issues',
'Research': 'https://iic.jku.at/eda/research/quantum_verification',
}
)
12 changes: 6 additions & 6 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ target_include_directories(${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${${PROJECT_
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17)
set_target_properties(${PROJECT_NAME} PROPERTIES CMAKE_CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)

# add JKQ::qfr library
# add MQT::qfr library
add_subdirectory("${PROJECT_SOURCE_DIR}/extern/qfr" "extern/qfr")
target_link_libraries(${PROJECT_NAME} PUBLIC JKQ::qfr)
target_link_libraries(${PROJECT_NAME} PUBLIC MQT::qfr)

# enable interprocedural optimization if it is supported
include(CheckIPOSupported)
Expand Down Expand Up @@ -52,13 +52,13 @@ if(GENERATE_POSITION_INDEPENDENT_CODE OR BINDINGS)
include(CheckPIESupported)
check_pie_supported()
set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
endif()
endif ()

# add coverage compiler and linker flag to the library and all targets that link against it, if COVERAGE is set
if (COVERAGE)
target_compile_options(${PROJECT_NAME} PUBLIC --coverage)
target_link_libraries(${PROJECT_NAME} PUBLIC --coverage)
endif()
endif ()

# add JKQ alias
add_library(JKQ::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
# add MQT alias
add_library(MQT::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
Loading

0 comments on commit 10b8d14

Please sign in to comment.