Added new CMake macro add_python_module() and some cleanup.

This commit is contained in:
Jean-Paul Chaput 2015-03-22 19:12:45 +01:00
parent 69c75b9ea9
commit 1e73466199
15 changed files with 753 additions and 711 deletions

View File

@ -316,3 +316,53 @@
set(${project}_FOUND FALSE) set(${project}_FOUND FALSE)
endif(${project}_INCLUDE_DIR AND ${project}_LIBRARY) endif(${project}_INCLUDE_DIR AND ${project}_LIBRARY)
endmacro(set_found project) endmacro(set_found project)
#
# Build a Python extention module.
# Usage:
# * clibSpec: The C/C++ shared part of the Python module.
# A four three list CLIB_NAME;version;soversion;
# - CLIB_NAME: the name of the C/C++ shared library
# - version: the full version number (ex: 1.0).
# - soversion: the shared version major (ex: 1).
# If the C library must not be generated because it is
# already included in another one, set to IGNORE.
# * pymodule: The name of the Python module (for "import PYMODULE").
# * deplibs: The list of dependencies.
#
macro( add_python_module pyCpps pyIncludes argClibSpec pymodule deplibs inc_install_dir )
set( pyDeplibs ${deplibs} )
# Force the argument <argClibSpec> to be parsed as a list.
set( clibSpec ${argClibSpec} )
list( GET clibSpec 0 clib )
message( STATUS ${clib} )
if( NOT (${clib} STREQUAL "Do_not_generate_C_library") )
list( LENGTH clibSpec clibLen )
if( NOT (clibLen EQUAL 3) )
message( FATAL_ERROR "python_module(): clibSpec doesnt't have exactly 3 elements (${clibSpec})." )
endif()
list( GET clibSpec 1 version )
list( GET clibSpec 2 soversion )
set( pyDeplibs ${clib} ${deplibs} )
add_library( ${clib} ${pyCpps} )
set_target_properties( ${clib} PROPERTIES VERSION ${version} SOVERSION ${soversion} )
target_link_libraries( ${clib} ${deplibs} )
install( TARGETS ${clib} DESTINATION lib${LIB_SUFFIX} )
endif()
set( pytarget "${pymodule}_target" )
add_library( ${pytarget} MODULE ${pyCpps} )
set_target_properties( ${pytarget} PROPERTIES
COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1"
PREFIX ""
OUTPUT_NAME ${pymodule}
)
target_link_libraries( ${pytarget} ${pyDeplibs} )
install( TARGETS ${pytarget} DESTINATION ${PYTHON_SITE_PACKAGES} )
install( FILES ${pyIncludes} DESTINATION ${inc_install_dir} )
endmacro( add_python_module )

View File

@ -1,76 +1,72 @@
# -*- explicit-buffer-name: "CMakeLists.txt<crlcore/src/pyCRL>" -*- # -*- explicit-buffer-name: "CMakeLists.txt<crlcore/src/pyCRL>" -*-
include_directories ( ${CRLCORE_SOURCE_DIR}/src/fonts include_directories( ${CRLCORE_SOURCE_DIR}/src/fonts
${CRLCORE_SOURCE_DIR}/src/ccore ${CRLCORE_SOURCE_DIR}/src/ccore
${CRLCORE_SOURCE_DIR}/src/ccore/properties ${CRLCORE_SOURCE_DIR}/src/ccore/properties
${CRLCORE_SOURCE_DIR}/src/ccore/bookshelf ${CRLCORE_SOURCE_DIR}/src/ccore/bookshelf
${CRLCORE_SOURCE_DIR}/src/ccore/cspice ${CRLCORE_SOURCE_DIR}/src/ccore/cspice
${CRLCORE_SOURCE_DIR}/src/ccore/lefdef ${CRLCORE_SOURCE_DIR}/src/ccore/lefdef
${CRLCORE_SOURCE_DIR}/src/ccore/alliance/ap ${CRLCORE_SOURCE_DIR}/src/ccore/alliance/ap
${CRLCORE_SOURCE_DIR}/src/ccore/alliance/vst ${CRLCORE_SOURCE_DIR}/src/ccore/alliance/vst
${CRLCORE_SOURCE_DIR}/src/ccore/agds ${CRLCORE_SOURCE_DIR}/src/ccore/agds
${CRLCORE_SOURCE_DIR}/src/ccore/cif ${CRLCORE_SOURCE_DIR}/src/ccore/cif
${CRLCORE_SOURCE_DIR}/src/ccore/spice ${CRLCORE_SOURCE_DIR}/src/ccore/spice
${CRLCORE_SOURCE_DIR}/src/ccore/liberty ${CRLCORE_SOURCE_DIR}/src/ccore/liberty
${CRLCORE_SOURCE_DIR}/src/ccore/toolbox ${CRLCORE_SOURCE_DIR}/src/ccore/toolbox
${CRLCORE_SOURCE_DIR}/src/pyCRL ${CRLCORE_SOURCE_DIR}/src/pyCRL
${HURRICANE_INCLUDE_DIR} ${HURRICANE_INCLUDE_DIR}
${CIF_INCLUDE_DIR} ${CIF_INCLUDE_DIR}
${CONFIGURATION_INCLUDE_DIR} ${CONFIGURATION_INCLUDE_DIR}
${PYTHON_INCLUDE_PATH} ${PYTHON_INCLUDE_PATH}
${Boost_INCLUDE_DIR} ${Boost_INCLUDE_DIR}
) )
add_definitions ( -DCORIOLIS_TOP="${CORIOLIS_TOP}" add_definitions( -DCORIOLIS_TOP="${CORIOLIS_TOP}"
-DSYS_CONF_DIR="${SYS_CONF_DIR}" -DSYS_CONF_DIR="${SYS_CONF_DIR}"
-DPYTHON_SITE_PACKAGES="${PYTHON_SITE_PACKAGES}" -DPYTHON_SITE_PACKAGES="${PYTHON_SITE_PACKAGES}"
) )
set ( sources PyCRL.cpp set( pyCpps PyCRL.cpp
PyBanner.cpp PyBanner.cpp
PyCatalog.cpp PyCatalog.cpp
PyCatalogState.cpp PyCatalogState.cpp
PyEnvironment.cpp PyEnvironment.cpp
PyCellGauge.cpp PyCellGauge.cpp
PyRoutingGauge.cpp PyRoutingGauge.cpp
PyRoutingLayerGauge.cpp PyRoutingLayerGauge.cpp
PyAllianceFramework.cpp PyAllianceFramework.cpp
PyToolBox.cpp PyToolBox.cpp
PyToolEngine.cpp PyToolEngine.cpp
PyToolEngineCollection.cpp PyToolEngineCollection.cpp
PyGraphicToolEngine.cpp PyGraphicToolEngine.cpp
PyAcmSigda.cpp PyAcmSigda.cpp
PyIspd05.cpp PyIspd05.cpp
) )
set ( includes crlcore/PyBanner.h set( pyIncludes crlcore/PyBanner.h
crlcore/PyCatalog.h crlcore/PyCatalog.h
crlcore/PyCatalogState.h crlcore/PyCatalogState.h
crlcore/PyEnvironment.h crlcore/PyEnvironment.h
crlcore/PyCellGauge.h crlcore/PyCellGauge.h
crlcore/PyRoutingGauge.h crlcore/PyRoutingGauge.h
crlcore/PyRoutingLayerGauge.h crlcore/PyRoutingLayerGauge.h
crlcore/PyAllianceFramework.h crlcore/PyAllianceFramework.h
crlcore/PyToolBox.h crlcore/PyToolBox.h
crlcore/PyToolEngine.h crlcore/PyToolEngine.h
crlcore/PyToolEngineCollection.h crlcore/PyToolEngineCollection.h
crlcore/PyGraphicToolEngine.h crlcore/PyGraphicToolEngine.h
crlcore/PyAcmSigda.h crlcore/PyAcmSigda.h
crlcore/PyIspd05.h crlcore/PyIspd05.h
) )
set( depLibs crlcore
${HURRICANE_PYTHON_LIBRARIES}
${PYTHON_LIBRARIES}
-lutil
)
add_python_module( "${pyCpps}"
add_library ( pycrlcore ${sources} ) "${pyIncludes}"
set_target_properties ( pycrlcore PROPERTIES VERSION 1.0 SOVERSION 1 ) "pycrlcore;1.0;1"
target_link_libraries ( pycrlcore crlcore CRL
${HURRICANE_PYTHON_LIBRARIES} "${depLibs}"
${PYTHON_LIBRARIES} -lutil include/coriolis2/crlcore
) )
add_library ( CRL MODULE ${sources} )
target_link_libraries ( CRL pycrlcore )
set_target_properties ( CRL PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1"
PREFIX ""
)
install ( FILES ${includes} DESTINATION include/coriolis2/crlcore )
install ( TARGETS pycrlcore DESTINATION lib${LIB_SUFFIX} )
install ( TARGETS CRL DESTINATION ${PYTHON_SITE_PACKAGES} )

