coriolis/hurricane/cmake_modules/FindHURRICANE.cmake

95 lines
3.3 KiB
CMake
Raw Normal View History

2008-02-05 12:34:32 -06:00
# - Find the Hurricane includes and libraries.
# The following variables are set if Hurricane is found. If HURRICANE is not
2008-02-05 14:22:01 -06:00
# found, HURRICANE_FOUND is set to false.
2008-02-05 12:34:32 -06:00
# HURRICANE_FOUND - True when the Hurricane include directory is found.
2008-02-05 14:22:01 -06:00
# HURRICANE_INCLUDE_DIR - the path to where the Hurricane include files are.
# HURRICANE_LIBRARIES - The path to where the Hurricane library files are.
2008-02-05 12:34:32 -06:00
SET(HURRICANE_INCLUDE_PATH_DESCRIPTION "The directory containing the Hurricane include files. E.g /usr/local/include or /asim/coriolis/include")
SET(HURRICANE_LIBRARY_PATH_DESCRIPTION "The directory containing the Hurricane library files. E.g /usr/local/lib or /asim/coriolis/lib")
SET(HURRICANE_DIR_MESSAGE "Set the HURRICANE_INCLUDE_DIR cmake cache entry to the ${HURRICANE_INCLUDE_PATH_DESCRIPTION}")
2008-02-05 12:34:32 -06:00
# don't even bother under WIN32
IF(UNIX)
SETUP_SEARCH_DIR(CORIOLIS)
2010-04-28 16:54:54 -05:00
2008-02-05 12:34:32 -06:00
#
# Look for an installation.
#
FIND_PATH(HURRICANE_INCLUDE_PATH NAMES hurricane/Cell.h PATHS
2008-02-05 12:34:32 -06:00
# Look in other places.
${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES include/coriolis2 include
2008-02-05 12:34:32 -06:00
# Help the user find it if we cannot.
DOC "${HURRICANE_INCLUDE_PATH_DESCRIPTION}"
2008-02-05 12:34:32 -06:00
)
FIND_LIBRARY(HURRICANE_LIBRARY_PATH
NAMES hurricane
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES lib64 lib
2008-02-05 12:34:32 -06:00
# Help the user find it if we cannot.
DOC "${HURRICANE_LIBRARY_PATH_DESCRIPTION}"
)
Analog integration part II. Analog place & route (slicing tree). * Change: In Hurricane::CellWidget, set the minimal size to 350 pixels to fit my normal DPI secondary screen... * Change: In Hurricane::Error(), reactivate the backtrace generation by default. Seriously slow down the program each time an Error is to be constructed. * Bug: In Analog::Device::preCreate(), check for NULL Technology before attempting to use it. * Change: In Hurricane/Analog, remove all '*Arguments*' classes and their Python interface. It was an obsoleted way of passing devices parameters to the Python layout generators (located in Oroshi). Now we just get them straight from the Device with the getParamter() method. * Change: In CRL::System CTOR, add Python pathes for Oroshi & Karakaze. * Change: In Oroshi/Python/WIP_*.py layout generator scripts, remove all uses of the "Arguments". Directly access the parameters through the device itself. Make the checkCoherency() with identical arguments as of layout(). * New: Bora tool that performs analog place & route. Based on a slicing tree representation. It is the thesis work of Eric Lao. Code beautyfication and some programming cleanup. * New: Karakaze tool, provide the Python base class AnalogDesign used to build an analog design. Create/configure devices and assemble them in a slicing tree. * Change: In Unicorn/cgt.py, display the stack trace in case of an ImportError exception as well as for other exceptions. Add Bora to the set for included tool engines.
2018-10-18 11:10:01 -05:00
FIND_PATH(HURRICANE_ANALOG_INCLUDE_PATH
NAMES hurricane/analog/Device.h
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES include/coriolis2 include
# Help the user find it if we cannot.
DOC "${HURRICANE_LIBRARY_PATH_DESCRIPTION}"
)
FIND_LIBRARY(HURRICANE_ANALOG_LIBRARY_PATH
NAMES analog
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES lib64 lib
Analog integration part II. Analog place & route (slicing tree). * Change: In Hurricane::CellWidget, set the minimal size to 350 pixels to fit my normal DPI secondary screen... * Change: In Hurricane::Error(), reactivate the backtrace generation by default. Seriously slow down the program each time an Error is to be constructed. * Bug: In Analog::Device::preCreate(), check for NULL Technology before attempting to use it. * Change: In Hurricane/Analog, remove all '*Arguments*' classes and their Python interface. It was an obsoleted way of passing devices parameters to the Python layout generators (located in Oroshi). Now we just get them straight from the Device with the getParamter() method. * Change: In CRL::System CTOR, add Python pathes for Oroshi & Karakaze. * Change: In Oroshi/Python/WIP_*.py layout generator scripts, remove all uses of the "Arguments". Directly access the parameters through the device itself. Make the checkCoherency() with identical arguments as of layout(). * New: Bora tool that performs analog place & route. Based on a slicing tree representation. It is the thesis work of Eric Lao. Code beautyfication and some programming cleanup. * New: Karakaze tool, provide the Python base class AnalogDesign used to build an analog design. Create/configure devices and assemble them in a slicing tree. * Change: In Unicorn/cgt.py, display the stack trace in case of an ImportError exception as well as for other exceptions. Add Bora to the set for included tool engines.
2018-10-18 11:10:01 -05:00
# Help the user find it if we cannot.
DOC "${HURRICANE_LIBRARY_PATH_DESCRIPTION}"
)
FIND_PATH(HURRICANE_PYTHON_INCLUDE_PATH
NAMES hurricane/isobar/PyCell.h
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES include/coriolis2 include
# Help the user find it if we cannot.
DOC "${HURRICANE_LIBRARY_PATH_DESCRIPTION}"
)
FIND_LIBRARY(HURRICANE_PYTHON_LIBRARY_PATH
NAMES isobar
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES lib64 lib
# Help the user find it if we cannot.
DOC "${HURRICANE_LIBRARY_PATH_DESCRIPTION}"
)
FIND_PATH(HURRICANE_VIEWER_INCLUDE_PATH
NAMES hurricane/viewer/CellWidget.h
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES include/coriolis2 include
# Help the user find it if we cannot.
DOC "${HURRICANE_LIBRARY_PATH_DESCRIPTION}"
)
FIND_LIBRARY(HURRICANE_VIEWER_LIBRARY_PATH
NAMES viewer
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES lib64 lib
# Help the user find it if we cannot.
DOC "${HURRICANE_LIBRARY_PATH_DESCRIPTION}"
)
SET_LIBRARIES_PATH(HURRICANE HURRICANE)
Analog integration part II. Analog place & route (slicing tree). * Change: In Hurricane::CellWidget, set the minimal size to 350 pixels to fit my normal DPI secondary screen... * Change: In Hurricane::Error(), reactivate the backtrace generation by default. Seriously slow down the program each time an Error is to be constructed. * Bug: In Analog::Device::preCreate(), check for NULL Technology before attempting to use it. * Change: In Hurricane/Analog, remove all '*Arguments*' classes and their Python interface. It was an obsoleted way of passing devices parameters to the Python layout generators (located in Oroshi). Now we just get them straight from the Device with the getParamter() method. * Change: In CRL::System CTOR, add Python pathes for Oroshi & Karakaze. * Change: In Oroshi/Python/WIP_*.py layout generator scripts, remove all uses of the "Arguments". Directly access the parameters through the device itself. Make the checkCoherency() with identical arguments as of layout(). * New: Bora tool that performs analog place & route. Based on a slicing tree representation. It is the thesis work of Eric Lao. Code beautyfication and some programming cleanup. * New: Karakaze tool, provide the Python base class AnalogDesign used to build an analog design. Create/configure devices and assemble them in a slicing tree. * Change: In Unicorn/cgt.py, display the stack trace in case of an ImportError exception as well as for other exceptions. Add Bora to the set for included tool engines.
2018-10-18 11:10:01 -05:00
SET_LIBRARIES_PATH(HURRICANE_ANALOG HURRICANE_ANALOG)
SET_LIBRARIES_PATH(HURRICANE_PYTHON HURRICANE_PYTHON)
SET_LIBRARIES_PATH(HURRICANE_GRAPHICAL HURRICANE_VIEWER)
HURRICANE_CHECK_LIBRARIES(HURRICANE )
HURRICANE_CHECK_LIBRARIES(HURRICANE_PYTHON ${HURRICANE_FIND_REQUIRED})
Analog integration part II. Analog place & route (slicing tree). * Change: In Hurricane::CellWidget, set the minimal size to 350 pixels to fit my normal DPI secondary screen... * Change: In Hurricane::Error(), reactivate the backtrace generation by default. Seriously slow down the program each time an Error is to be constructed. * Bug: In Analog::Device::preCreate(), check for NULL Technology before attempting to use it. * Change: In Hurricane/Analog, remove all '*Arguments*' classes and their Python interface. It was an obsoleted way of passing devices parameters to the Python layout generators (located in Oroshi). Now we just get them straight from the Device with the getParamter() method. * Change: In CRL::System CTOR, add Python pathes for Oroshi & Karakaze. * Change: In Oroshi/Python/WIP_*.py layout generator scripts, remove all uses of the "Arguments". Directly access the parameters through the device itself. Make the checkCoherency() with identical arguments as of layout(). * New: Bora tool that performs analog place & route. Based on a slicing tree representation. It is the thesis work of Eric Lao. Code beautyfication and some programming cleanup. * New: Karakaze tool, provide the Python base class AnalogDesign used to build an analog design. Create/configure devices and assemble them in a slicing tree. * Change: In Unicorn/cgt.py, display the stack trace in case of an ImportError exception as well as for other exceptions. Add Bora to the set for included tool engines.
2018-10-18 11:10:01 -05:00
HURRICANE_CHECK_LIBRARIES(HURRICANE_ANALOG ${HURRICANE_FIND_REQUIRED})
HURRICANE_CHECK_LIBRARIES(HURRICANE_GRAPHICAL ${HURRICANE_FIND_REQUIRED})
2008-02-05 12:34:32 -06:00
ENDIF(UNIX)