# Copyright © SixtyFPS GmbH <info@slint.dev>
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.1 OR LicenseRef-Slint-commercial

[package]
name = "i-slint-compiler"
description = "Internal Slint Compiler Library"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true
build = "build.rs"

[lib]
path = "lib.rs"

[features]
# Generators
cpp = []
rust = ["quote", "proc-macro2"]

# Support for proc_macro spans in the token (only useful for use within a proc macro)
proc_macro_span = ["quote", "proc-macro2"]

# Feature to print the diagnostics to the console
display-diagnostics = ["codemap", "codemap-diagnostic"]

# Enabled the support to render images and font in the binary
software-renderer = ["image", "dep:resvg", "fontdue", "i-slint-common/shared-fontdb"]

default = []

[dependencies]
i-slint-common = { workspace = true, features = ["default"] }

num_enum = "0.7"
strum = { version = "0.25.0", default-features = false, features = ["derive"] }
rowan = "0.15.5"
smol_str = "0.2.0"
derive_more = "0.99.5"
codemap-diagnostic = { version = "0.1.1", optional = true }
codemap = { version = "0.1", optional = true }
quote = { version = "1.0", optional = true }
proc-macro2 = { version = "1.0.17", optional = true }
lyon_path = { version = "1.0" }
lyon_extra = "1.0.1"
thiserror = "1"
by_address = "1.0.4"
css-color-parser2 = { workspace = true }
itertools = { workspace = true }
once_cell = "1"
url = "2.2.1"
linked_hash_set = "0.1.4"

# for processing and embedding the rendered image (texture)
image = { version = "0.24", optional = true }
resvg = { workspace = true, optional = true }
# font embedding
fontdue = { version = "0.7.1", optional = true }

[dev-dependencies]
i-slint-parser-test-macro = { path = "./parser-test-macro" }

regex = "1.3.7"
spin_on = "0.1"
rayon = "1.5.3"
