# - Find CABLE # This module finds if CABLE is installed and determines where the # include files and libraries are. This code sets the following variables: # # CABLE the path to the cable executable # CABLE_TCL_LIBRARY the path to the Tcl wrapper library # CABLE_INCLUDE_DIR the path to the include directory # # To build Tcl wrappers, you should add shared library and link it to # ${CABLE_TCL_LIBRARY}. You should also add ${CABLE_INCLUDE_DIR} as # an include directory. #============================================================================= # Copyright 2001-2009 Kitware, Inc. # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. # # This software is distributed WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #============================================================================= # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) IF(NOT CABLE) FIND_PATH(CABLE_BUILD_DIR cableVersion.h) ENDIF(NOT CABLE) IF(CABLE_BUILD_DIR) LOAD_CACHE(${CABLE_BUILD_DIR} EXCLUDE BUILD_SHARED_LIBS LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH MAKECOMMAND CMAKE_INSTALL_PREFIX INCLUDE_INTERNALS CABLE_LIBRARY_PATH CABLE_EXECUTABLE_PATH) IF(CABLE_LIBRARY_PATH) FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS ${CABLE_LIBRARY_PATH} ${CABLE_LIBRARY_PATH}/*) ELSE(CABLE_LIBRARY_PATH) FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS ${CABLE_BINARY_DIR}/CableTclFacility ${CABLE_BINARY_DIR}/CableTclFacility/*) ENDIF(CABLE_LIBRARY_PATH) IF(CABLE_EXECUTABLE_PATH) FIND_PROGRAM(CABLE NAMES cable PATHS ${CABLE_EXECUTABLE_PATH} ${CABLE_EXECUTABLE_PATH}/*) ELSE(CABLE_EXECUTABLE_PATH) FIND_PROGRAM(CABLE NAMES cable PATHS ${CABLE_BINARY_DIR}/Executables ${CABLE_BINARY_DIR}/Executables/*) ENDIF(CABLE_EXECUTABLE_PATH) FIND_PATH(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h ${CABLE_SOURCE_DIR}) ELSE(CABLE_BUILD_DIR) # Find the cable executable in the path. FIND_PROGRAM(CABLE NAMES cable) # Get the path where the executable sits, but without the executable # name on it. GET_FILENAME_COMPONENT(CABLE_ROOT_BIN ${CABLE} PATH) # Find the cable include directory in a path relative to the cable # executable. FIND_PATH(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h ${CABLE_ROOT_BIN}/../include/Cable) # Find the WrapTclFacility library in a path relative to the cable # executable. FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS ${CABLE_ROOT_BIN}/../lib/Cable) ENDIF(CABLE_BUILD_DIR)