2018-11-07 16:48:43 -06:00
|
|
|
# -*- explicit-buffer-name: "CMakeLists.txt<unittests/src>" -*-
|
|
|
|
|
|
|
|
include_directories ( ${CORIOLIS_INCLUDE_DIR}
|
|
|
|
${HURRICANE_INCLUDE_DIR}
|
|
|
|
${UTILITIES_INCLUDE_DIR}
|
2021-11-21 17:05:48 -06:00
|
|
|
${QtX_INCLUDE_DIRS}
|
2018-11-07 16:48:43 -06:00
|
|
|
${Boost_INCLUDE_DIR}
|
|
|
|
)
|
|
|
|
|
|
|
|
set ( mocincludes
|
|
|
|
)
|
|
|
|
set ( cpps unittests.cpp
|
|
|
|
)
|
|
|
|
|
|
|
|
qtX_wrap_cpp ( mocCpps ${mocincludes} )
|
|
|
|
|
|
|
|
if(NOT WITH_QT5)
|
|
|
|
list ( APPEND cpps ${mocCpps} )
|
|
|
|
endif()
|
|
|
|
|
|
|
|
add_executable ( unittests ${cpps} )
|
|
|
|
target_link_libraries ( unittests ${CORIOLIS_PYTHON_LIBRARIES}
|
|
|
|
${CORIOLIS_LIBRARIES}
|
|
|
|
${HURRICANE_GRAPHICAL_LIBRARIES}
|
2021-11-21 17:05:48 -06:00
|
|
|
${HURRICANE_PYTHON_LIBRARIES}
|
2018-11-07 16:48:43 -06:00
|
|
|
${HURRICANE_LIBRARIES}
|
|
|
|
${BOOKSHELF_LIBRARY}
|
|
|
|
${AGDS_LIBRARY}
|
|
|
|
${CIF_LIBRARY}
|
|
|
|
${CONFIGURATION_LIBRARY}
|
|
|
|
${UTILITIES_LIBRARY}
|
|
|
|
${LEFDEF_LIBRARIES}
|
|
|
|
${OA_LIBRARIES}
|
|
|
|
${QtX_LIBRARIES}
|
|
|
|
${Boost_LIBRARIES}
|
Migration towards Python3, first stage: still based on C-Macros.
* New: Python/C++ API level:
* Write a new C++/template wrapper to get rid of boost::python
* The int & long Python type are now merged. So a C/C++ level,
it became "PyLong_X" (remove "PyInt_X") and at Python code
level, it became "int" (remove "long").
* Change: VLSISAPD finally defunct.
* Configuration is now integrated as a Hurricane component,
makes use of the new C++/template wrapper.
* vlsisapd is now defunct. Keep it in the source for now as
some remaining non essential code may have to be ported in
the future.
* Note: Python code (copy of the migration howto):
* New print function syntax print().
* Changed "dict.has_key(k)" for "k" in dict.
* Changed "except Exception, e" for "except Exception as e".
* The division "/" is now the floating point division, even if
both operand are integers. So 3/2 now gives 1.5 and no longer 1.
The integer division is now "//" : 1 = 3//2. So have to carefully
review the code to update. Most of the time we want to use "//".
We must never change to float for long that, in fact, represents
DbU (exposed as Python int type).
* execfile() must be replaced by exec(open("file").read()).
* iter().__next__() becomes iter(x).__next__().
* __getslice__() has been removed, integrated to __getitem__().
* The formating used for str(type(o)) has changed, so In Stratus,
have to update them ("<class 'MyClass'>" instead of "MyClass").
* the "types" module no longer supply values for default types
like str (types.StringType) or list (types.StringType).
Must use "isinstance()" where they were occuring.
* Remove the 'L' to indicate "long integer" (like "12L"), now
all Python integer are long.
* Change in bootstrap:
* Ported Coriolis builder (ccb) to Python3.
* Ported Coriolis socInstaller.py to Python3.
* Note: In PyQt4+Python3, QVariant no longer exists. Use None or
directly convert using the python syntax: bool(x), int(x), ...
By default, it is a string (str).
* Note: PyQt4 bindings & Python3 under SL7.
* In order to compile user's must upgrade to my own rebuild of
PyQt 4 & 5 bindings 4.19.21-1.el7.soc.
* Bug: In cumulus/plugins.block.htree.HTree.splitNet(), set the root
buffer of the H-Tree to the original signal (mainly: top clock).
Strangely, it was only done when working in full chip mode.
2021-09-19 12:41:24 -05:00
|
|
|
${Python_LIBRARIES}
|
2018-11-07 16:48:43 -06:00
|
|
|
-lutil
|
2021-11-21 17:05:48 -06:00
|
|
|
${BZIP2_LIBRARIES}
|
2018-11-07 16:48:43 -06:00
|
|
|
${LIBXML2_LIBRARIES}
|
|
|
|
${LIBEXECINFO_LIBRARIES}
|
|
|
|
${LIBBFD_LIBRARIES}
|
|
|
|
)
|
|
|
|
install ( TARGETS unittests DESTINATION bin )
|
|
|
|
|