Finalase Meson build rules for Hurricane

This commit is contained in:
Rob Taylor 2023-08-25 16:59:56 +01:00 committed by Rob Taylor
parent e6849ce0da
commit f2f65254c9
12 changed files with 238 additions and 2 deletions

View File

@ -0,0 +1,88 @@
analog = shared_library(
'analog',
'AnalogCellExtension.cpp',
'Parameter.cpp',
'CapacitiesParameter.cpp',
'FormFactorParameter.cpp',
'ChoiceParameter.cpp',
'FloatParameter.cpp',
'MatrixParameter.cpp',
'MCheckBoxParameter.cpp',
'SpinBoxParameter.cpp',
'StepParameter.cpp',
'StringParameter.cpp',
'BJT.cpp',
'BJTFamily.cpp',
'BJTFamilyNames.cpp',
'CapacitorFamily.cpp',
'CapacitorFamilyNames.cpp',
'Cascode.cpp',
'ChoiceParameter.cpp',
'Choices.cpp',
'CommonDrain.cpp',
'CommonGatePair.cpp',
'CommonSourcePair.cpp',
'CrossCoupledPair.cpp',
'Device.cpp',
'DifferentialPair.cpp',
'LayoutGenerator.cpp',
'LevelShifter.cpp',
'MetaCapacitor.cpp',
'MetaTransistor.cpp',
'MultiCapacitor.cpp',
'SimpleCurrentMirror.cpp',
'Transistor.cpp',
'TransistorFamily.cpp',
'TransistorFamilyNames.cpp',
'TransistorPair.cpp',
'MultiCapacitor.cpp',
'MetaResistor.cpp',
'ResistorFamily.cpp',
'Resistor.cpp',
'PyAnalog.cpp',
'PyCapacitorFamily.cpp',
'PyCapacitorParameter.cpp',
'PyCascode.cpp',
'PyChoiceParameter.cpp',
'PyCommonDrain.cpp',
'PyCommonGatePair.cpp',
'PyCommonSourcePair.cpp',
'PyCrossCoupledPair.cpp',
'PyDevice.cpp',
'PyDifferentialPair.cpp',
'PyFormFactorParameter.cpp',
'PyLayoutGenerator.cpp',
'PyLevelShifter.cpp',
'PyMCheckBoxParameter.cpp',
'PyMultiCapacitor.cpp',
'PyMatrix.cpp',
'PyParameter.cpp',
'PySimpleCurrentMirror.cpp',
'PySpinBoxParameter.cpp',
'PyStepParameter.cpp',
'PyStringParameter.cpp',
'PyFloatParameter.cpp',
'PyTransistor.cpp',
'PyTransistorFamily.cpp',
'PyTransistorPair.cpp',
'PyMatrixParameter.cpp',
'PyCapacitiesParameter.cpp',
'PyMultiCapacitor.cpp',
'PyResistorFamily.cpp',
'PyResistor.cpp',
dependencies: [qt_deps, py_deps, boost],
link_with: [hurricane, isobar, utils],
include_directories: includes
)
py.extension_module(
'Analog',
dependencies: [qt_deps, py_deps, boost, rapidjson],
link_with: [hurricane, utils, configuration, pytypemanager, isobar, analog],
include_directories: includes
)

View File

