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
|
|
|
# -*- explicit-buffer-name: "CMakeLists.txt<unicorn/src>" -*-
|
2010-03-09 09:26:22 -06:00
|
|
|
|
2015-03-22 13:12:45 -05:00
|
|
|
# include( ${QT_USE_FILE} )
|
|
|
|
include_directories( ${UNICORN_SOURCE_DIR}/src
|
|
|
|
${HURRICANE_INCLUDE_DIR}
|
|
|
|
${CORIOLIS_INCLUDE_DIR}
|
|
|
|
${BOOKSHELF_INCLUDE_DIR}
|
|
|
|
${CONFIGURATION_INCLUDE_DIR}
|
|
|
|
${QtX_INCLUDE_DIR}
|
|
|
|
${Boost_INCLUDE_DIRS}
|
|
|
|
${LEFDEF_INCLUDE_DIR}
|
|
|
|
${PYTHON_INCLUDE_PATH}
|
|
|
|
)
|
|
|
|
add_definitions( -DSYS_CONF_DIR="${SYS_CONF_DIR}" )
|
2010-03-09 09:26:22 -06:00
|
|
|
|
2015-03-22 13:12:45 -05:00
|
|
|
set( includes unicorn/ImportCell.h )
|
|
|
|
set( mocincludes unicorn/UnicornGui.h
|
|
|
|
unicorn/OpenCellDialog.h
|
|
|
|
unicorn/SaveCellDialog.h
|
|
|
|
unicorn/ImportCellDialog.h
|
|
|
|
unicorn/ExportCellDialog.h
|
|
|
|
)
|
|
|
|
set( pyIncludes unicorn/PyUnicornGui.h
|
|
|
|
)
|
|
|
|
set( cpps ImportCell.cpp
|
|
|
|
OpenCellDialog.cpp
|
|
|
|
SaveCellDialog.cpp
|
|
|
|
ImportCellDialog.cpp
|
|
|
|
ExportCellDialog.cpp
|
|
|
|
UnicornGui.cpp
|
|
|
|
)
|
|
|
|
set( pyCpps PyUnicorn.cpp
|
|
|
|
PyUnicornGui.cpp
|
|
|
|
)
|
|
|
|
set( cgtcpp CgtMain.cpp )
|
2010-03-09 09:26:22 -06:00
|
|
|
|
2015-03-22 13:12:45 -05:00
|
|
|
qtX_wrap_cpp( mocCpps ${mocincludes} )
|
|
|
|
qtX_add_resources( RCC_SRCS Unicorn.qrc )
|
2010-03-09 09:26:22 -06:00
|
|
|
|
2015-03-22 13:12:45 -05:00
|
|
|
set( depLibs ${SOLSTICE_GRAPHICAL_LIBRARIES}
|
|
|
|
${SOLSTICE_LIBRARIES}
|
|
|
|
${EQUINOX_GRAPHICAL_LIBRARIES}
|
|
|
|
${EQUINOX_LIBRARIES}
|
|
|
|
${KITE_GRAPHICAL_LIBRARIES}
|
|
|
|
${KITE_LIBRARIES}
|
|
|
|
${KATABATIC_GRAPHICAL_LIBRARIES}
|
|
|
|
${KATABATIC_LIBRARIES}
|
|
|
|
${KNIK_GRAPHICAL_LIBRARIES}
|
|
|
|
${KNIK_LIBRARIES}
|
|
|
|
${ETESIAN_GRAPHICAL_LIBRARIES}
|
|
|
|
${ETESIAN_LIBRARIES}
|
|
|
|
${CORIOLIS_PYTHON_LIBRARIES}
|
|
|
|
${CORIOLIS_LIBRARIES}
|
|
|
|
${HURRICANE_PYTHON_LIBRARIES}
|
|
|
|
${HURRICANE_GRAPHICAL_LIBRARIES}
|
|
|
|
${HURRICANE_LIBRARIES}
|
|
|
|
${BOOKSHELF_LIBRARY}
|
|
|
|
${AGDS_LIBRARY}
|
|
|
|
${CIF_LIBRARY}
|
|
|
|
${UTILITIES_LIBRARY}
|
|
|
|
${CONFIGURATION_LIBRARY}
|
2015-06-10 11:38:10 -05:00
|
|
|
${COLOQUINTE_LIBRARIES}
|
2015-03-22 13:12:45 -05:00
|
|
|
${LEFDEF_LIBRARIES}
|
|
|
|
${OA_LIBRARIES}
|
|
|
|
${QtX_LIBRARIES}
|
|
|
|
${Boost_LIBRARIES}
|
|
|
|
${PYTHON_LIBRARIES}
|
|
|
|
-lutil
|
|
|
|
${LIBXML2_LIBRARIES}
|
|
|
|
)
|
2012-11-16 06:54:58 -06:00
|
|
|
|
2015-03-22 13:12:45 -05:00
|
|
|
add_library( unicorn ${cpps} ${mocCpps} ${pyCpps} )
|
|
|
|
set_target_properties( unicorn PROPERTIES VERSION 1.0 SOVERSION 1 )
|
|
|
|
target_link_libraries( unicorn ${depLibs} )
|
2012-11-16 06:54:58 -06:00
|
|
|
|
2015-03-22 13:12:45 -05:00
|
|
|
add_python_module( "${pyCpps}"
|
|
|
|
"${pyIncludes}"
|
|
|
|
"Do_not_generate_C_library"
|
|
|
|
Unicorn
|
|
|
|
"unicorn;${depLibs}"
|
|
|
|
include/coriolis2/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 )
|
New coriolis launcher. Configuration files cleanup.
* Change: In CRL Core, simplify the loading sequence. The technology,
both symbolic and real is now loaded directly from coriolisInit.py
and not through the Alliance loader. This was a leftover from the
time configuration was in XML. Remove others traces of XML loading.
Remove SYMB_TECHNO_NAME, REAL_TECHNO_NAME & DISPLAY from the Alliance
environement, as they was no longer used.
Note that technology *still* need to be loader *after* Alliance
framework has been initialized.
Gauge information is moved from <alliance.conf> to <kite.conf>.
* Bug: In Coloquinte, in optimization_subproblems.cxx static variables
must not be inlined. Generate a problem when linking in debug mode
(seems the symbol gets optimised out).
* Bug: In Katabatic, in Grid::getGCell(), when the coordinate is *outside*
the area, do not try to find a GCell, directly return NULL.
* New: In Unicorn, create a generic command launcher named "coriolis" which
automatically take cares of all environement setup, then run a command
by default, it's <cgt>, but it can be anything. For example: <zsh>.
2015-04-13 11:54:09 -05:00
|
|
|
install( PROGRAMS coriolis.py DESTINATION bin RENAME coriolis )
|
2015-03-22 13:12:45 -05:00
|
|
|
install( FILES ${includes}
|
|
|
|
${mocincludes} DESTINATION include/coriolis2/unicorn )
|
2010-03-09 09:26:22 -06:00
|
|
|
|