79 lines
3.0 KiB
CMake
79 lines
3.0 KiB
CMake
# - Try to find the IO libraries
|
|
# Once done this will define
|
|
#
|
|
# IO_FOUND - system has the IO library
|
|
# IO_INCLUDE_DIR - the IO include directory
|
|
# IO_LIBRARIES - The libraries needed to use IO
|
|
|
|
SET(IO_FOUND FALSE)
|
|
|
|
# Setup the DIR_SEARCH_PATH.
|
|
MACRO(SETUP_SEARCH_DIR project)
|
|
IF( NOT("$ENV{${project}_TOP}" STREQUAL "") )
|
|
MESSAGE("-- ${project}_TOP is set to $ENV{${project}_TOP}")
|
|
LIST(INSERT ${project}_DIR_SEARCH 0 "$ENV{${project}_TOP}")
|
|
ENDIF( NOT("$ENV{${project}_TOP}" STREQUAL "") )
|
|
|
|
IF( NOT("$ENV{${project}_USER_TOP}" STREQUAL "") )
|
|
MESSAGE("-- ${project}_USER_TOP is set to $ENV{${project}_USER_TOP}")
|
|
LIST(INSERT ${project}_DIR_SEARCH 0 "$ENV{${project}_USER_TOP}")
|
|
ENDIF( NOT("$ENV{${project}_USER_TOP}" STREQUAL "") )
|
|
|
|
LIST(REMOVE_DUPLICATES ${project}_DIR_SEARCH)
|
|
ENDMACRO(SETUP_SEARCH_DIR project)
|
|
|
|
MACRO(SET_FOUND project)
|
|
IF(${project}_INCLUDE_DIR AND ${project}_LIBRARY)
|
|
SET(${project}_FOUND TRUE)
|
|
ELSE(${project}_INCLUDE_DIR AND ${project}_LIBRARY)
|
|
SET(${project}_FOUND FALSE)
|
|
ENDIF(${project}_INCLUDE_DIR AND ${project}_LIBRARY)
|
|
ENDMACRO(SET_FOUND project)
|
|
|
|
SETUP_SEARCH_DIR(IO)
|
|
|
|
IF(IO_DIR_SEARCH)
|
|
# AGDS
|
|
FIND_PATH (AGDS_INCLUDE_DIR NAMES agds/GdsLibrary.h PATHS ${IO_DIR_SEARCH} PATH_SUFFIXES include/io include)
|
|
FIND_LIBRARY(AGDS_LIBRARY NAMES agds PATHS ${IO_DIR_SEARCH} PATH_SUFFIXES lib)
|
|
SET_FOUND(AGDS)
|
|
|
|
# CIF
|
|
FIND_PATH (CIF_INCLUDE_DIR NAMES cif/CifCircuit.h PATHS ${IO_DIR_SEARCH} PATH_SUFFIXES include/io include)
|
|
FIND_LIBRARY(CIF_LIBRARY NAMES cif PATHS ${IO_DIR_SEARCH} PATH_SUFFIXES lib)
|
|
SET_FOUND(CIF)
|
|
|
|
# OPENCHAMS
|
|
FIND_PATH (OPENCHAMS_INCLUDE_DIR NAMES openChams/Circuit.h PATHS ${IO_DIR_SEARCH} PATH_SUFFIXES include/io include)
|
|
FIND_LIBRARY(OPENCHAMS_LIBRARY NAMES openChams PATHS ${IO_DIR_SEARCH} PATH_SUFFIXES lib)
|
|
SET_FOUND(OPENCHAMS)
|
|
|
|
# DTR
|
|
FIND_PATH (DTR_INCLUDE_DIR NAMES dtr/Techno.h PATHS ${IO_DIR_SEARCH} PATH_SUFFIXES include/io include)
|
|
FIND_LIBRARY(DTR_LIBRARY NAMES dtr PATHS ${IO_DIR_SEARCH} PATH_SUFFIXES lib)
|
|
SET_FOUND(DTR)
|
|
|
|
IF(AGDS_FOUND AND CIF_FOUND AND OPENCHAMS_FOUND AND DTR_FOUND)
|
|
SET(IO_FOUND TRUE)
|
|
ELSE(AGDS_FOUND AND CIF_FOUND AND OPENCHAMS_FOUND AND DTR_FOUND)
|
|
SET(IO_FOUND FALSE)
|
|
ENDIF(AGDS_FOUND AND CIF_FOUND AND OPENCHAMS_FOUND AND DTR_FOUND)
|
|
ELSE(IO_DIR_SEARCH)
|
|
MESSAGE("-- Cannot find IO_LIBRARIES since IO_DIR_SEARCH is not defined.")
|
|
ENDIF(IO_DIR_SEARCH)
|
|
|
|
IF (NOT IO_FOUND)
|
|
SET(IO_MESSAGE
|
|
"IO libraries were not found. Make sure IO_TOP env variable is set.")
|
|
IF (NOT IO_FIND_QUIETLY)
|
|
MESSAGE(STATUS "${IO_MESSAGE}")
|
|
ELSE(NOT IO_FIND_QUIETLY)
|
|
IF(IO_FIND_REQUIRED)
|
|
MESSAGE(FATAL_ERROR "${IO_MESSAGE}")
|
|
ENDIF(IO_FIND_REQUIRED)
|
|
ENDIF(NOT IO_FIND_QUIETLY)
|
|
ELSE (NOT IO_FOUND)
|
|
MESSAGE(STATUS "IO library was found in ${IO_DIR_SEARCH}")
|
|
ENDIF (NOT IO_FOUND)
|
|
|