@ -76,6 +76,9 @@ isobar_sources = [
'PyUnitRule.cpp', 'PyUnitRule.cpp',
'PyPhysicalRule.cpp', 'PyPhysicalRule.cpp',
'PyTwoLayersPhysicalRule.cpp', 'PyTwoLayersPhysicalRule.cpp',
'Script.cpp',
'PyCellViewer.cpp',
'PyErrorWidget.cpp',
] ]
isobar = library( isobar = library(

View File

@ -1,5 +1,18 @@
includes = include_directories(
'hurricane',
'utilities',
'isobar',
'configuration',
'analog',
'viewer'
)
hurricane_deps = [qt_deps, py_deps, rapidjson, boost]
includes = include_directories('utilities', 'hurricane', 'analog', 'viewer', 'isobar')
subdir('hurricane') subdir('hurricane')
subdir('utilities')
subdir('isobar') subdir('isobar')
subdir('configuration') subdir('configuration')
subdir('analog')
subdir('viewer')

View File

@ -0,0 +1,7 @@
utils = shared_library(
'utils',
'Path.cpp',
'Dots.cpp',
link_with: hurricane
)

View File

@ -0,0 +1,118 @@
viewer_mocs = qt.compile_moc(
headers: [
'hurricane/viewer/HApplication.h',
'hurricane/viewer/PaletteItem.h',
'hurricane/viewer/PaletteNamedItem.h',
'hurricane/viewer/PaletteLayerItem.h',
'hurricane/viewer/PaletteExtensionGoItem.h',
'hurricane/viewer/PaletteWidget.h',
'hurricane/viewer/GraphicsWidget.h',
'hurricane/viewer/ErrorWidget.h',
'hurricane/viewer/ExceptionWidget.h',
'hurricane/viewer/BreakpointWidget.h',
'hurricane/viewer/GotoWidget.h',
'hurricane/viewer/DynamicLabel.h',
'hurricane/viewer/MousePositionWidget.h',
'hurricane/viewer/SelectCommand.h',
'hurricane/viewer/CellWidget.h',
'hurricane/viewer/CellViewer.h',
'hurricane/viewer/CellPrinter.h',
'hurricane/viewer/CellImage.h',
'hurricane/viewer/OpenBlobDialog.h',
'hurricane/viewer/RecordModel.h',
'hurricane/viewer/InspectorWidget.h',
'hurricane/viewer/SelectionPopupModel.h',
'hurricane/viewer/SelectionPopup.h',
'hurricane/viewer/SelectionModel.h',
'hurricane/viewer/SelectionWidget.h',
'hurricane/viewer/NetlistModel.h',
'hurricane/viewer/NetlistWidget.h',
'hurricane/viewer/HierarchyModel.h',
'hurricane/viewer/HierarchyWidget.h',
'hurricane/viewer/DisplayFilterWidget.h',
'hurricane/viewer/ControllerWidget.h',
'hurricane/viewer/ScriptWidget.h',
'hurricane/viewer/AboutWindow.h'
],
include_directories: includes
)
viewer_resources = qt.compile_resources(
sources: 'CellViewer.qrc'
)
viewer = shared_library(
'viewer',
'HApplication.cpp',
'ScreenUtilities.cpp',
'DisplayStyle.cpp',
'ColorScale.cpp',
'Graphics.cpp',
'GraphicsWidget.cpp',
'ErrorWidget.cpp',
'ExceptionWidget.cpp',
'BreakpointWidget.cpp',
'GotoWidget.cpp',
'PaletteItem.cpp',
'PaletteNamedItem.cpp',
'PaletteLayerItem.cpp',
'PaletteExtensionGoItem.cpp',
'PaletteWidget.cpp',
'DynamicLabel.cpp',
'MousePositionWidget.cpp',
'Selector.cpp',
'Command.cpp',
'AreaCommand.cpp',
'MoveCommand.cpp',
'ZoomCommand.cpp',
'RulerCommand.cpp',
'SelectCommand.cpp',
'HierarchyCommand.cpp',
'SelectorCriterion.cpp',
'CellWidget.cpp',
'CellViewer.cpp',
'CellPrinter.cpp',
'CellImage.cpp',
'OpenBlobDialog.cpp',
'RecordModel.cpp',
'InspectorWidget.cpp',
'SelectionPopupModel.cpp',
'SelectionPopup.cpp',
'SelectionModel.cpp',
'SelectionWidget.cpp',
'Ruler.cpp',
'NetInformations.cpp',
'NetlistModel.cpp',
'NetlistWidget.cpp',
'HierarchyInformations.cpp',
'HierarchyModel.cpp',
'HierarchyWidget.cpp',
'DisplayFilterWidget.cpp',
'ControllerWidget.cpp',
'ScriptWidget.cpp',
'DesignBlob.cpp',
'JsonConfiguration.cpp',
'AboutWindow.cpp',
'PyHSVr.cpp',
'PyDrawingStyle.cpp',
'PyDrawingGroup.cpp',
'PyDisplayStyle.cpp',
'PyHApplication.cpp',
'PyGraphics.cpp',
'PyViewer.cpp',
'PyAboutWindow.cpp',
viewer_mocs,
viewer_resources,
dependencies: [qt_deps, py_deps, boost, rapidjson],
link_with: [hurricane, utils, configuration, pytypemanager, isobar, analog],
include_directories: includes
)
py.extension_module(
'Viewer',
dependencies: [qt_deps, py_deps, boost, rapidjson],
link_with: [hurricane, utils, configuration, pytypemanager, viewer, isobar, analog],
include_directories: includes
)

View File

@ -17,6 +17,9 @@ add_project_arguments(
'-Wno-deprecated-declarations', '-Wno-deprecated-declarations',
'-Wno-unused-function', '-Wno-unused-function',
'-Wno-unused-private-field', '-Wno-unused-private-field',
'-Wno-return-type-c-linkage',
'-Wno-unused-variable',
'-Wno-#pragma-messages',
language: ['c','cpp'] language: ['c','cpp']
) )
@ -24,7 +27,11 @@ py = import('python').find_installation()
py_deps = dependency('python3-embed', required: true) py_deps = dependency('python3-embed', required: true)
qt = import('qt5') qt = import('qt5')
qt_deps = dependency('qt5', modules: ['Core', 'Gui', 'Widgets'], required:true) qt_deps = dependency('qt5',
modules: ['Core', 'Gui', 'Widgets', 'PrintSupport', 'Svg'],
required:true
)
boost = dependency('boost', required: true) boost = dependency('boost', required: true)
subdir('hurricane') subdir('hurricane')