diff --git a/hurricane/meson.build b/hurricane/meson.build index 50e220ea..5e588813 100644 --- a/hurricane/meson.build +++ b/hurricane/meson.build @@ -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) diff --git a/hurricane/src/configuration/meson.build b/hurricane/src/configuration/meson.build index 22488cf6..b7277e87 100644 --- a/hurricane/src/configuration/meson.build +++ b/hurricane/src/configuration/meson.build @@ -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 ) diff --git a/hurricane/src/hurricane/meson.build b/hurricane/src/hurricane/meson.build index 1ec1bb3f..10378683 100644 --- a/hurricane/src/hurricane/meson.build +++ b/hurricane/src/hurricane/meson.build @@ -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 ) diff --git a/hurricane/src/isobar/meson.build b/hurricane/src/isobar/meson.build new file mode 100644 index 00000000..debbd88e --- /dev/null +++ b/hurricane/src/isobar/meson.build @@ -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 +) + + diff --git a/hurricane/src/meson.build b/hurricane/src/meson.build index a267b036..b8f948b8 100644 --- a/hurricane/src/meson.build +++ b/hurricane/src/meson.build @@ -1,4 +1,5 @@ includes = include_directories('utilities', 'hurricane', 'analog', 'viewer', 'isobar') subdir('hurricane') +subdir('isobar') subdir('configuration') diff --git a/meson.build b/meson.build index 09ca25a9..6f7e8b04 100644 --- a/meson.build +++ b/meson.build @@ -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')