|
|
@@ -11,28 +11,61 @@
|
|
|
# an include directory.
|
|
|
#
|
|
|
|
|
|
-# Use some tricks to find the cable executable relative to somewhere
|
|
|
-# in the system search path. CMake will collapse the relative paths
|
|
|
-# automatically.
|
|
|
-FIND_PROGRAM(CABLE
|
|
|
- NAMES cable
|
|
|
- ../share/Cable/bin/cable
|
|
|
- ../Cable/bin/cable
|
|
|
- PATHS /usr/share/Cable/bin
|
|
|
- /usr/local/share/Cable/bin
|
|
|
- "C:/Program Files/Cable/bin"
|
|
|
-)
|
|
|
+IF(NOT CABLE)
|
|
|
+ FIND_PATH(CABLE_BUILD_DIR cable.README.txt)
|
|
|
+ENDIF(NOT CABLE)
|
|
|
|
|
|
-# Get the path where the executable sits, but without the executable
|
|
|
-# name on it.
|
|
|
-GET_FILENAME_COMPONENT(CABLE_ROOT_BIN ${CABLE} PATH)
|
|
|
+IF(CABLE_BUILD_DIR)
|
|
|
+ LOAD_CACHE(${CABLE_BUILD_DIR}
|
|
|
+ EXCLUDE
|
|
|
+ BUILD_SHARED_LIBS
|
|
|
+ LIBRARY_OUTPUT_PATH
|
|
|
+ EXECUTABLE_OUTPUT_PATH
|
|
|
+ MAKECOMMAND
|
|
|
+ INCLUDE_INTERNALS
|
|
|
+ CABLE_LIBRARY_OUTPUT_PATH
|
|
|
+ CABLE_EXECUTABLE_OUTPUT_PATH)
|
|
|
+
|
|
|
+ IF(CABLE_LIBRARY_OUTPUT_PATH)
|
|
|
+ FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES WrapTclFacility PATHS
|
|
|
+ ${CABLE_LIBRARY_OUTPUT_PATH})
|
|
|
+ ELSE(CABLE_LIBRARY_OUTPUT_PATH)
|
|
|
+ FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES WrapTclFacility PATHS
|
|
|
+ ${CABLE_BINARY_DIR}/WrapTclFacility)
|
|
|
+ ENDIF(CABLE_LIBRARY_OUTPUT_PATH)
|
|
|
+
|
|
|
+ IF(CABLE_EXECUTABLE_OUTPUT_PATH)
|
|
|
+ FIND_PROGRAM(CABLE NAMES cable PATHS ${CABLE_EXECUTABLE_OUTPUT_PATH})
|
|
|
+ ELSE(CABLE_EXECUTABLE_OUTPUT_PATH)
|
|
|
+ FIND_PROGRAM(CABLE NAMES cable PATHS ${CABLE_BINARY_DIR}/Executables)
|
|
|
+ ENDIF(CABLE_EXECUTABLE_OUTPUT_PATH)
|
|
|
+
|
|
|
+ SET(CABLE_INCLUDE_DIR ${CABLE_SOURCE_DIR}
|
|
|
+ CACHE STRING "Include path for Cable headers.")
|
|
|
+ELSE(CABLE_BUILD_DIR)
|
|
|
+ # Use some tricks to find the cable executable relative to somewhere
|
|
|
+ # in the system search path. CMake will collapse the relative paths
|
|
|
+ # automatically.
|
|
|
+ FIND_PROGRAM(CABLE
|
|
|
+ NAMES cable
|
|
|
+ ../share/Cable/bin/cable
|
|
|
+ ../Cable/bin/cable
|
|
|
+ PATHS /usr/share/Cable/bin
|
|
|
+ /usr/local/share/Cable/bin
|
|
|
+ "C:/Program Files/Cable/bin"
|
|
|
+ )
|
|
|
|
|
|
-# Find the cable include directory in a path relative to the cable
|
|
|
-# executable.
|
|
|
-FIND_PATH(CABLE_INCLUDE_DIR WrapTclFacility/wrapCalls.h
|
|
|
- ${CABLE_ROOT_BIN}/../include)
|
|
|
-
|
|
|
-# Find the WrapTclFacility library in a path relative to the cable
|
|
|
-# executable.
|
|
|
-FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES WrapTclFacility PATHS
|
|
|
- ${CABLE_ROOT_BIN}/../lib)
|
|
|
+ # 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 WrapTclFacility/wrapCalls.h
|
|
|
+ ${CABLE_ROOT_BIN}/../include)
|
|
|
+
|
|
|
+ # Find the WrapTclFacility library in a path relative to the cable
|
|
|
+ # executable.
|
|
|
+ FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES WrapTclFacility PATHS
|
|
|
+ ${CABLE_ROOT_BIN}/../lib)
|
|
|
+ENDIF(CABLE_BUILD_DIR)
|