meson: Isobar module building

This commit is contained in:
Rob Taylor 2023-08-25 13:46:49 +01:00 committed by Rob Taylor
parent 608cf4990e
commit e6849ce0da
6 changed files with 107 additions and 6 deletions

View File

@ -1,4 +1,4 @@
bzip2_dep = cc.find_library('bz2', required: true)
bzip2 = cc.find_library('bz2', required: true)
rapidjson = dependency('RapidJSON', required: true)
flex = find_program('flex', required: true)
bison = find_program('bison', required: true)

View File

@ -27,6 +27,7 @@ configuration = library(
mocs,
resources,
dependencies: [qt_deps, boost],
link_with: [hurricane, isobar],
include_directories: includes
)
@ -35,6 +36,7 @@ pytypemanager = library(
'ProxyProperty.cpp',
'PyTypeManager.cpp',
dependencies: [qt_deps, boost, py_deps],
link_with: [hurricane, isobar],
include_directories: includes
)

View File

@ -1,4 +1,4 @@
shared_library(
hurricane = shared_library(
'hurricane',
'Record.cpp',
'Slot.cpp',
@ -91,7 +91,7 @@ shared_library(
'PhysicalRule.cpp',
'TwoLayersPhysicalRule.cpp',
dependencies: [qt_deps, boost, rapidjson],
dependencies: [qt_deps, boost, rapidjson, bzip2],
include_directories: includes
)

View File

@ -0,0 +1,97 @@
isobar_sources = [
'ProxyProperty.cpp',
'PythonAttributes.cpp',
'PyBreakpoint.cpp',
'PyInterval.cpp',
'PyBox.cpp',
'PyCell.cpp',
'PyCellCollection.cpp',
'PyComponent.cpp',
'PyComponentCollection.cpp',
'PyContact.cpp',
'PyDataBase.cpp',
'PyEntity.cpp',
'PyHorizontal.cpp',
'PyHurricane.cpp',
'PyHyperNet.cpp',
'PyPlacementStatus.cpp',
'PyInstance.cpp',
'PyInstanceCollection.cpp',
'PyMaterial.cpp',
'PyLayer.cpp',
'PyLayerMask.cpp',
'PyBasicLayer.cpp',
'PyRegularLayer.cpp',
'PyContactLayer.cpp',
'PyDiffusionLayer.cpp',
'PyTransistorLayer.cpp',
'PyViaLayer.cpp',
'PyLayerCollection.cpp',
'PyBasicLayerCollection.cpp',
'PyRegularLayerCollection.cpp',
'PyViaLayerCollection.cpp',
'PyLibrary.cpp',
'PyNet.cpp',
'PyNetType.cpp',
'PyNetDirection.cpp',
'PyNetCollection.cpp',
'PyNetExternalComponents.cpp',
'PyNetRoutingState.cpp',
'PyNetRoutingProperty.cpp',
'PyPythonAttributes.cpp',
'PyOccurrence.cpp',
'PyOccurrenceCollection.cpp',
'PyHook.cpp',
'PyHookCollection.cpp',
'PyPad.cpp',
'PyDiagonal.cpp',
'PyPath.cpp',
'PyPin.cpp',
'PyPinPlacementStatus.cpp',
'PyPinDirection.cpp',
'PyPinCollection.cpp',
'PyPlug.cpp',
'PyPlugCollection.cpp',
'PyPoint.cpp',
'PyPointCollection.cpp',
'PyReference.cpp',
'PyReferenceCollection.cpp',
'PyRoutingPad.cpp',
'PyRoutingPadCollection.cpp',
'PySegment.cpp',
'PySegmentCollection.cpp',
'PyTechnology.cpp',
'PyTransformation.cpp',
'PyRectilinear.cpp',
'PyPolygon.cpp',
'PyOrientation.cpp',
'PyDbU.cpp',
'PyUpdateSession.cpp',
'PyDebugSession.cpp',
'PyVertical.cpp',
'PyQueryMask.cpp',
'PyQuery.cpp',
'PyDeviceDescriptor.cpp',
'PyRule.cpp',
'PyUnitRule.cpp',
'PyPhysicalRule.cpp',
'PyTwoLayersPhysicalRule.cpp',
]
isobar = library(
'isobar',
isobar_sources,
dependencies: [qt_deps, py_deps, boost],
link_with: [hurricane],
include_directories: includes
)
py.extension_module(
'Isobar',
isobar_sources,
dependencies: [qt_deps, py_deps, boost],
link_with: [isobar],
include_directories: includes
)

View File

@ -1,4 +1,5 @@
includes = include_directories('utilities', 'hurricane', 'analog', 'viewer', 'isobar')
subdir('hurricane')
subdir('isobar')
subdir('configuration')

View File

@ -21,9 +21,10 @@ add_project_arguments(
)
py = import('python').find_installation()
py_deps = dependency('python3')
py_deps = dependency('python3-embed', required: true)
qt = import('qt5')
qt_deps = dependency('qt5', modules: ['Core', 'Gui', 'Widgets'])
boost = dependency('boost')
qt_deps = dependency('qt5', modules: ['Core', 'Gui', 'Widgets'], required:true)
boost = dependency('boost', required: true)
subdir('hurricane')