You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`CMAKE_INSTALL_PREFIX`|`/path/to/install`| Installs Quantum++ header files in a non-standard location (e.g., due to lack of admin. rights) |
95
-
|`EIGEN3_INSTALL_DIR`|`/path/to/eigen3`| Path to Eigen3 installation, if not automatically detected. This path can alternatively be enforced by setting the environment variable with the same name, e.g., via `export EIGEN3_INSTALL_DIR=/path/to/eigen3` in UNIX/Linux. |
96
-
||||
97
-
|`QPP_MATLAB`|`ON/OFF`[`OFF` by default]| Enables (if available)/disables interoperability with MATLAB, allowing to detect MATLAB installation automatically. If enabled, allows applications to save/load Quantum++ matrices and vectors to/from MATLAB. |
98
-
|`QPP_OPENMP`|`ON/OFF`[`ON` by default]| Enables (if available)/disables OpenMP multi-processing library |
99
-
|`QASMTOOLS_QASM2_SPECS`|`ON/OFF`[`OFF` by default]| Enables/disables using the OpenQASM 2.0 standard instead of Qiskit specifications; see [`DISCREPANCIES.md`](https://github.com/softwareQinc/qpp/blob/main/DISCREPANCIES.md)|
100
-
||||
101
-
|`QPP_BIGINT`|`default`, etc. [`default` by default]| Signed big integer type (`qpp::bigint`) |
102
-
|`QPP_FP`|`default`, etc. [`default` by default]| Floating-point type (`qpp::realT`) |
103
-
|`QPP_IDX`|`default`, etc. [`default` by default]| Integer index type (`qpp::idx`) |
104
-
||||
105
-
|`SANITIZE`|`ON/OFF`[`OFF` by default]| Enable code sanitizing (only for gcc/clang) |
106
-
|`WITH_EXAMPLES`|`ON/OFF`[`OFF` by default]| Enables/disables examples as a CMake build target |
107
-
|`WITH_UNIT_TESTS`|`ON/OFF`[`OFF` by default]| Enables/disables unit tests as a CMake build target |
92
+
Note that all CMake flags below that start with `QPP_` and `QASMTOOLS_`
93
+
propagate to subprojects that use Quantum++ in
94
+
their corresponding `CMakeLists.txt` via `findpackage(qpp ...)`.
|`CMAKE_INSTALL_PREFIX`|`/path/to/install`| Installs Quantum++ header files in a non-standard location (e.g., due to lack of admin. rights) |
99
+
|`EIGEN3_INSTALL_DIR`|`/path/to/eigen3`| Path to Eigen3 installation, if not automatically detected. This path can alternatively be enforced by setting the environment variable with the same name, e.g., via `export EIGEN3_INSTALL_DIR=/path/to/eigen3` in UNIX/Linux. |
100
+
||||
101
+
|`QPP_MATLAB`|`ON/OFF`[`OFF` by default]| Enables (if available)/disables interoperability with MATLAB, allowing to detect MATLAB installation automatically. If enabled, allows applications to save/load Quantum++ matrices and vectors to/from MATLAB. |
102
+
|`QPP_OPENMP`|`ON/OFF`[`ON` by default]| Enables (if available)/disables OpenMP multi-processing library |
103
+
|`QASMTOOLS_QASM2_SPECS`|`ON/OFF`[`OFF` by default]| Enables/disables using the OpenQASM 2.0 standard instead of Qiskit specifications; see [`DISCREPANCIES.md`](https://github.com/softwareQinc/qpp/blob/main/DISCREPANCIES.md)|
104
+
||||
105
+
|`QPP_BIGINT`|`default`, etc. [`default` by default]| Signed big integer type (`qpp::bigint`) |
106
+
|`QPP_FP`|`default`, etc. [`default` by default]| Floating-point type (`qpp::realT`) |
107
+
|`QPP_IDX`|`default`, etc. [`default` by default]| Integer index type (`qpp::idx`) |
108
+
||||
109
+
|`SANITIZE`|`ON/OFF`[`OFF` by default]| Enable code sanitizing (only for gcc/clang) |
110
+
|`WITH_EXAMPLES`|`ON/OFF`[`OFF` by default]| Enables/disables examples as a CMake build target |
111
+
|`WITH_UNIT_TESTS`|`ON/OFF`[`OFF` by default]| Enables/disables unit tests as a CMake build target |
108
112
109
113
If `QPP_MATLAB=ON` and the system could not detect your MATLAB installation,
110
114
you can manually specify the path to MATLAB's installation directory via the
@@ -122,7 +126,7 @@ required libraries and header files via the additional arguments
122
126
123
127
### UNIX/UNIX-like
124
128
125
-
To install Quantum++ (after [Configuring the system](#configuring-the-system)),
129
+
To install Quantum++ (after [Configuring the system](#configuring-the-system)),
126
130
execute in a terminal/console (UNIX/UNIX-like systems)
127
131
128
132
```bash
@@ -154,18 +158,17 @@ To uninstall, execute in an Administrator Command Prompt
154
158
cmake --build build --target UNINSTALL
155
159
```
156
160
157
-
158
161
### FreeBSD
159
162
160
163
We are proud to be part of the [FreeBSD](https://www.freebsd.org/) operating
161
-
system as an official package. If you are running FreeBSD, you can install
164
+
system as an official package. If you are running FreeBSD, you can install
162
165
Quantum++ with
163
166
164
167
pkg install quantum++
165
168
166
169
### macOS/Linux
167
170
168
-
If you are running macOS or Linux, you can install Quantum++ via
171
+
If you are running macOS or Linux, you can install Quantum++ via
169
172
[Homebrew](https://brew.sh) with
170
173
171
174
brew install quantum++
@@ -212,14 +215,14 @@ followed by building the application with
212
215
cmake --build build
213
216
```
214
217
215
-
The commands above builds the `standalone` executable inside the `build`
218
+
The commands above builds the `standalone` executable inside the `build`
216
219
directory.
217
220
218
221
## Building and running a standalone application that uses Quantum++ without a build system
219
222
220
-
Quantum++ is a header-only library. Hence, you can technically build an
221
-
application that uses Quantum++ without using a building system, by simply using
222
-
the compiler and specifying the location to all required dependencies, like
223
+
Quantum++ is a header-only library. Hence, you can technically build an
224
+
application that uses Quantum++ without using a building system, by simply using
225
+
the compiler and specifying the location to all required dependencies, like
223
226
below (assumes UNIX/UNIX-like, adapt accordingly for Windows)
224
227
225
228
```bash
@@ -258,8 +261,8 @@ with `make install`.
258
261
259
262
### macOS/OS X specific instructions
260
263
261
-
- We highly recommend installing [clang](https://clang.llvm.org/)
262
-
via [Homebrew](https://brew.sh/), since the native AppleClang does not offer
264
+
- We highly recommend installing [clang](https://clang.llvm.org/)
265
+
via [Homebrew](https://brew.sh/), since the native AppleClang does not offer
263
266
OpenMP support.
264
267
- In case you get any compiler or linker errors when OpenMP is enabled, you need
265
268
to install the `libomp` package, e.g., execute
@@ -271,7 +274,8 @@ brew install libomp
271
274
### MATLAB support under Windows
272
275
273
276
If building under Windows
274
-
with [MATLAB](https://www.mathworks.com/products/matlab/) support, please add the
277
+
with [MATLAB](https://www.mathworks.com/products/matlab/) support, please add
278
+
the
275
279
location of
276
280
`libmx.dll` and `libmat.dll` (the `.dll`**and not** the `.lib` files) to
277
281
your `PATH` environment variable. In our case they are located
0 commit comments