View File

@ -1,74 +1,68 @@
# -*- explicit-buffer-name: "CMakeLists.txt<etesian/src>" -*- # -*- explicit-buffer-name: "CMakeLists.txt<etesian/src>" -*-
# include ( ${QT_USE_FILE} ) # include( ${QT_USE_FILE} )
include_directories( ${ETESIAN_SOURCE_DIR}/src
${COLOQUINTE_INCLUDE_DIR}
${CORIOLIS_INCLUDE_DIR}
${HURRICANE_INCLUDE_DIR}
${CONFIGURATION_INCLUDE_DIR}
${QtX_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${PYTHON_INCLUDE_PATH}
)
set( includes etesian/Configuration.h
etesian/FeedCells.h
etesian/EtesianEngine.h
etesian/GraphicEtesianEngine.h
)
set( pyIncludes etesian/PyEtesianEngine.h
etesian/PyGraphicEtesianEngine.h
)
set( mocIncludes etesian/GraphicEtesianEngine.h )
set( cpps Configuration.cpp
AddFeeds.cpp
FeedCells.cpp
EtesianEngine.cpp
GraphicEtesianEngine.cpp
)
set( pyCpps PyEtesian.cpp
PyEtesianEngine.cpp
PyGraphicEtesianEngine.cpp
)
qtX_wrap_cpp( mocCpps ${mocIncludes} )
set( depLibs ${CORIOLIS_PYTHON_LIBRARIES}
${CORIOLIS_LIBRARIES}
${HURRICANE_PYTHON_LIBRARIES}
${HURRICANE_GRAPHICAL_LIBRARIES}
${HURRICANE_LIBRARIES}
${CONFIGURATION_LIBRARY}
${BOOKSHELF_LIBRARY}
${CIF_LIBRARY}
${AGDS_LIBRARY}
${UTILITIES_LIBRARY}
${LEFDEF_LIBRARIES}
${COLOQUINTE_LIBRARIES}
${OA_LIBRARIES}
${QtX_LIBRARIES}
${Boost_LIBRARIES}
${LIBXML2_LIBRARIES}
${PYTHON_LIBRARIES} -lutil
${LIBEXECINFO_LIBRARIES}
)
include_directories ( ${ETESIAN_SOURCE_DIR}/src add_library( etesian ${cpps} ${mocCpps} ${pyCpps} )
${COLOQUINTE_INCLUDE_DIR} set_target_properties( etesian PROPERTIES VERSION 1.0 SOVERSION 1 )
${CORIOLIS_INCLUDE_DIR} target_link_libraries( etesian ${depLibs} )
${HURRICANE_INCLUDE_DIR}
${CONFIGURATION_INCLUDE_DIR}
${QtX_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${PYTHON_INCLUDE_PATH}
)
set ( includes etesian/Configuration.h
etesian/FeedCells.h
etesian/EtesianEngine.h
etesian/GraphicEtesianEngine.h
)
set ( pyIncludes etesian/PyEtesianEngine.h
etesian/PyGraphicEtesianEngine.h
)
set ( mocIncludes etesian/GraphicEtesianEngine.h )
set ( cpps Configuration.cpp
AddFeeds.cpp
FeedCells.cpp
EtesianEngine.cpp
GraphicEtesianEngine.cpp
)
set ( pyCpps PyEtesian.cpp
PyEtesianEngine.cpp
PyGraphicEtesianEngine.cpp
)
qtX_wrap_cpp ( mocCpps ${mocIncludes} )
add_library ( etesian ${cpps} ${mocCpps} ${pyCpps} ) add_python_module( "${pyCpps}"
set_target_properties ( etesian PROPERTIES VERSION 1.0 SOVERSION 1 ) "${pyIncludes}"
target_link_libraries ( etesian ${CORIOLIS_LIBRARIES} "Do_not_generate_C_library"
${HURRICANE_PYTHON_LIBRARIES} Etesian
${HURRICANE_GRAPHICAL_LIBRARIES} "etesian;${depLibs}"
${HURRICANE_LIBRARIES} include/coriolis2/etesian
${CONFIGURATION_LIBRARY} )
${BOOKSHELF_LIBRARY}
${CIF_LIBRARY}
${AGDS_LIBRARY}
${UTILITIES_LIBRARY}
${LEFDEF_LIBRARIES}
${COLOQUINTE_LIBRARIES}
${OA_LIBRARIES}
${QtX_LIBRARIES}
${Boost_LIBRARIES}
${LIBXML2_LIBRARIES}
${PYTHON_LIBRARIES} -lutil
${LIBEXECINFO_LIBRARIES}
)
add_library ( pyEtesian MODULE ${pyCpps} ) install( TARGETS etesian DESTINATION lib${LIB_SUFFIX} )
set_target_properties ( pyEtesian PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1" install( FILES ${includes}
PREFIX "" ${mocIncludes} DESTINATION include/coriolis2/etesian )
OUTPUT_NAME "Etesian"
)
target_link_libraries ( pyEtesian etesian
${CORIOLIS_PYTHON_LIBRARIES}
# add_executable ( etesian.bin ${etesiancpps} )
#target_link_libraries ( etesian.bin etesian )
)
install ( TARGETS etesian DESTINATION lib${LIB_SUFFIX} )
# install ( TARGETS etesian.bin DESTINATION bin )
install ( TARGETS pyEtesian DESTINATION ${PYTHON_SITE_PACKAGES} )
install ( FILES ${includes}
${mocIncludes}
${pyIncludes} DESTINATION include/coriolis2/etesian )

View File

@ -1,151 +1,149 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<hurricane/src/isobar>" -*- # -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<hurricane/src/isobar>" -*-
# include ( ${QT_USE_FILE} ) # include( ${QT_USE_FILE} )
include_directories( ${HURRICANE_SOURCE_DIR}/src/hurricane
${HURRICANE_SOURCE_DIR}/src/viewer
${HURRICANE_SOURCE_DIR}/src/isobar
${PYTHON_INCLUDE_PATH}
)
set( pyCpps ProxyProperty.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
PyOccurrence.cpp
PyOccurrenceCollection.cpp
PyHook.cpp
PyHookCollection.cpp
PyPad.cpp
PyPath.cpp
PyPin.cpp
PyPinPlacementStatus.cpp
PyPinDirection.cpp
PyPinCollection.cpp
PyPlug.cpp
PyPlugCollection.cpp
PyPoint.cpp
PyReference.cpp
PyReferenceCollection.cpp
PyRoutingPad.cpp
PySegment.cpp
PySegmentCollection.cpp
PyTechnology.cpp
PyTransformation.cpp
PyOrientation.cpp
PyDbU.cpp
PyUpdateSession.cpp
PyDebugSession.cpp
PyVertical.cpp
PyQueryMask.cpp
PyQuery.cpp
)
set( pyIncludes hurricane/isobar/ProxyProperty.h
hurricane/isobar/PyBreakpoint.h
hurricane/isobar/PyInterval.h
hurricane/isobar/PyBox.h
hurricane/isobar/PyCell.h
hurricane/isobar/PyCellCollection.h
hurricane/isobar/PyComponent.h
hurricane/isobar/PyComponentCollection.h
hurricane/isobar/PyContact.h
hurricane/isobar/PyDataBase.h
hurricane/isobar/PyEntity.h
hurricane/isobar/PyHorizontal.h
hurricane/isobar/PyHurricane.h
hurricane/isobar/PyHyperNet.h
hurricane/isobar/PyPlacementStatus.h
hurricane/isobar/PyInstance.h
hurricane/isobar/PyInstanceCollection.h
hurricane/isobar/PyMaterial.h
hurricane/isobar/PyLayerMask.h
hurricane/isobar/PyLayer.h
hurricane/isobar/PyBasicLayer.h
hurricane/isobar/PyRegularLayer.h
hurricane/isobar/PyContactLayer.h
hurricane/isobar/PyDiffusionLayer.h
hurricane/isobar/PyTransistorLayer.h
hurricane/isobar/PyLayerCollection.h
hurricane/isobar/PyBasicLayerCollection.h
hurricane/isobar/PyRegularLayerCollection.h
hurricane/isobar/PyViaLayerCollection.h
hurricane/isobar/PyViaLayer.h
hurricane/isobar/PyLibrary.h
hurricane/isobar/PyNet.h
hurricane/isobar/PyNetType.h
hurricane/isobar/PyNetDirection.h
hurricane/isobar/PyNetCollection.h
hurricane/isobar/PyNetExternalComponents.h
hurricane/isobar/PyOccurrence.h
hurricane/isobar/PyOccurrenceCollection.h
hurricane/isobar/PyHook.h
hurricane/isobar/PyHookCollection.h
hurricane/isobar/PyPad.h
hurricane/isobar/PyPath.h
hurricane/isobar/PyPin.h
hurricane/isobar/PyPinPlacementStatus.h
hurricane/isobar/PyPinDirection.h
hurricane/isobar/PyPinCollection.h
hurricane/isobar/PyPlug.h
hurricane/isobar/PyPlugCollection.h
hurricane/isobar/PyPoint.h
hurricane/isobar/PyReference.h
hurricane/isobar/PyReferenceCollection.h
hurricane/isobar/PyRoutingPad.h
hurricane/isobar/PySegment.h
hurricane/isobar/PySegmentCollection.h
hurricane/isobar/PyTechnology.h
hurricane/isobar/PyTransformation.h
hurricane/isobar/PyOrientation.h
hurricane/isobar/PyDbU.h
hurricane/isobar/PyUpdateSession.h
hurricane/isobar/PyDebugSession.h
hurricane/isobar/PyVertical.h
hurricane/isobar/PyQueryMask.h
hurricane/isobar/PyQuery.h
)
include_directories ( ${HURRICANE_SOURCE_DIR}/src/hurricane set( depLibs hurricane
${HURRICANE_SOURCE_DIR}/src/viewer ${Boost_LIBRARIES}
${HURRICANE_SOURCE_DIR}/src/isobar ${PYTHON_LIBRARIES}
${PYTHON_INCLUDE_PATH} )
)
set ( sources ProxyProperty.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
PyOccurrence.cpp
PyOccurrenceCollection.cpp
PyHook.cpp
PyHookCollection.cpp
PyPad.cpp
PyPath.cpp
PyPin.cpp
PyPinPlacementStatus.cpp
PyPinDirection.cpp
PyPinCollection.cpp
PyPlug.cpp
PyPlugCollection.cpp
PyPoint.cpp
PyReference.cpp
PyReferenceCollection.cpp
PyRoutingPad.cpp
PySegment.cpp
PySegmentCollection.cpp
PyTechnology.cpp
PyTransformation.cpp
PyOrientation.cpp
PyDbU.cpp
PyUpdateSession.cpp
PyDebugSession.cpp
PyVertical.cpp
PyQueryMask.cpp
PyQuery.cpp
)
set ( includes hurricane/isobar/ProxyProperty.h
hurricane/isobar/PyBreakpoint.h
hurricane/isobar/PyInterval.h
hurricane/isobar/PyBox.h
hurricane/isobar/PyCell.h
hurricane/isobar/PyCellCollection.h
hurricane/isobar/PyComponent.h
hurricane/isobar/PyComponentCollection.h
hurricane/isobar/PyContact.h
hurricane/isobar/PyDataBase.h
hurricane/isobar/PyEntity.h
hurricane/isobar/PyHorizontal.h
hurricane/isobar/PyHurricane.h
hurricane/isobar/PyHyperNet.h
hurricane/isobar/PyPlacementStatus.h
hurricane/isobar/PyInstance.h
hurricane/isobar/PyInstanceCollection.h
hurricane/isobar/PyMaterial.h
hurricane/isobar/PyLayerMask.h
hurricane/isobar/PyLayer.h
hurricane/isobar/PyBasicLayer.h
hurricane/isobar/PyRegularLayer.h
hurricane/isobar/PyContactLayer.h
hurricane/isobar/PyDiffusionLayer.h
hurricane/isobar/PyTransistorLayer.h
hurricane/isobar/PyLayerCollection.h
hurricane/isobar/PyBasicLayerCollection.h
hurricane/isobar/PyRegularLayerCollection.h
hurricane/isobar/PyViaLayerCollection.h
hurricane/isobar/PyViaLayer.h
hurricane/isobar/PyLibrary.h
hurricane/isobar/PyNet.h
hurricane/isobar/PyNetType.h
hurricane/isobar/PyNetDirection.h
hurricane/isobar/PyNetCollection.h
hurricane/isobar/PyNetExternalComponents.h
hurricane/isobar/PyOccurrence.h
hurricane/isobar/PyOccurrenceCollection.h
hurricane/isobar/PyHook.h
hurricane/isobar/PyHookCollection.h
hurricane/isobar/PyPad.h
hurricane/isobar/PyPath.h
hurricane/isobar/PyPin.h
hurricane/isobar/PyPinPlacementStatus.h
hurricane/isobar/PyPinDirection.h
hurricane/isobar/PyPinCollection.h
hurricane/isobar/PyPlug.h
hurricane/isobar/PyPlugCollection.h
hurricane/isobar/PyPoint.h
hurricane/isobar/PyReference.h
hurricane/isobar/PyReferenceCollection.h
hurricane/isobar/PyRoutingPad.h
hurricane/isobar/PySegment.h
hurricane/isobar/PySegmentCollection.h
hurricane/isobar/PyTechnology.h
hurricane/isobar/PyTransformation.h
hurricane/isobar/PyOrientation.h
hurricane/isobar/PyDbU.h
hurricane/isobar/PyUpdateSession.h
hurricane/isobar/PyDebugSession.h
hurricane/isobar/PyVertical.h
hurricane/isobar/PyQueryMask.h
hurricane/isobar/PyQuery.h
)
add_python_module( "${pyCpps}"
add_library ( isobar ${sources} ) "${pyIncludes}"
set_target_properties ( isobar PROPERTIES VERSION 1.0 SOVERSION 1 ) "isobar;1.0;1"
target_link_libraries ( isobar hurricane ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}) Hurricane
add_library ( Hurricane MODULE ${sources} ) "${depLibs}"
set_target_properties ( Hurricane PROPERTIES include/coriolis2/hurricane/isobar
COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1" )
PREFIX ""
)
target_link_libraries ( Hurricane isobar )
install ( TARGETS isobar DESTINATION lib${LIB_SUFFIX} )
install ( TARGETS Hurricane DESTINATION ${PYTHON_SITE_PACKAGES} )
install ( FILES ${includes} DESTINATION include/coriolis2/hurricane/isobar )

View File

@ -11,141 +11,138 @@
${PYTHON_INCLUDE_PATH} ${PYTHON_INCLUDE_PATH}
) )
set ( mocincludes hurricane/viewer/HApplication.h set( mocIncludes hurricane/viewer/HApplication.h
hurricane/viewer/PaletteItem.h hurricane/viewer/PaletteItem.h
hurricane/viewer/PaletteNamedItem.h hurricane/viewer/PaletteNamedItem.h
hurricane/viewer/PaletteLayerItem.h hurricane/viewer/PaletteLayerItem.h
hurricane/viewer/PaletteExtensionGoItem.h hurricane/viewer/PaletteExtensionGoItem.h
hurricane/viewer/PaletteWidget.h hurricane/viewer/PaletteWidget.h
hurricane/viewer/GraphicsWidget.h hurricane/viewer/GraphicsWidget.h
hurricane/viewer/ExceptionWidget.h hurricane/viewer/ExceptionWidget.h
hurricane/viewer/BreakpointWidget.h hurricane/viewer/BreakpointWidget.h
hurricane/viewer/GotoWidget.h hurricane/viewer/GotoWidget.h
hurricane/viewer/DynamicLabel.h hurricane/viewer/DynamicLabel.h
hurricane/viewer/MousePositionWidget.h hurricane/viewer/MousePositionWidget.h
hurricane/viewer/SelectCommand.h hurricane/viewer/SelectCommand.h
hurricane/viewer/CellWidget.h hurricane/viewer/CellWidget.h
hurricane/viewer/CellViewer.h hurricane/viewer/CellViewer.h
hurricane/viewer/CellPrinter.h hurricane/viewer/CellPrinter.h
hurricane/viewer/CellImage.h hurricane/viewer/CellImage.h
hurricane/viewer/RecordModel.h hurricane/viewer/RecordModel.h
hurricane/viewer/InspectorWidget.h hurricane/viewer/InspectorWidget.h
hurricane/viewer/SelectionPopupModel.h hurricane/viewer/SelectionPopupModel.h
hurricane/viewer/SelectionPopup.h hurricane/viewer/SelectionPopup.h
hurricane/viewer/SelectionModel.h hurricane/viewer/SelectionModel.h
hurricane/viewer/SelectionWidget.h hurricane/viewer/SelectionWidget.h
hurricane/viewer/NetlistModel.h hurricane/viewer/NetlistModel.h
hurricane/viewer/NetlistWidget.h hurricane/viewer/NetlistWidget.h
hurricane/viewer/DisplayFilterWidget.h hurricane/viewer/DisplayFilterWidget.h
hurricane/viewer/ControllerWidget.h hurricane/viewer/ControllerWidget.h
hurricane/viewer/ScriptWidget.h hurricane/viewer/ScriptWidget.h
) )
set ( includes hurricane/viewer/ScreenUtilities.h set( includes hurricane/viewer/ScreenUtilities.h
hurricane/viewer/DisplayStyle.h hurricane/viewer/DisplayStyle.h
hurricane/viewer/ColorScale.h hurricane/viewer/ColorScale.h
hurricane/viewer/Graphics.h hurricane/viewer/Graphics.h
hurricane/viewer/Selector.h hurricane/viewer/Selector.h
hurricane/viewer/Ruler.h hurricane/viewer/Ruler.h
hurricane/viewer/Command.h hurricane/viewer/Command.h
hurricane/viewer/AreaCommand.h hurricane/viewer/AreaCommand.h
hurricane/viewer/MoveCommand.h hurricane/viewer/MoveCommand.h
hurricane/viewer/ZoomCommand.h hurricane/viewer/ZoomCommand.h
hurricane/viewer/RulerCommand.h hurricane/viewer/RulerCommand.h
hurricane/viewer/SelectCommand.h hurricane/viewer/SelectCommand.h
hurricane/viewer/HierarchyCommand.h hurricane/viewer/HierarchyCommand.h
hurricane/viewer/SelectorCriterion.h hurricane/viewer/SelectorCriterion.h
hurricane/viewer/CellWidgets.h hurricane/viewer/CellWidgets.h
) )
set ( pyincludes hurricane/viewer/PyHSVr.h set( pyIncludes hurricane/viewer/PyHSVr.h
hurricane/viewer/PyDrawingStyle.h hurricane/viewer/PyDrawingStyle.h
hurricane/viewer/PyDrawingGroup.h hurricane/viewer/PyDrawingGroup.h
hurricane/viewer/PyDisplayStyle.h hurricane/viewer/PyDisplayStyle.h
hurricane/viewer/PyHApplication.h hurricane/viewer/PyHApplication.h
hurricane/viewer/PyGraphics.h hurricane/viewer/PyGraphics.h
hurricane/viewer/PyCellViewer.h hurricane/viewer/PyCellViewer.h
) hurricane/viewer/Script.h
set ( cpps HApplication.cpp )
ScreenUtilities.cpp set( cpps HApplication.cpp
DisplayStyle.cpp ScreenUtilities.cpp
ColorScale.cpp DisplayStyle.cpp
Graphics.cpp ColorScale.cpp
GraphicsWidget.cpp Graphics.cpp
ExceptionWidget.cpp GraphicsWidget.cpp
BreakpointWidget.cpp ExceptionWidget.cpp
GotoWidget.cpp BreakpointWidget.cpp
PaletteItem.cpp GotoWidget.cpp
PaletteNamedItem.cpp PaletteItem.cpp
PaletteLayerItem.cpp PaletteNamedItem.cpp
PaletteExtensionGoItem.cpp PaletteLayerItem.cpp
PaletteWidget.cpp PaletteExtensionGoItem.cpp
DynamicLabel.cpp PaletteWidget.cpp
MousePositionWidget.cpp DynamicLabel.cpp
Selector.cpp MousePositionWidget.cpp
Command.cpp Selector.cpp
AreaCommand.cpp Command.cpp
MoveCommand.cpp AreaCommand.cpp
ZoomCommand.cpp MoveCommand.cpp
RulerCommand.cpp ZoomCommand.cpp
SelectCommand.cpp RulerCommand.cpp
HierarchyCommand.cpp SelectCommand.cpp
SelectorCriterion.cpp HierarchyCommand.cpp
CellWidget.cpp SelectorCriterion.cpp
CellViewer.cpp CellWidget.cpp
CellPrinter.cpp CellViewer.cpp
CellImage.cpp CellPrinter.cpp
RecordModel.cpp CellImage.cpp
InspectorWidget.cpp RecordModel.cpp
SelectionPopupModel.cpp InspectorWidget.cpp
SelectionPopup.cpp SelectionPopupModel.cpp
SelectionModel.cpp SelectionPopup.cpp
SelectionWidget.cpp SelectionModel.cpp
Ruler.cpp SelectionWidget.cpp
NetInformations.cpp Ruler.cpp
NetlistModel.cpp NetInformations.cpp
NetlistWidget.cpp NetlistModel.cpp
DisplayFilterWidget.cpp NetlistWidget.cpp
ControllerWidget.cpp DisplayFilterWidget.cpp
ScriptWidget.cpp ControllerWidget.cpp
) ScriptWidget.cpp
set ( pycpps PyHSVr.cpp )
PyDrawingStyle.cpp set( pyCpps PyHSVr.cpp
PyDrawingGroup.cpp PyDrawingStyle.cpp
PyDisplayStyle.cpp PyDrawingGroup.cpp
PyHApplication.cpp PyDisplayStyle.cpp
PyGraphics.cpp PyHApplication.cpp
PyViewer.cpp PyGraphics.cpp
PyCellViewer.cpp PyViewer.cpp
) PyCellViewer.cpp
# source2 & include2 for module that are *not* Python wrappers but true Script.cpp
# Hurricane modules. )
set ( sources2 Script.cpp )
set ( includes2 hurricane/viewer/Script.h )
qtX_wrap_cpp ( MOC_SRCS ${mocincludes} ) qtX_wrap_cpp( MOC_SRCS ${mocIncludes} )
qtX_add_resources ( RCC_SRCS CellViewer.qrc ) qtX_add_resources( RCC_SRCS CellViewer.qrc )
add_library ( viewer ${cpps} ${MOC_SRCS} ${RCC_SRCS} ${sources2} ${pycpps} ) set( depLibs hurricane
set_target_properties ( viewer PROPERTIES VERSION 1.0 SOVERSION 1 ) isobar
target_link_libraries ( viewer hurricane ${UTILITIES_LIBRARY}
isobar ${CONFIGURATION_LIBRARY}
${UTILITIES_LIBRARY} ${LIBXML2_LIBRARIES}
${CONFIGURATION_LIBRARY} ${Boost_LIBRARIES}
${LIBXML2_LIBRARIES} ${QtX_LIBRARIES}
${Boost_LIBRARIES} )
${QtX_LIBRARIES}
)
add_library ( pyViewer MODULE ${pycpps} )
target_link_libraries ( pyViewer viewer )
set_target_properties ( pyViewer PROPERTIES
COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1"
OUTPUT_NAME "Viewer"
PREFIX ""
)
add_library( viewer ${cpps} ${MOC_SRCS} ${RCC_SRCS} ${pyCpps} )
set_target_properties( viewer PROPERTIES VERSION 1.0 SOVERSION 1 )
target_link_libraries( viewer ${depLibs} )
install ( FILES ${includes} add_python_module( "${pyCpps}"
${includes2} "${pyIncludes}"
${mocincludes} "Do_not_generate_C_library"
${pyincludes} DESTINATION include/coriolis2/hurricane/viewer ) Viewer
install ( TARGETS viewer DESTINATION lib${LIB_SUFFIX} ) "viewer;${depLibs}"
install ( TARGETS pyViewer DESTINATION ${PYTHON_SITE_PACKAGES} ) include/coriolis2/hurricane/viewer
)
install( FILES ${includes}
${mocIncludes} DESTINATION include/coriolis2/hurricane/viewer )
install( TARGETS viewer DESTINATION lib${LIB_SUFFIX} )

View File

@ -14,6 +14,8 @@
// +-----------------------------------------------------------------+ // +-----------------------------------------------------------------+
#if !defined(__PYTHON_MODULE__)
#include <Python.h> #include <Python.h>
#include <sstream> #include <sstream>
#include "hurricane/Error.h" #include "hurricane/Error.h"
@ -303,3 +305,5 @@ namespace Isobar {
} // End of Isobar namespace. } // End of Isobar namespace.
#endif

View File

@ -14,8 +14,10 @@
// +-----------------------------------------------------------------+ // +-----------------------------------------------------------------+
# ifndef ISOBAR_SCRIPT_H #if !defined(__PYTHON_MODULE__)
# define ISOBAR_SCRIPT_H
#ifndef ISOBAR_SCRIPT_H
#define ISOBAR_SCRIPT_H
#include <vector> #include <vector>
@ -97,7 +99,8 @@ namespace Isobar {
{ return _userModule = _importModule(_moduleName,flags); } { return _userModule = _importModule(_moduleName,flags); }
} // End of Isobar namespace. } // Isobar namespace.
#endif // ISOBAR_SCRIPT_H
# endif // ISOBAR_SCRIPT_H #endif

View File

@ -4,93 +4,90 @@ if ( CHECK_DETERMINISM )
add_definitions ( -DCHECK_DETERMINISM ) add_definitions ( -DCHECK_DETERMINISM )
endif ( CHECK_DETERMINISM ) endif ( CHECK_DETERMINISM )
# include ( ${QT_USE_FILE} ) # include( ${QT_USE_FILE} )
include_directories( ${KATABATIC_SOURCE_DIR}/src
${CORIOLIS_INCLUDE_DIR}
${HURRICANE_INCLUDE_DIR}
${CONFIGURATION_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
${QtX_INCLUDE_DIR}
${PYTHON_INCLUDE_PATH}
)
set( includes katabatic/Constants.h
katabatic/Observer.h
katabatic/Configuration.h
katabatic/ChipTools.h
katabatic/AutoContact.h
katabatic/AutoContactTerminal.h
katabatic/AutoContactTurn.h
katabatic/AutoContactHTee.h
katabatic/AutoContactVTee.h
katabatic/AutoSegment.h katabatic/AutoSegments.h
katabatic/AutoHorizontal.h
katabatic/AutoVertical.h
katabatic/Grid.h katabatic/GridCollections.h
katabatic/GridBox.h
katabatic/GCell.h katabatic/GCells.h
katabatic/GCellGrid.h
katabatic/Session.h
katabatic/KatabaticEngine.h
)
set( mocIncludes katabatic/GraphicKatabaticEngine.h )
set( cpps Configuration.cpp
Observer.cpp
ChipTools.cpp
AutoContact.cpp
AutoContactTerminal.cpp
AutoContactTurn.cpp
AutoContactHTee.cpp
AutoContactVTee.cpp
AutoSegment.cpp
AutoSegments.cpp
AutoHorizontal.cpp
AutoVertical.cpp
Grid.cpp
GCell.cpp
GCellGrid.cpp
PowerRails.cpp
Session.cpp
LayerAssign.cpp
LoadGrByNet.cpp
NetConstraints.cpp
NetOptimals.cpp
KatabaticEngine.cpp
)
set( pyCpps PyKatabatic.cpp )
qtX_wrap_cpp( mocCpps ${mocIncludes} )
include_directories ( ${KATABATIC_SOURCE_DIR}/src set( depLibs ${KNIK_LIBRARIES}
${CORIOLIS_INCLUDE_DIR} ${CORIOLIS_LIBRARIES}
${HURRICANE_INCLUDE_DIR} ${HURRICANE_PYTHON_LIBRARIES}
${CONFIGURATION_INCLUDE_DIR} ${HURRICANE_GRAPHICAL_LIBRARIES}
${Boost_INCLUDE_DIRS} ${HURRICANE_LIBRARIES}
${QtX_INCLUDE_DIR} ${CONFIGURATION_LIBRARY}
${PYTHON_INCLUDE_PATH} ${CIF_LIBRARY}
) ${AGDS_LIBRARY}
set ( includes katabatic/Constants.h ${LEFDEF_LIBRARIES}
katabatic/Observer.h ${OA_LIBRARIES}
katabatic/Configuration.h ${QtX_LIBRARIES}
katabatic/ChipTools.h ${Boost_LIBRARIES}
katabatic/AutoContact.h ${LIBXML2_LIBRARIES}
katabatic/AutoContactTerminal.h ${PYTHON_LIBRARIES} -lutil
katabatic/AutoContactTurn.h )
katabatic/AutoContactHTee.h
katabatic/AutoContactVTee.h
katabatic/AutoSegment.h katabatic/AutoSegments.h
katabatic/AutoHorizontal.h
katabatic/AutoVertical.h
katabatic/Grid.h katabatic/GridCollections.h
katabatic/GridBox.h
katabatic/GCell.h katabatic/GCells.h
katabatic/GCellGrid.h
katabatic/Session.h
katabatic/KatabaticEngine.h
#katabatic/GraphicKatabaticEngine.h
)
set ( mocIncludes katabatic/GraphicKatabaticEngine.h )
set ( cpps Configuration.cpp
Observer.cpp
ChipTools.cpp
AutoContact.cpp
AutoContactTerminal.cpp
AutoContactTurn.cpp
AutoContactHTee.cpp
AutoContactVTee.cpp
AutoSegment.cpp
AutoSegments.cpp
AutoHorizontal.cpp
AutoVertical.cpp
Grid.cpp
GCell.cpp
GCellGrid.cpp
PowerRails.cpp
Session.cpp
LayerAssign.cpp
LoadGrByNet.cpp
NetConstraints.cpp
NetOptimals.cpp
KatabaticEngine.cpp
#GraphicKatabaticEngine.cpp
)
set ( pyCpps PyKatabatic.cpp )
qtX_wrap_cpp ( mocCpps ${mocIncludes} )
add_library( katabatic ${cpps} )
set_target_properties( katabatic PROPERTIES VERSION 1.0 SOVERSION 1 )
target_link_libraries( katabatic ${depLibs} )
add_library ( katabatic ${cpps} ) add_python_module( "${pyCpps}"
set_target_properties ( katabatic PROPERTIES VERSION 1.0 SOVERSION 1 ) "${pyIncludes}"
target_link_libraries ( katabatic ${KNIK_LIBRARIES} "Do_not_generate_C_library"
${CORIOLIS_LIBRARIES} Katabatic
${HURRICANE_PYTHON_LIBRARIES} "katabatic;${depLibs}"
${HURRICANE_GRAPHICAL_LIBRARIES} include/coriolis2/katabatic
${HURRICANE_LIBRARIES} )
${CONFIGURATION_LIBRARY}
${CIF_LIBRARY}
${AGDS_LIBRARY}
${LEFDEF_LIBRARIES}
${OA_LIBRARIES}
${QtX_LIBRARIES}
${Boost_LIBRARIES}
${LIBXML2_LIBRARIES}
${PYTHON_LIBRARIES} -lutil
)
add_library ( pyKatabatic MODULE ${pyCpps} )
set_target_properties ( pyKatabatic PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1"
PREFIX ""
OUTPUT_NAME "Katabatic"
)
target_link_libraries ( pyKatabatic katabatic
${CORIOLIS_PYTHON_LIBRARIES}
)
install ( TARGETS katabatic DESTINATION lib${LIB_SUFFIX} ) install( TARGETS katabatic DESTINATION lib${LIB_SUFFIX} )
install ( TARGETS pyKatabatic DESTINATION ${PYTHON_SITE_PACKAGES} ) install( FILES ${includes}
install ( FILES ${includes} ${mocIncludes} DESTINATION include/coriolis2/katabatic )
${mocIncludes} DESTINATION include/coriolis2/katabatic )

View File

@ -1,119 +1,117 @@
# -*- explicit-buffer-name: "CMakeLists.txt<kite/src>" -*- # -*- explicit-buffer-name: "CMakeLists.txt<kite/src>" -*-
# include ( ${QT_USE_FILE} ) # include( ${QT_USE_FILE} )
include_directories( ${KITE_SOURCE_DIR}/src
${CORIOLIS_INCLUDE_DIR}
${HURRICANE_INCLUDE_DIR}
${CONFIGURATION_INCLUDE_DIR}
${WtX_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
${PYTHON_INCLUDE_PATH}
)
set( includes kite/Constants.h
kite/TrackCost.h
kite/DataNegociate.h
kite/TrackElement.h kite/TrackElements.h
kite/TrackSegment.h
kite/TrackFixedSegment.h
kite/TrackMarker.h
kite/Track.h
kite/Tracks.h
kite/HorizontalTrack.h
kite/VerticalTrack.h
kite/RoutingPlane.h
kite/Session.h
kite/Manipulator.h
kite/SegmentFsm.h
kite/RoutingEvent.h
kite/RoutingEventQueue.h
kite/RoutingEventHistory.h
kite/RoutingEventLoop.h
kite/NegociateWindow.h
kite/Configuration.h
kite/KiteEngine.h
kite/GraphicKiteEngine.h
)
set( pyIncludes kite/PyKiteEngine.h
kite/PyGraphicKiteEngine.h
)
set( mocIncludes kite/GraphicKiteEngine.h )
set( cpps TrackCost.cpp
DataNegociate.cpp
TrackElement.cpp
TrackElements.cpp
TrackSegment.cpp
TrackFixedSegment.cpp
TrackMarker.cpp
Track.cpp
Tracks.cpp
HorizontalTrack.cpp
VerticalTrack.cpp
RoutingPlane.cpp
Session.cpp
Manipulator.cpp
SegmentFsm.cpp
RoutingEvent.cpp
RoutingEventQueue.cpp
RoutingEventHistory.cpp
RoutingEventLoop.cpp
NegociateWindow.cpp
BuildPowerRails.cpp
BuildPreRouteds.cpp
ProtectRoutingPads.cpp
PreProcess.cpp
Configuration.cpp
KiteEngine.cpp
GraphicKiteEngine.cpp
)
set( pyCpps PyKite.cpp
PyKiteEngine.cpp
PyGraphicKiteEngine.cpp
)
set( kiteCpps KiteMain.cpp )
qtX_wrap_cpp( mocCpps ${mocIncludes} )
include_directories ( ${KITE_SOURCE_DIR}/src set( depLibs ${KATABATIC_LIBRARIES}
${CORIOLIS_INCLUDE_DIR} ${KNIK_LIBRARIES}
${HURRICANE_INCLUDE_DIR} ${NIMBUS_LIBRARIES}
${CONFIGURATION_INCLUDE_DIR} ${CORIOLIS_PYTHON_LIBRARIES}
${WtX_INCLUDE_DIR} ${CORIOLIS_LIBRARIES}
${Boost_INCLUDE_DIRS} ${HURRICANE_PYTHON_LIBRARIES}
${PYTHON_INCLUDE_PATH} ${HURRICANE_GRAPHICAL_LIBRARIES}
) ${HURRICANE_LIBRARIES}
set ( includes kite/Constants.h ${CONFIGURATION_LIBRARY}
kite/TrackCost.h ${BOOKSHELF_LIBRARY}
kite/DataNegociate.h ${CIF_LIBRARY}
kite/TrackElement.h kite/TrackElements.h ${AGDS_LIBRARY}
kite/TrackSegment.h ${UTILITIES_LIBRARY}
kite/TrackFixedSegment.h ${LEFDEF_LIBRARIES}
kite/TrackMarker.h ${OA_LIBRARIES}
kite/Track.h ${QtX_LIBRARIES}
kite/Tracks.h ${Boost_LIBRARIES}
kite/HorizontalTrack.h ${LIBXML2_LIBRARIES}
kite/VerticalTrack.h ${PYTHON_LIBRARIES} -lutil
kite/RoutingPlane.h ${LIBEXECINFO_LIBRARIES}
kite/Session.h )
kite/Manipulator.h
kite/SegmentFsm.h
kite/RoutingEvent.h
kite/RoutingEventQueue.h
kite/RoutingEventHistory.h
kite/RoutingEventLoop.h
kite/NegociateWindow.h
kite/Configuration.h
kite/KiteEngine.h
kite/GraphicKiteEngine.h
)
set ( pyIncludes kite/PyKiteEngine.h
kite/PyGraphicKiteEngine.h
)
set ( mocIncludes kite/GraphicKiteEngine.h )
set ( cpps TrackCost.cpp
DataNegociate.cpp
TrackElement.cpp
TrackElements.cpp
TrackSegment.cpp
TrackFixedSegment.cpp
TrackMarker.cpp
Track.cpp
Tracks.cpp
HorizontalTrack.cpp
VerticalTrack.cpp
RoutingPlane.cpp
Session.cpp
Manipulator.cpp
SegmentFsm.cpp
RoutingEvent.cpp
RoutingEventQueue.cpp
RoutingEventHistory.cpp
RoutingEventLoop.cpp
NegociateWindow.cpp
BuildPowerRails.cpp
BuildPreRouteds.cpp
ProtectRoutingPads.cpp
PreProcess.cpp
Configuration.cpp
KiteEngine.cpp
GraphicKiteEngine.cpp
)
set ( pyCpps PyKite.cpp
PyKiteEngine.cpp
PyGraphicKiteEngine.cpp
)
set ( kitecpps KiteMain.cpp )
qtX_wrap_cpp ( mocCpps ${mocIncludes} )
add_library( kite ${cpps} ${mocCpps} ${pyCpps} )
set_target_properties( kite PROPERTIES VERSION 1.0 SOVERSION 1 )
target_link_libraries( kite ${depLibs} )
add_library ( kite ${cpps} ${mocCpps} ${pyCpps} ) add_python_module( "${pyCpps}"
set_target_properties ( kite PROPERTIES VERSION 1.0 SOVERSION 1 ) "${pyIncludes}"
target_link_libraries ( kite ${KATABATIC_LIBRARIES} "Do_not_generate_C_library"
${KNIK_LIBRARIES} Kite
${NIMBUS_LIBRARIES} "kite;${depLibs}"
${CORIOLIS_LIBRARIES} include/coriolis2/kite
${HURRICANE_PYTHON_LIBRARIES} )
${HURRICANE_GRAPHICAL_LIBRARIES}
${HURRICANE_LIBRARIES}
${CONFIGURATION_LIBRARY}
${BOOKSHELF_LIBRARY}
${CIF_LIBRARY}
${AGDS_LIBRARY}
${UTILITIES_LIBRARY}
${LEFDEF_LIBRARIES}
${OA_LIBRARIES}
${QtX_LIBRARIES}
${Boost_LIBRARIES}
${LIBXML2_LIBRARIES}
${PYTHON_LIBRARIES} -lutil
${LIBEXECINFO_LIBRARIES}
)
add_library ( pyKite MODULE ${pyCpps} ) # add_executable( kite.bin ${kiteCpps} )
set_target_properties ( pyKite PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1" #target_link_libraries( kite.bin kite ${depLibs} )
PREFIX ""
OUTPUT_NAME "Kite"
)
# add_executable ( kite.bin ${kitecpps} ) install( TARGETS kite DESTINATION lib${LIB_SUFFIX} )
#target_link_libraries ( kite.bin kite ) # install( TARGETS kite.bin DESTINATION bin )
target_link_libraries ( pyKite kite install( FILES ${includes}
${CORIOLIS_PYTHON_LIBRARIES} ${mocIncludes} DESTINATION include/coriolis2/kite )
)
install ( TARGETS kite DESTINATION lib${LIB_SUFFIX} )
# install ( TARGETS kite.bin DESTINATION bin )
install ( TARGETS pyKite DESTINATION ${PYTHON_SITE_PACKAGES} )
install ( FILES ${includes}
${mocIncludes}
${pyIncludes} DESTINATION include/coriolis2/kite )

View File

@ -1,6 +1,6 @@
# -*- explicit-buffer-name: "CMakeLists.txt<knik/src>" -*-
# include ( ${QT_USE_FILE} ) # include ( ${QT_USE_FILE} )
include_directories ( ${KNIK_SOURCE_DIR}/src include_directories ( ${KNIK_SOURCE_DIR}/src
${KNIK_SOURCE_DIR}/src/flute-2.4/src ${KNIK_SOURCE_DIR}/src/flute-2.4/src
${HURRICANE_INCLUDE_DIR} ${HURRICANE_INCLUDE_DIR}

View File

@ -35,6 +35,7 @@
#find_package(SOLSTICE REQUIRED) #find_package(SOLSTICE REQUIRED)
add_subdirectory(src) add_subdirectory(src)
add_subdirectory(python)
add_subdirectory(cmake_modules) add_subdirectory(cmake_modules)
if(BUILD_DOC) if(BUILD_DOC)

View File

@ -18,7 +18,7 @@ IF(UNIX)
FIND_PATH(UNICORN_INCLUDE_PATH NAMES unicorn/UnicornGui.h PATHS FIND_PATH(UNICORN_INCLUDE_PATH NAMES unicorn/UnicornGui.h PATHS
# Look in other places. # Look in other places.
${CORIOLIS_DIR_SEARCH} ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES include/coriolis PATH_SUFFIXES include/coriolis2 include
# Help the user find it if we cannot. # Help the user find it if we cannot.
DOC "The ${UNICORN_INCLUDE_PATH_DESCRIPTION}" DOC "The ${UNICORN_INCLUDE_PATH_DESCRIPTION}"
) )

View File

@ -0,0 +1,4 @@
# -*- explicit-buffer-name: "CMakeLists.txt<unicorn/python>" -*-
install( FILES unicornInit.py DESTINATION ${PYTHON_SITE_PACKAGES}/unicorn )

View File

@ -1,98 +1,98 @@
# -*- explicit-buffer-name: "CMakeLists.txt<unicorn/src>" -*- # -*- explicit-buffer-name: "CMakeLists.txt<unicorn/src>" -*-
# include ( ${QT_USE_FILE} ) # include( ${QT_USE_FILE} )
include_directories ( ${UNICORN_SOURCE_DIR}/src include_directories( ${UNICORN_SOURCE_DIR}/src
${HURRICANE_INCLUDE_DIR} ${HURRICANE_INCLUDE_DIR}
${CORIOLIS_INCLUDE_DIR} ${CORIOLIS_INCLUDE_DIR}
${BOOKSHELF_INCLUDE_DIR} ${BOOKSHELF_INCLUDE_DIR}
${CONFIGURATION_INCLUDE_DIR} ${CONFIGURATION_INCLUDE_DIR}
${QtX_INCLUDE_DIR} ${QtX_INCLUDE_DIR}
${Boost_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}
${LEFDEF_INCLUDE_DIR} ${LEFDEF_INCLUDE_DIR}
${PYTHON_INCLUDE_PATH} ${PYTHON_INCLUDE_PATH}
) )
add_definitions ( -DSYS_CONF_DIR="${SYS_CONF_DIR}" ) add_definitions( -DSYS_CONF_DIR="${SYS_CONF_DIR}" )
set ( includes unicorn/ImportCell.h ) set( includes unicorn/ImportCell.h )
set ( mocincludes unicorn/UnicornGui.h set( mocincludes unicorn/UnicornGui.h
unicorn/OpenCellDialog.h unicorn/OpenCellDialog.h
unicorn/SaveCellDialog.h unicorn/SaveCellDialog.h
unicorn/ImportCellDialog.h unicorn/ImportCellDialog.h
unicorn/ExportCellDialog.h unicorn/ExportCellDialog.h
) )
set ( pyIncludes unicorn/PyUnicornGui.h set( pyIncludes unicorn/PyUnicornGui.h
) )
set ( cpps ImportCell.cpp set( cpps ImportCell.cpp
OpenCellDialog.cpp OpenCellDialog.cpp
SaveCellDialog.cpp SaveCellDialog.cpp
ImportCellDialog.cpp ImportCellDialog.cpp
ExportCellDialog.cpp ExportCellDialog.cpp
UnicornGui.cpp UnicornGui.cpp
) )
set ( pyCpps PyUnicorn.cpp set( pyCpps PyUnicorn.cpp
PyUnicornGui.cpp PyUnicornGui.cpp
) )
set ( cgtcpp CgtMain.cpp ) set( cgtcpp CgtMain.cpp )
qtX_wrap_cpp ( mocCpps ${mocincludes} ) qtX_wrap_cpp( mocCpps ${mocincludes} )
qtX_add_resources ( RCC_SRCS Unicorn.qrc ) qtX_add_resources( RCC_SRCS Unicorn.qrc )
add_library ( unicorn ${cpps} ${mocCpps} ${pyCpps} ) set( depLibs ${SOLSTICE_GRAPHICAL_LIBRARIES}
set_target_properties ( unicorn PROPERTIES VERSION 1.0 SOVERSION 1 ) ${SOLSTICE_LIBRARIES}
target_link_libraries ( unicorn ${SOLSTICE_GRAPHICAL_LIBRARIES} ${EQUINOX_GRAPHICAL_LIBRARIES}
${SOLSTICE_LIBRARIES} ${EQUINOX_LIBRARIES}
${EQUINOX_GRAPHICAL_LIBRARIES} ${KITE_GRAPHICAL_LIBRARIES}
${EQUINOX_LIBRARIES} ${KITE_LIBRARIES}
${KITE_GRAPHICAL_LIBRARIES} ${KATABATIC_GRAPHICAL_LIBRARIES}
${KITE_LIBRARIES} ${KATABATIC_LIBRARIES}
${KATABATIC_GRAPHICAL_LIBRARIES} ${KNIK_GRAPHICAL_LIBRARIES}
${KATABATIC_LIBRARIES} ${KNIK_LIBRARIES}
${KNIK_GRAPHICAL_LIBRARIES} ${ETESIAN_GRAPHICAL_LIBRARIES}
${KNIK_LIBRARIES} ${ETESIAN_LIBRARIES}
${ETESIAN_GRAPHICAL_LIBRARIES} ${MAUKA_GRAPHICAL_LIBRARIES}
${ETESIAN_LIBRARIES} ${MAUKA_LIBRARIES}
${MAUKA_GRAPHICAL_LIBRARIES} ${METIS_LIBRARIES}
${MAUKA_LIBRARIES} ${HMETIS_LIBRARIES}
${METIS_LIBRARIES} ${NIMBUS_GRAPHICAL_LIBRARIES}
${HMETIS_LIBRARIES} ${NIMBUS_LIBRARIES}
${NIMBUS_GRAPHICAL_LIBRARIES} ${CORIOLIS_PYTHON_LIBRARIES}
${NIMBUS_LIBRARIES} ${CORIOLIS_LIBRARIES}
${CORIOLIS_PYTHON_LIBRARIES} ${HURRICANE_PYTHON_LIBRARIES}
${CORIOLIS_LIBRARIES} ${HURRICANE_GRAPHICAL_LIBRARIES}
${HURRICANE_PYTHON_LIBRARIES} ${HURRICANE_LIBRARIES}
${HURRICANE_GRAPHICAL_LIBRARIES} ${BOOKSHELF_LIBRARY}
${HURRICANE_LIBRARIES} ${AGDS_LIBRARY}
${BOOKSHELF_LIBRARY} ${CIF_LIBRARY}
${AGDS_LIBRARY} ${UTILITIES_LIBRARY}
${CIF_LIBRARY} ${CONFIGURATION_LIBRARY}
${UTILITIES_LIBRARY} ${COLOQUINTE_LIBRARY}
${CONFIGURATION_LIBRARY} ${LEFDEF_LIBRARIES}
${COLOQUINTE_LIBRARY} ${OA_LIBRARIES}
${LEFDEF_LIBRARIES} ${QtX_LIBRARIES}
${OA_LIBRARIES} ${Boost_LIBRARIES}
${QtX_LIBRARIES} ${PYTHON_LIBRARIES}
${Boost_LIBRARIES} -lutil
${PYTHON_LIBRARIES} ${LIBXML2_LIBRARIES}
-lutil )
${LIBXML2_LIBRARIES}
)
add_library ( pyUnicorn MODULE ${pyCpps} )
target_link_libraries ( pyUnicorn unicorn )
set_target_properties ( pyUnicorn PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1"
PREFIX ""
OUTPUT_NAME "Unicorn"
)
add_executable ( cgt.bin ${cgtcpp} ) add_library( unicorn ${cpps} ${mocCpps} ${pyCpps} )
target_link_libraries ( cgt.bin unicorn ) set_target_properties( unicorn PROPERTIES VERSION 1.0 SOVERSION 1 )
target_link_libraries( unicorn ${depLibs} )
install ( TARGETS unicorn DESTINATION lib${LIB_SUFFIX} ) add_python_module( "${pyCpps}"
install ( TARGETS pyUnicorn DESTINATION ${PYTHON_SITE_PACKAGES} ) "${pyIncludes}"
install ( TARGETS cgt.bin DESTINATION bin ) "Do_not_generate_C_library"
install ( PROGRAMS cgt.py DESTINATION bin RENAME cgt ) Unicorn
install ( FILES ${includes} "unicorn;${depLibs}"
${mocincludes} include/coriolis2/unicorn
${pyIncludes} DESTINATION include/coriolis2/unicorn ) )
install ( FILES init/unicornInit.py
DESTINATION ${PYTHON_SITE_PACKAGES}/unicorn ) add_executable( cgt.bin ${cgtcpp} )
target_link_libraries( cgt.bin unicorn ${depLibs} )
install( TARGETS unicorn DESTINATION lib${LIB_SUFFIX} )
install( TARGETS cgt.bin DESTINATION bin )
install( PROGRAMS cgt.py DESTINATION bin RENAME cgt )
install( FILES ${includes}
${mocincludes} DESTINATION include/coriolis2/unicorn )