Initial test meson build
This commit is contained in:
parent
d806b9d586
commit
608cf4990e
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
""" Extract version number from __init__.py
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
ski_init = os.path.join(os.path.dirname(__file__), '../__init__.py')
|
||||||
|
|
||||||
|
data = open(ski_init).readlines()
|
||||||
|
version_line = next(line for line in data if line.startswith('__version__'))
|
||||||
|
|
||||||
|
version = version_line.strip().split(' = ')[1].replace('"', '').replace("'", '')
|
||||||
|
|
||||||
|
print(version)
|
|
@ -0,0 +1,6 @@
|
||||||
|
bzip2_dep = cc.find_library('bz2', required: true)
|
||||||
|
rapidjson = dependency('RapidJSON', required: true)
|
||||||
|
flex = find_program('flex', required: true)
|
||||||
|
bison = find_program('bison', required: true)
|
||||||
|
subdir('src')
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
|
||||||
|
mocs = qt.compile_moc(
|
||||||
|
headers: [
|
||||||
|
'hurricane/configuration/ConfigurationDialog.h',
|
||||||
|
'hurricane/configuration/ParameterWidget.h',
|
||||||
|
'hurricane/configuration/ConfTabWidget.h',
|
||||||
|
'hurricane/configuration/LogWidget.h',
|
||||||
|
'hurricane/configuration/ConfigurationWidget.h',
|
||||||
|
'hurricane/configuration/ConfEditorWidget.h' ],
|
||||||
|
include_directories: includes
|
||||||
|
)
|
||||||
|
|
||||||
|
resources = qt.compile_resources(
|
||||||
|
sources: 'Configuration.qrc'
|
||||||
|
)
|
||||||
|
configuration = library(
|
||||||
|
'configuration',
|
||||||
|
'Parameter.cpp',
|
||||||
|
'LayoutDescription.cpp',
|
||||||
|
'Configuration.cpp',
|
||||||
|
'ParameterWidget.cpp',
|
||||||
|
'ConfTabWidget.cpp',
|
||||||
|
'LogWidget.cpp',
|
||||||
|
'ConfigurationWidget.cpp',
|
||||||
|
'ConfigurationDialog.cpp',
|
||||||
|
'ConfEditorWidget.cpp',
|
||||||
|
mocs,
|
||||||
|
resources,
|
||||||
|
dependencies: [qt_deps, boost],
|
||||||
|
include_directories: includes
|
||||||
|
)
|
||||||
|
|
||||||
|
pytypemanager = library(
|
||||||
|
'pytypemanager',
|
||||||
|
'ProxyProperty.cpp',
|
||||||
|
'PyTypeManager.cpp',
|
||||||
|
dependencies: [qt_deps, boost, py_deps],
|
||||||
|
include_directories: includes
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
shared_library(
|
||||||
|
'hurricane',
|
||||||
|
'Record.cpp',
|
||||||
|
'Slot.cpp',
|
||||||
|
'Initializer.cpp',
|
||||||
|
'Commons.cpp',
|
||||||
|
'Flags.cpp',
|
||||||
|
'Backtrace.cpp',
|
||||||
|
'FileReadGzStream.cpp',
|
||||||
|
'FileWriteGzStream.cpp',
|
||||||
|
'JsonWriter.cpp',
|
||||||
|
'JsonObject.cpp',
|
||||||
|
'JsonReader.cpp',
|
||||||
|
'Signature.cpp',
|
||||||
|
'Exception.cpp',
|
||||||
|
'Bug.cpp',
|
||||||
|
'Error.cpp',
|
||||||
|
'Breakpoint.cpp',
|
||||||
|
'DRCError.cpp',
|
||||||
|
'Warning.cpp',
|
||||||
|
'Interruption.cpp',
|
||||||
|
'Tabulation.cpp',
|
||||||
|
'DebugSession.cpp',
|
||||||
|
'Observer.cpp',
|
||||||
|
'DbU.cpp',
|
||||||
|
'Point.cpp',
|
||||||
|
'Box.cpp',
|
||||||
|
'Torus.cpp',
|
||||||
|
'Interval.cpp',
|
||||||
|
'Transformation.cpp',
|
||||||
|
'Name.cpp',
|
||||||
|
'DBo.cpp',
|
||||||
|
'DataBase.cpp',
|
||||||
|
'Technology.cpp',
|
||||||
|
'Layer.cpp',
|
||||||
|
'BasicLayer.cpp',
|
||||||
|
'RegularLayer.cpp',
|
||||||
|
'ViaLayer.cpp',
|
||||||
|
'ContactLayer.cpp',
|
||||||
|
'DiffusionLayer.cpp',
|
||||||
|
'TransistorLayer.cpp',
|
||||||
|
'Library.cpp',
|
||||||
|
'Entity.cpp',
|
||||||
|
'Cell.cpp',
|
||||||
|
'CellCollections.cpp',
|
||||||
|
'CellsSort.cpp',
|
||||||
|
'NetAlias.cpp',
|
||||||
|
'Net.cpp',
|
||||||
|
'DeepNet.cpp',
|
||||||
|
'HyperNet.cpp',
|
||||||
|
'Go.cpp',
|
||||||
|
'ExtensionGo.cpp',
|
||||||
|
'Hook.cpp',
|
||||||
|
'Instance.cpp',
|
||||||
|
'Component.cpp',
|
||||||
|
'Plug.cpp',
|
||||||
|
'Contact.cpp',
|
||||||
|
'Pin.cpp',
|
||||||
|
'Segment.cpp',
|
||||||
|
'Vertical.cpp',
|
||||||
|
'Horizontal.cpp',
|
||||||
|
'Pad.cpp',
|
||||||
|
'RoutingPad.cpp',
|
||||||
|
'Diagonal.cpp',
|
||||||
|
'Rectilinear.cpp',
|
||||||
|
'Polygon.cpp',
|
||||||
|
'NetExternalComponents.cpp',
|
||||||
|
'NetRoutingProperty.cpp',
|
||||||
|
'Reference.cpp',
|
||||||
|
'Rubber.cpp',
|
||||||
|
'Quark.cpp',
|
||||||
|
'Property.cpp',
|
||||||
|
'Relation.cpp',
|
||||||
|
'SharedName.cpp',
|
||||||
|
'SharedPath.cpp',
|
||||||
|
'Path.cpp',
|
||||||
|
'Occurrence.cpp',
|
||||||
|
'Occurrences.cpp',
|
||||||
|
'QuadTree.cpp',
|
||||||
|
'Slice.cpp',
|
||||||
|
'ExtensionSlice.cpp',
|
||||||
|
'UpdateSession.cpp',
|
||||||
|
'Region.cpp',
|
||||||
|
'Query.cpp',
|
||||||
|
'Marker.cpp',
|
||||||
|
'Timer.cpp',
|
||||||
|
'TextTranslator.cpp',
|
||||||
|
'DeviceDescriptor.cpp',
|
||||||
|
'Rule.cpp',
|
||||||
|
'UnitRule.cpp',
|
||||||
|
'PhysicalRule.cpp',
|
||||||
|
'TwoLayersPhysicalRule.cpp',
|
||||||
|
|
||||||
|
dependencies: [qt_deps, boost, rapidjson],
|
||||||
|
include_directories: includes
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
includes = include_directories('utilities', 'hurricane', 'analog', 'viewer', 'isobar')
|
||||||
|
subdir('hurricane')
|
||||||
|
subdir('configuration')
|
|
@ -0,0 +1,29 @@
|
||||||
|
project(
|
||||||
|
'coriolis-eda',
|
||||||
|
'c','cpp',
|
||||||
|
version: '2.5.5',
|
||||||
|
meson_version: '>= 0.63.0',
|
||||||
|
default_options: [
|
||||||
|
'buildtype=debugoptimized',
|
||||||
|
'c_std=c99',
|
||||||
|
'cpp_std=c++17',
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
cpp = meson.get_compiler('cpp')
|
||||||
|
|
||||||
|
add_project_arguments(
|
||||||
|
'-Wno-deprecated-declarations',
|
||||||
|
'-Wno-unused-function',
|
||||||
|
'-Wno-unused-private-field',
|
||||||
|
language: ['c','cpp']
|
||||||
|
)
|
||||||
|
|
||||||
|
py = import('python').find_installation()
|
||||||
|
py_deps = dependency('python3')
|
||||||
|
qt = import('qt5')
|
||||||
|
qt_deps = dependency('qt5', modules: ['Core', 'Gui', 'Widgets'])
|
||||||
|
boost = dependency('boost')
|
||||||
|
|
||||||
|
subdir('hurricane')
|
|
@ -1,6 +1,6 @@
|
||||||
[tool.poetry]
|
[project]
|
||||||
name = "coriolis-eda"
|
name = "coriolis-eda"
|
||||||
version = "0.0.0"
|
version = "2.5.5"
|
||||||
description = "Place and Route for semiconductors"
|
description = "Place and Route for semiconductors"
|
||||||
authors = ["Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>"]
|
authors = ["Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>"]
|
||||||
readme = "README.rst"
|
readme = "README.rst"
|
||||||
|
@ -32,7 +32,7 @@ include = [
|
||||||
"katana",
|
"katana",
|
||||||
"lefdef",
|
"lefdef",
|
||||||
"oroshi",
|
"oroshi",
|
||||||
"poetry.lock",
|
"pdm.lock",
|
||||||
"pyproject.toml",
|
"pyproject.toml",
|
||||||
"solstice",
|
"solstice",
|
||||||
"stratus1",
|
"stratus1",
|
||||||
|
@ -41,45 +41,12 @@ include = [
|
||||||
"unicorn",
|
"unicorn",
|
||||||
"unittests",
|
"unittests",
|
||||||
]
|
]
|
||||||
|
[tool.pdm.dev-dependencies]
|
||||||
[tool.poetry-dynamic-versioning]
|
doc = ["pelican", "doxygen"]
|
||||||
enable = true
|
|
||||||
vcs = "git"
|
|
||||||
style = "pep440"
|
|
||||||
format-jinja = """
|
|
||||||
{%- if distance == 0 -%}
|
|
||||||
{{ serialize_pep440(base, stage, revision) }}
|
|
||||||
{%- else -%}
|
|
||||||
{{ serialize_pep440(bump_version(base), stage="a", revision=distance) }}
|
|
||||||
{%- endif -%}
|
|
||||||
"""
|
|
||||||
|
|
||||||
[tool.poetry.dependencies]
|
|
||||||
python = "^3.8"
|
|
||||||
find-libpython = "^0.3.0"
|
|
||||||
patchelf = "^0"
|
|
||||||
|
|
||||||
[tool.poetry.dev-dependencies]
|
|
||||||
cmake = ">=3"
|
|
||||||
ninja = "^1.11.1"
|
|
||||||
|
|
||||||
[tool.poetry.group.doc.dependencies]
|
|
||||||
pelican = ">= 4.5.0"
|
|
||||||
|
|
||||||
[tool.poetry.build]
|
|
||||||
script = "builder.py"
|
|
||||||
generate-setup-file = true
|
|
||||||
|
|
||||||
[tool.poetry.scripts]
|
|
||||||
blif2vst = 'coriolis:blif2vst'
|
|
||||||
tutorial = 'coriolis:tutorial'
|
|
||||||
unittests = 'coriolis:unittests'
|
|
||||||
yosys_coriolis = 'coriolis:yosys_coriolis'
|
|
||||||
cgt = 'coriolis:cgt'
|
|
||||||
|
|
||||||
[build-system]
|
[build-system]
|
||||||
requires = ["poetry-core", "setuptools", "cmake", "ninja", "poetry-dynamic-versioning"]
|
requires = ["setuptools", "pdm-backend", "meson @ git+https://github.com/robtaylor/meson@mac-homebrew", "ninja", "meson-python == 0.13.2"]
|
||||||
build-backend = "poetry_dynamic_versioning.backend"
|
build-backend = "mesonpy"
|
||||||
|
|
||||||
[tool.cibuildwheel.linux]
|
[tool.cibuildwheel.linux]
|
||||||
skip = ["cp36-*", "cp37-*", "pp*"]
|
skip = ["cp36-*", "cp37-*", "pp*"]
|
||||||
|
|
Loading…
Reference in New Issue