coriolis/pyproject.toml

173 lines
5.2 KiB
TOML

#[tool.poetry]
#name = "Coriolis"
#version = "0.0.0"
#description = "Place and Route for semiconductors"
#authors = ["Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>"]
#readme = "README.rst"
##build = "builder.py"
##packages = [
## { include = "Coriolis"}
##]
#[tool.poetry-dynamic-versioning]
#enable = true
##dirty = true
#vcs = "git"
##style = "pep440"
#metadata = "true"
##pattern = '''
## (?x)
## ^coriolis-((?P<epoch>\d+)!)?(?P<base>\d+(\.\d+)*)
## ([-._]?((?P<stage>[a-zA-Z]+)[-._]?(?P<revision>\d+)?))?
## (\+(?P<tagged_metadata>.+))?$
##'''
#[tool.poetry.dependencies]
#python = "^3.8"
#find-libpython = "^0.3.0"
#[tool.poetry.dev-dependencies]
#cmake = ">=3"
#ninja = "^1.11.1"
#[tool.poetry.scripts]
#blif2vst = 'Coriolis:blif2vst'
#tutorial = 'Coriolis:tutorial'
#unittests = 'Coriolis:unittests'
#yosys_coriolis = 'Coriolis:yosys_coriolis'
[project]
name = "coriolis"
version = "2.4.2"
#dynamic = ["version"]
description = "Place and Route for semiconductors"
authors = [
{ name = "Rémy ESCASSUT & Christian" },
{ name = "Christophe ALEXANDRE" },
{ name = "Sophie BELLOEIL" },
{ name = "Damien DUPUIS" },
{ name = "Jean-Paul CHAPUT", email="Jean-Paul.Chaput@lip6.fr" }
]
readme = "README.rst"
long_description = """Coriolis provides several tools to perform the layout of VLSI circuits.
Its main components are the Hurricane database, the Etesian placer and
the Katana router, but other tools can use the Hurricane database and
the parsers provided.
"""
[build-system]
#requires = ["scikit-build-core","poetry-core", "cmake", "ninja", "patchelf", "poetry-dynamic-versioning"]
requires = ["scikit-build-core", "cmake", "ninja", "hatch-vcs"]
build-backend = "scikit_build_core.build"
[tool.hatch.version]
source = "vcs"
[tool.scikit-build.metadata]
# List dynamic metadata fields and hook locations in this table
#version.provider = "hatch_vcs"
[tool.scikit-build]
# The PEP 517 build hooks will add ninja and/or cmake if the versions on the
# system are not at least these versions. Disabled by an empty string.
cmake.minimum-version = "3.16"
ninja.minimum-version = "1.5"
# Fallback on gmake/make if available and ninja is missing (Unix). Will only
# fallback on platforms without a known ninja wheel.
ninja.make-fallback = true
# Extra args for CMake. Pip, unlike build, does not support lists, so semicolon
# can be used to separate. Setting this in config or envvar will override the
# entire list. See also cmake.define.
cmake.args = []
# This activates verbose builds
cmake.verbose = false
# This controls the CMake build type
cmake.build-type = "Release"
# Display logs at or above this level.
logging.level = "WARNING"
# Include and exclude patterns, in gitignore syntax. Include overrides exclude.
# Wheels include packages included in the sdist; CMake has the final say.
sdist.include = []
sdist.exclude = []
# Make reproducible SDists (Python 3.9+ and UNIX recommended). Respects
# SOURCE_DATE_EPOCH when true (the default).
sdist.reproducible = true
# The root-level packages to include. Special default: if not given, the package
# is auto-discovered if it's name matches the main name.
wheel.packages = ["coriolis"]
# Setting py-api to "cp37" would build ABI3 wheels for Python 3.7+. If CPython
# is less than this value, or on PyPy, this will be ignored. Setting the api to
# "py3" or "py2.py3" would build wheels that don't depend on Python (ctypes,
# etc).
wheel.py-api = ""
# Setting this to true will expand tags (universal2 will add Intel and Apple
# Silicon tags, for pip <21.0.1 compatibility).
wheel.expand-macos-universal-tags = false
# This allows you to change the install dir, such as to the package name. The
# original dir is still at SKBUILD_PLATLIB_DIR (also SKBUILD_DATA_DIR, etc. are
# available)
wheel.install-dir = "."
# The licence file(s) to include in the wheel metadata directory.
wheel.license-files = ["LICEN[CS]E*", "COPYING*", "NOTICE*", "AUTHORS*"]
# This will backport an internal copy of FindPython if CMake is less than this
# value. Set to 0 or the empty string to disable. The default will be kept in
# sync with the version of FindPython stored in scikit-build-core.
backport.find-python = ""
# This is the only editable mode currently
editable.mode = "redirect"
# Enable auto rebuilds on import (experimental)
editable.rebuild = false
# Display output on stderr while rebuilding on import
editable.verbose = true
# Enable experimental features if any are available
experimental = true #false
# Strictly validate config options
strict-config = true
# This provides some backward compatibility if set. Defaults to the latest
# scikit-build-core version.
minimum-version = "0.2" # current version
# Build directory (empty will use a temporary directory). {cache_tag} and
# {wheel_tag} are available to provide a unique directory per interpreter.
build-dir = ""
[tool.scikit-build.cmake.define]
# Put CMake defines in this table.
[tool.cibuildwheel.linux]
skip = ["cp36-*", "cp37-*", "pp*"]
build-frontend = "build"
before-all = '''
yum -y install epel-release
yum repolist
yum install -y \
qt5-qtbase-devel qt5-qtsvg-devel \
rapidjson-devel bison flex doxygen bzip2-devel flex-devel \
boost-devel \
boost-python boost-filesystem \
boost-regex boost-wave \
python3-devel libxml2-devel \
qwt-devel
'''
build-verbosity=2