[build-system]
requires = ["setuptools >= 61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "custominstall"
description = "Installs a title directly to an SD card for the Nintendo 3DS"
authors = [
    { name = "Ian Burgwin", email = "ian@ianburgwin.net" },
]
readme = "README.md"
license = {text = "MIT"}
dynamic = ["version"]
requires-python = ">= 3.8"
classifiers = [
    "Topic :: Utilities",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.14",
]
dependencies = [
    "pyctr>=0.7.6,<0.9",
    "setuptools>=61.0.0",
    "events>=0.4",
    "comtypes>=1.4.12; os_name == 'nt'",
]

[project.gui-scripts]
custominstall-gui = "custominstall.gui:main"

[project.scripts]
custominstall = "custominstall.__main__:main"

[tool.setuptools.dynamic]
version = {attr = "custominstall.__version__"}

[tool.setuptools.packages]
find = {namespaces = false}

# is it even possible to make these OS-specific with pyproject.toml?
[tool.setuptools.package-data]
custominstall = ["bin/darwin/save3ds_fuse", "bin/win32/save3ds_fuse.exe", "TaskbarLib.tlb", "title.db.gz", "custom-install-finalize.3dsx"]
