FindCABLE.cmake 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # - Find CABLE
  2. # This module finds if CABLE is installed and determines where the
  3. # include files and libraries are. This code sets the following variables:
  4. #
  5. # CABLE the path to the cable executable
  6. # CABLE_TCL_LIBRARY the path to the Tcl wrapper library
  7. # CABLE_INCLUDE_DIR the path to the include directory
  8. #
  9. # To build Tcl wrappers, you should add shared library and link it to
  10. # ${CABLE_TCL_LIBRARY}. You should also add ${CABLE_INCLUDE_DIR} as
  11. # an include directory.
  12. IF(NOT CABLE)
  13. FIND_PATH(CABLE_BUILD_DIR cableVersion.h)
  14. ENDIF(NOT CABLE)
  15. IF(CABLE_BUILD_DIR)
  16. LOAD_CACHE(${CABLE_BUILD_DIR}
  17. EXCLUDE
  18. BUILD_SHARED_LIBS
  19. LIBRARY_OUTPUT_PATH
  20. EXECUTABLE_OUTPUT_PATH
  21. MAKECOMMAND
  22. CMAKE_INSTALL_PREFIX
  23. INCLUDE_INTERNALS
  24. CABLE_LIBRARY_PATH
  25. CABLE_EXECUTABLE_PATH)
  26. IF(CABLE_LIBRARY_PATH)
  27. FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
  28. ${CABLE_LIBRARY_PATH}
  29. ${CABLE_LIBRARY_PATH}/*)
  30. ELSE(CABLE_LIBRARY_PATH)
  31. FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
  32. ${CABLE_BINARY_DIR}/CableTclFacility
  33. ${CABLE_BINARY_DIR}/CableTclFacility/*)
  34. ENDIF(CABLE_LIBRARY_PATH)
  35. IF(CABLE_EXECUTABLE_PATH)
  36. FIND_PROGRAM(CABLE NAMES cable PATHS
  37. ${CABLE_EXECUTABLE_PATH}
  38. ${CABLE_EXECUTABLE_PATH}/*)
  39. ELSE(CABLE_EXECUTABLE_PATH)
  40. FIND_PROGRAM(CABLE NAMES cable PATHS
  41. ${CABLE_BINARY_DIR}/Executables
  42. ${CABLE_BINARY_DIR}/Executables/*)
  43. ENDIF(CABLE_EXECUTABLE_PATH)
  44. FIND_PATH(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
  45. ${CABLE_SOURCE_DIR})
  46. ELSE(CABLE_BUILD_DIR)
  47. # Find the cable executable in the path.
  48. FIND_PROGRAM(CABLE NAMES cable)
  49. # Get the path where the executable sits, but without the executable
  50. # name on it.
  51. GET_FILENAME_COMPONENT(CABLE_ROOT_BIN ${CABLE} PATH)
  52. # Find the cable include directory in a path relative to the cable
  53. # executable.
  54. FIND_PATH(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
  55. ${CABLE_ROOT_BIN}/../include/Cable)
  56. # Find the WrapTclFacility library in a path relative to the cable
  57. # executable.
  58. FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
  59. ${CABLE_ROOT_BIN}/../lib/Cable)
  60. ENDIF(CABLE_BUILD_DIR)