2013-12-03 18:58:58 -06:00
|
|
|
# -*- explicit-buffer-name: "CMakeLists.txt<katabatic/src>" -*-
|
2010-03-09 09:24:29 -06:00
|
|
|
|
|
|
|
if ( CHECK_DETERMINISM )
|
|
|
|
add_definitions ( -DCHECK_DETERMINISM )
|
|
|
|
endif ( CHECK_DETERMINISM )
|
|
|
|
|
Update to Qt 5, requires cmake 2.8.9. New placer: Etesian.
Update to Qt 5:
* Change: Now requires at least cmake 2.8.9.
* Change: CMakeLists.txt needs small changes. Qt modules must be found
one by one (Core, Gui, Widgets). Must add "set(CMAKE_AUTOMOC ON)"
in the top file and replace "qt4" prefix in macros by "qt5".
Added simpler macro "setup_qt()" in FindBootstrap.cmake.
* Change: No longer need to include <QGtkStyle> is is choosen by default
according to the current desktop environment.
* Change: In <hurricane>, In HApplication, launch ExceptionWidget when
a std::exception is catched instead of silently discarting it.
New placer Tool: Etesian
* New: <etesian> analytical placer. Encapsulate Coloquinte from
Gabriel Gouvine.
* New: in <documentation>, add stub demonstration ToolEngine <smurf>.
Needs to be commented.
Miscellaneous:
* New: in <boostrap> and <unicorn>, added support for Etesian, the new
analytic placer. The tool itself will be added in the next commit.
* Bug: in <CellWidget>, when shifting the display buffer, we no longer
can copy the buffer on itself (we should never have). Now go through
a temporary one (PlaneId::AutoCopy) which is added to the
DrawingPlanes. Affect "goLeft()" and "goUp()".
* Bug: In <CellWidget>, remove the WA_PaintOnScreen flag/attribute.
When it's on, no PaintEvent is transmitted to the CellWidget
when it's the central widget of the <CellViewer> (QMainWindow).
It's something I still don't understand from the doc of Qt.
* Change: In <AreaCommand>, use the PlaneId enumeration instead of a
anonymous numerical index.
* Change: In <HApplication>, no longer catch and silently discard
standartd exceptions but launch the ExceptionWidget...
Suppress the now deprecated constructor with "Type" argument.
* Change: In <SelectionModel>, the "reset()" method is deprecated in
Qt5, instead enclose the "clear()" by a "beginResetModel()" and
"endResetModel()" pair.
* New: In <crlcore>, add support for ISPD05 benchmarks (in Bookshelf
format). Forked from ISPD04 and not finished yet.
* Change: In <Mauka>, distinguish the Action string identifier from
<Etesian>
* New: In <unicorn>, add entry for ISPD05 loader. Add entry for
<Etesian> analytic placer.
2014-03-22 05:50:36 -05:00
|
|
|
# include ( ${QT_USE_FILE} )
|
2010-03-09 09:24:29 -06:00
|
|
|
|
|
|
|
include_directories ( ${KATABATIC_SOURCE_DIR}/src
|
|
|
|
${CORIOLIS_INCLUDE_DIR}
|
2010-06-18 09:03:16 -05:00
|
|
|
${HURRICANE_INCLUDE_DIR}
|
|
|
|
${CONFIGURATION_INCLUDE_DIR}
|
2010-07-21 07:51:50 -05:00
|
|
|
${Boost_INCLUDE_DIRS}
|
Update to Qt 5, requires cmake 2.8.9. New placer: Etesian.
Update to Qt 5:
* Change: Now requires at least cmake 2.8.9.
* Change: CMakeLists.txt needs small changes. Qt modules must be found
one by one (Core, Gui, Widgets). Must add "set(CMAKE_AUTOMOC ON)"
in the top file and replace "qt4" prefix in macros by "qt5".
Added simpler macro "setup_qt()" in FindBootstrap.cmake.
* Change: No longer need to include <QGtkStyle> is is choosen by default
according to the current desktop environment.
* Change: In <hurricane>, In HApplication, launch ExceptionWidget when
a std::exception is catched instead of silently discarting it.
New placer Tool: Etesian
* New: <etesian> analytical placer. Encapsulate Coloquinte from
Gabriel Gouvine.
* New: in <documentation>, add stub demonstration ToolEngine <smurf>.
Needs to be commented.
Miscellaneous:
* New: in <boostrap> and <unicorn>, added support for Etesian, the new
analytic placer. The tool itself will be added in the next commit.
* Bug: in <CellWidget>, when shifting the display buffer, we no longer
can copy the buffer on itself (we should never have). Now go through
a temporary one (PlaneId::AutoCopy) which is added to the
DrawingPlanes. Affect "goLeft()" and "goUp()".
* Bug: In <CellWidget>, remove the WA_PaintOnScreen flag/attribute.
When it's on, no PaintEvent is transmitted to the CellWidget
when it's the central widget of the <CellViewer> (QMainWindow).
It's something I still don't understand from the doc of Qt.
* Change: In <AreaCommand>, use the PlaneId enumeration instead of a
anonymous numerical index.
* Change: In <HApplication>, no longer catch and silently discard
standartd exceptions but launch the ExceptionWidget...
Suppress the now deprecated constructor with "Type" argument.
* Change: In <SelectionModel>, the "reset()" method is deprecated in
Qt5, instead enclose the "clear()" by a "beginResetModel()" and
"endResetModel()" pair.
* New: In <crlcore>, add support for ISPD05 benchmarks (in Bookshelf
format). Forked from ISPD04 and not finished yet.
* Change: In <Mauka>, distinguish the Action string identifier from
<Etesian>
* New: In <unicorn>, add entry for ISPD05 loader. Add entry for
<Etesian> analytic placer.
2014-03-22 05:50:36 -05:00
|
|
|
${QtX_INCLUDE_DIR}
|
2012-11-16 06:53:33 -06:00
|
|
|
${PYTHON_INCLUDE_PATH}
|
2010-03-09 09:24:29 -06:00
|
|
|
)
|
2013-12-03 18:58:58 -06:00
|
|
|
set ( includes katabatic/Constants.h
|
|
|
|
katabatic/Observer.h
|
|
|
|
katabatic/Configuration.h
|
* ./katabatic:
- New: ChipTools, regroup all datas and utilities to manage a full-chip
design.
- Change: In LoadGrByNet/GCellConfiguration::_GCell_xG_1Pad(), uses straight
perpandicular wires on top & right pads. The GCells under those connectors
are fully saturated, wires must go out as straight as possible.
- Change: In AutoHorizontal/AutoVertical, update the "terminal" flag after
slackening. This is to avoid global that are no longer connected to
terminals behave as such.
- Change: In AutoSegment::canMoveUp() & canPivotUp(), prevent all local segments
to go up. This is to avoid cluttering upper levels with small segments.
- Change: In GCellConfiguration, for xG_xL3, detect straight vertical topologies
and for them to be fixed (new flag FIXED_GLOBAL set by the topological
builder instead of the constructor). This prevent the router to do
stupid things...
To sets the "Fixed" flag *after* the axis of global segments have been
positionned correctly adds a "_toFixGlobals" static table lookup.
- Change: In GCell::stepDesaturate(), if less than one free track remains in
the upper layer, do not move up the segment. This allows from a minimum
free room for expansion.
- Change: In GCell::_getString(), display indexes and layer names in various
saturation tables.
- Change: In AutoSegment, allow move up of local Segment. ::moveUp() and
::canMoveUp() arguments go from booleans to flags, which are more
explicits.
2010-12-04 09:25:18 -06:00
|
|
|
katabatic/ChipTools.h
|
2013-12-03 18:58:58 -06:00
|
|
|
katabatic/AutoContact.h
|
|
|
|
katabatic/AutoContactTerminal.h
|
|
|
|
katabatic/AutoContactTurn.h
|
|
|
|
katabatic/AutoContactHTee.h
|
|
|
|
katabatic/AutoContactVTee.h
|
|
|
|
katabatic/AutoSegment.h katabatic/AutoSegments.h
|
2010-03-09 09:24:29 -06:00
|
|
|
katabatic/AutoHorizontal.h
|
|
|
|
katabatic/AutoVertical.h
|
2013-12-03 18:58:58 -06:00
|
|
|
katabatic/Grid.h katabatic/GridCollections.h
|
2010-03-09 09:24:29 -06:00
|
|
|
katabatic/GridBox.h
|
2013-12-03 18:58:58 -06:00
|
|
|
katabatic/GCell.h katabatic/GCells.h
|
2010-03-09 09:24:29 -06:00
|
|
|
katabatic/GCellGrid.h
|
|
|
|
katabatic/Session.h
|
|
|
|
katabatic/KatabaticEngine.h
|
2013-12-03 18:58:58 -06:00
|
|
|
#katabatic/GraphicKatabaticEngine.h
|
2010-03-09 09:24:29 -06:00
|
|
|
)
|
Update to Qt 5, requires cmake 2.8.9. New placer: Etesian.
Update to Qt 5:
* Change: Now requires at least cmake 2.8.9.
* Change: CMakeLists.txt needs small changes. Qt modules must be found
one by one (Core, Gui, Widgets). Must add "set(CMAKE_AUTOMOC ON)"
in the top file and replace "qt4" prefix in macros by "qt5".
Added simpler macro "setup_qt()" in FindBootstrap.cmake.
* Change: No longer need to include <QGtkStyle> is is choosen by default
according to the current desktop environment.
* Change: In <hurricane>, In HApplication, launch ExceptionWidget when
a std::exception is catched instead of silently discarting it.
New placer Tool: Etesian
* New: <etesian> analytical placer. Encapsulate Coloquinte from
Gabriel Gouvine.
* New: in <documentation>, add stub demonstration ToolEngine <smurf>.
Needs to be commented.
Miscellaneous:
* New: in <boostrap> and <unicorn>, added support for Etesian, the new
analytic placer. The tool itself will be added in the next commit.
* Bug: in <CellWidget>, when shifting the display buffer, we no longer
can copy the buffer on itself (we should never have). Now go through
a temporary one (PlaneId::AutoCopy) which is added to the
DrawingPlanes. Affect "goLeft()" and "goUp()".
* Bug: In <CellWidget>, remove the WA_PaintOnScreen flag/attribute.
When it's on, no PaintEvent is transmitted to the CellWidget
when it's the central widget of the <CellViewer> (QMainWindow).
It's something I still don't understand from the doc of Qt.
* Change: In <AreaCommand>, use the PlaneId enumeration instead of a
anonymous numerical index.
* Change: In <HApplication>, no longer catch and silently discard
standartd exceptions but launch the ExceptionWidget...
Suppress the now deprecated constructor with "Type" argument.
* Change: In <SelectionModel>, the "reset()" method is deprecated in
Qt5, instead enclose the "clear()" by a "beginResetModel()" and
"endResetModel()" pair.
* New: In <crlcore>, add support for ISPD05 benchmarks (in Bookshelf
format). Forked from ISPD04 and not finished yet.
* Change: In <Mauka>, distinguish the Action string identifier from
<Etesian>
* New: In <unicorn>, add entry for ISPD05 loader. Add entry for
<Etesian> analytic placer.
2014-03-22 05:50:36 -05:00
|
|
|
set ( mocIncludes katabatic/GraphicKatabaticEngine.h )
|
2010-03-09 09:24:29 -06:00
|
|
|
set ( cpps Configuration.cpp
|
2013-12-03 18:58:58 -06:00
|
|
|
Observer.cpp
|
* ./katabatic:
- New: ChipTools, regroup all datas and utilities to manage a full-chip
design.
- Change: In LoadGrByNet/GCellConfiguration::_GCell_xG_1Pad(), uses straight
perpandicular wires on top & right pads. The GCells under those connectors
are fully saturated, wires must go out as straight as possible.
- Change: In AutoHorizontal/AutoVertical, update the "terminal" flag after
slackening. This is to avoid global that are no longer connected to
terminals behave as such.
- Change: In AutoSegment::canMoveUp() & canPivotUp(), prevent all local segments
to go up. This is to avoid cluttering upper levels with small segments.
- Change: In GCellConfiguration, for xG_xL3, detect straight vertical topologies
and for them to be fixed (new flag FIXED_GLOBAL set by the topological
builder instead of the constructor). This prevent the router to do
stupid things...
To sets the "Fixed" flag *after* the axis of global segments have been
positionned correctly adds a "_toFixGlobals" static table lookup.
- Change: In GCell::stepDesaturate(), if less than one free track remains in
the upper layer, do not move up the segment. This allows from a minimum
free room for expansion.
- Change: In GCell::_getString(), display indexes and layer names in various
saturation tables.
- Change: In AutoSegment, allow move up of local Segment. ::moveUp() and
::canMoveUp() arguments go from booleans to flags, which are more
explicits.
2010-12-04 09:25:18 -06:00
|
|
|
ChipTools.cpp
|
2010-03-09 09:24:29 -06:00
|
|
|
AutoContact.cpp
|
2013-12-03 18:58:58 -06:00
|
|
|
AutoContactTerminal.cpp
|
|
|
|
AutoContactTurn.cpp
|
|
|
|
AutoContactHTee.cpp
|
|
|
|
AutoContactVTee.cpp
|
2010-03-09 09:24:29 -06:00
|
|
|
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
|
2013-12-03 18:58:58 -06:00
|
|
|
#GraphicKatabaticEngine.cpp
|
2010-03-09 09:24:29 -06:00
|
|
|
)
|
2012-11-16 06:53:33 -06:00
|
|
|
set ( pyCpps PyKatabatic.cpp )
|
2014-07-22 04:06:26 -05:00
|
|
|
qtX_wrap_cpp ( mocCpps ${mocIncludes} )
|
2010-03-09 09:24:29 -06:00
|
|
|
|
|
|
|
|
2013-12-03 18:58:58 -06:00
|
|
|
add_library ( katabatic ${cpps} )
|
|
|
|
set_target_properties ( katabatic PROPERTIES VERSION 1.0 SOVERSION 1 )
|
|
|
|
target_link_libraries ( katabatic ${KNIK_LIBRARIES}
|
Update to Qt 5, requires cmake 2.8.9. New placer: Etesian.
Update to Qt 5:
* Change: Now requires at least cmake 2.8.9.
* Change: CMakeLists.txt needs small changes. Qt modules must be found
one by one (Core, Gui, Widgets). Must add "set(CMAKE_AUTOMOC ON)"
in the top file and replace "qt4" prefix in macros by "qt5".
Added simpler macro "setup_qt()" in FindBootstrap.cmake.
* Change: No longer need to include <QGtkStyle> is is choosen by default
according to the current desktop environment.
* Change: In <hurricane>, In HApplication, launch ExceptionWidget when
a std::exception is catched instead of silently discarting it.
New placer Tool: Etesian
* New: <etesian> analytical placer. Encapsulate Coloquinte from
Gabriel Gouvine.
* New: in <documentation>, add stub demonstration ToolEngine <smurf>.
Needs to be commented.
Miscellaneous:
* New: in <boostrap> and <unicorn>, added support for Etesian, the new
analytic placer. The tool itself will be added in the next commit.
* Bug: in <CellWidget>, when shifting the display buffer, we no longer
can copy the buffer on itself (we should never have). Now go through
a temporary one (PlaneId::AutoCopy) which is added to the
DrawingPlanes. Affect "goLeft()" and "goUp()".
* Bug: In <CellWidget>, remove the WA_PaintOnScreen flag/attribute.
When it's on, no PaintEvent is transmitted to the CellWidget
when it's the central widget of the <CellViewer> (QMainWindow).
It's something I still don't understand from the doc of Qt.
* Change: In <AreaCommand>, use the PlaneId enumeration instead of a
anonymous numerical index.
* Change: In <HApplication>, no longer catch and silently discard
standartd exceptions but launch the ExceptionWidget...
Suppress the now deprecated constructor with "Type" argument.
* Change: In <SelectionModel>, the "reset()" method is deprecated in
Qt5, instead enclose the "clear()" by a "beginResetModel()" and
"endResetModel()" pair.
* New: In <crlcore>, add support for ISPD05 benchmarks (in Bookshelf
format). Forked from ISPD04 and not finished yet.
* Change: In <Mauka>, distinguish the Action string identifier from
<Etesian>
* New: In <unicorn>, add entry for ISPD05 loader. Add entry for
<Etesian> analytic placer.
2014-03-22 05:50:36 -05:00
|
|
|
${CORIOLIS_LIBRARIES}
|
|
|
|
${HURRICANE_PYTHON_LIBRARIES}
|
|
|
|
${HURRICANE_GRAPHICAL_LIBRARIES}
|
|
|
|
${HURRICANE_LIBRARIES}
|
|
|
|
${CONFIGURATION_LIBRARY}
|
|
|
|
${CIF_LIBRARY}
|
|
|
|
${AGDS_LIBRARY}
|
|
|
|
${LEFDEF_LIBRARIES}
|
|
|
|
${OA_LIBRARIES}
|
|
|
|
${QtX_LIBRARIES}
|
|
|
|
${Boost_LIBRARIES}
|
|
|
|
${LIBXML2_LIBRARIES}
|
|
|
|
${PYTHON_LIBRARIES} -lutil
|
2012-11-16 06:53:33 -06:00
|
|
|
)
|
|
|
|
add_library ( pyKatabatic MODULE ${pyCpps} )
|
|
|
|
set_target_properties ( pyKatabatic PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1"
|
|
|
|
PREFIX ""
|
|
|
|
OUTPUT_NAME "Katabatic"
|
|
|
|
)
|
2013-12-03 18:58:58 -06:00
|
|
|
target_link_libraries ( pyKatabatic katabatic
|
2012-11-16 06:53:33 -06:00
|
|
|
${CORIOLIS_PYTHON_LIBRARIES}
|
2010-07-12 10:11:56 -05:00
|
|
|
)
|
|
|
|
|
2012-11-16 06:53:33 -06:00
|
|
|
install ( TARGETS katabatic DESTINATION lib${LIB_SUFFIX} )
|
|
|
|
install ( TARGETS pyKatabatic DESTINATION ${PYTHON_SITE_PACKAGES} )
|
2010-03-09 09:24:29 -06:00
|
|
|
install ( FILES ${includes}
|
2012-11-16 06:53:33 -06:00
|
|
|
${mocIncludes} DESTINATION include/coriolis2/katabatic )
|
2010-03-09 09:24:29 -06:00
|
|
|
|