[package] edition = "2018" name = "qasmsim" description = "A QASM interpreter and quantum simulator in Rust" version = "1.3.1" # remember to update html_root_url repository = "https://github.com/delapuente/qasmsim.git" license = "MIT" authors = ["Salvador de la Puente González "] homepage = "https://github.com/delapuente/qasmsim/" keywords = ["quantum", "qasm", "computing"] categories = ["simulation", "science", "command-line-utilities"] readme = "README.md" exclude = ["samples/*", "tests/*", "www/*"] [lib] crate-type = ["cdylib", "rlib"] [[bin]] name = "qasmsim" required-features = ["default"] [features] default = ["cli"] cli = ["structopt", "prettytable-rs", "csv"] [profile.release] lto = true opt-level = "z" [dependencies] num = "0.4.0" lalrpop-util = "0.19.0" regex = "1.3" cached = "0.24.1" # 0.25.x versions force `syn` dependency version to be 1.0.66 which contains a bug that breaks the build. See https://github.com/rustwasm/wasm-bindgen/issues/2508 for the remediation: We just found that forcing rollback of syn from 1.0.66 to 1.0.65 appears to fix this issue. cargo update -p syn --precise 1.0.65 float-cmp = "0.9.0" lazy_static = "1.4.0" rand = "0.8.3" [dependencies.serde] optional = true version = "1.0" features = ['derive'] default-features = false [target.'cfg(not(target_arch = "wasm32"))'.dependencies] structopt = { version = "0.3", default-features = false, optional = true } prettytable-rs = { version = "0.8.0", default-features = false, optional = true } csv = { version = "1.1", default-features = false, optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] serde-wasm-bindgen = "0.3.1" num = { version = "0.4.0", features = ["serde"] } wasm-bindgen = "0.2.67" getrandom = { version = "0.2.2", features = ["wasm-bindgen", "js"] } console_error_panic_hook = "0.1.6" js-sys = "0.3.44" web-sys = { version = "0.3.44", features = ["console", "Performance", "Window"] } [dev-dependencies] indoc = "1.0.2" unindent = "0.1.6" [build-dependencies] lalrpop = "0.19.0"