Revision: 41504
http://brlcad.svn.sourceforge.net/brlcad/?rev=41504&view=rev
Author: starseeker
Date: 2010-12-05 06:15:18 +0000 (Sun, 05 Dec 2010)
Log Message:
-----------
(Untested) Make a stab at using the non-config based searching in the
FindTCL.cmake routine ONLY when we don't want the headers and are presumably
looking ONLY for a working Tcl/Tk installation.
Modified Paths:
--------------
brlcad/branches/cmake/misc/CMake/FindTCL.cmake
Modified: brlcad/branches/cmake/misc/CMake/FindTCL.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/FindTCL.cmake 2010-12-04 05:54:04 UTC
(rev 41503)
+++ brlcad/branches/cmake/misc/CMake/FindTCL.cmake 2010-12-05 06:15:18 UTC
(rev 41504)
@@ -468,12 +468,12 @@
IF(NOT TCL_INCLUDE_PATH AND TCL_NEED_HEADERS)
SET(${validvar} 0)
ENDIF(NOT TCL_INCLUDE_PATH AND TCL_NEED_HEADERS)
- IF(NOT TCL_LIBRARY)
+ IF(NOT TCL_LIBRARY AND TCL_NEED_HEADERS)
SET(${validvar} 0)
- ENDIF(NOT TCL_LIBRARY)
- IF(NOT TCL_STUB_LIBRARY AND TCL_NEED_STUB_LIBS)
+ ENDIF(NOT TCL_LIBRARY AND TCL_NEED_HEADERS)
+ IF(NOT TCL_STUB_LIBRARY AND TCL_NEED_STUB_LIBS AND TCL_NEED_HEADERS)
SET(${validvar} 0)
- ENDIF(NOT TCL_STUB_LIBRARY AND TCL_NEED_STUB_LIBS)
+ ENDIF(NOT TCL_STUB_LIBRARY AND TCL_NEED_STUB_LIBS AND TCL_NEED_HEADERS)
IF(NOT TCL_TCLSH)
SET(${validvar} 0)
ENDIF(NOT TCL_TCLSH)
@@ -481,18 +481,18 @@
MACRO(VALIDATE_TK_VARIABLES validvar)
- IF(NOT TCL_INCLUDE_PATH AND TCL_NEED_HEADERS)
+ IF(NOT TK_INCLUDE_PATH AND TCL_NEED_HEADERS)
SET(${validvar} 0)
ENDIF(NOT TCL_INCLUDE_PATH AND TCL_NEED_HEADERS)
- IF(NOT TCL_LIBRARY)
+ IF(NOT TK_LIBRARY AND TCL_NEED_HEADERS)
SET(${validvar} 0)
- ENDIF(NOT TCL_LIBRARY)
- IF(NOT TCL_STUB_LIBRARY AND TCL_NEED_STUB_LIBS)
+ ENDIF(NOT TK_LIBRARY)
+ IF(NOT TK_STUB_LIBRARY AND TCL_NEED_STUB_LIBS AND TCL_NEED_HEADERS)
SET(${validvar} 0)
- ENDIF(NOT TCL_STUB_LIBRARY AND TCL_NEED_STUB_LIBS)
- IF(NOT TCL_TCLSH)
+ ENDIF(NOT TK_STUB_LIBRARY AND TCL_NEED_STUB_LIBS AND TCL_NEED_HEADERS)
+ IF(NOT TK_WISH)
SET(${validvar} 0)
- ENDIF(NOT TCL_TCLSH)
+ ENDIF(NOT TK_WISH)
ENDMACRO(VALIDATE_TK_VARIABLES)
@@ -680,7 +680,12 @@
# and libraries.
#
# 6. If config files are NOT found, fall back on an ordered path search,
-# with higher versions being preferred over lower.
+# with higher versions being preferred over lower. This is done only
+# to locate a runnable Tcl/Tk and will not set variables related to
+# config files or include paths. It is a last resort intended to
+# allow systems that provide a stripped down Tcl/Tk to return useful
+# results when the only functionality needed by the CMake project
+# is to run tclsh/wish.
#
#-----------------------------------------------------------------------------
@@ -812,9 +817,12 @@
ENDFOREACH(tcl_config_file ${TCLCONFIG_LIST})
# If we still don't have anything by now, we may have a system without
tclConfig.sh and tkConfig.sh
-# Back to trying to guess values, using the TCLPATHLIST and TKPATHLIST arrays
of paths. Since we
-# are no longer using config files, have to hunt for headers manually too.
-IF(NOT TCLVALID)
+# Back to trying to guess values, using the TCLPATHLIST and TKPATHLIST arrays
of paths. This is
+# attempted ONLY if we are looking for a Tcl/Tk installation to call as a
scripting engine and not
+# as C libraries to build against - the autotools/TEA based Tcl/Tk world
requires those files be
+# present and any ExternalProject build attempting to use a Tcl/Tk
installation without them would
+# not succeed.
+IF(NOT TCLVALID AND NOT TCL_NEED_HEADERS)
SET(PATHLIST "${TCLPATHLIST};${TKPATHLIST}")
LIST(REMOVE_DUPLICATES PATHLIST)
FOREACH(MAJORNUM ${TCL_POSSIBLE_MAJOR_VERSIONS})
@@ -827,21 +835,14 @@
IF(dosearch)
FIND_LIBRARY_PATHS(TCL_LIBRARY_SEARCH_PATHS SPATH ${MAJORNUM} ${MINORNUM})
FIND_PROGRAM_PATHS(TCL_PROGRAM_SEARCH_PATHS SPATH ${MAJORNUM} ${MINORNUM})
-
FIND_INCLUDE_PATHS(TCL_INCLUDE_SEARCH_PATHS SPATH ${MAJORNUM} ${MINORNUM})
- FIND_LIBRARY(TCL_LIBRARY NAMES
tcl${MAJORNUM}.${MINORNUM} tcl${MAJORNUM}${MINORNUM} PATHS
${TCL_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH)
- FIND_LIBRARY(TCL_STUB_LIBRARY
tclstub${MAJORNUM}.${MINORNUM} tclstub${MAJORNUM}${MINORNUM} PATHS
${TCL_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH)
FIND_PROGRAM(TCL_TCLSH NAMES
tclsh${MAJORNUM}.${MINORNUM} tclsh${MAJORNUM}${MINORNUM} PATHS
${TCL_PROGRAM_SEARCH_PATHS} NO_SYSTEM_PATH)
- FIND_PATH(TCL_INCLUDE_PATH
NAMES tcl.h tcl${MAJORNUM}.${MINORNUM} tcl${MAJORNUM}${MINORNUM} PATHS
${TCL_INCLUDE_SEARCH_PATHS} NO_SYSTEM_PATH)
ENDIF(dosearch)
VALIDATE_TCL(TCLVALID)
IF(TCLVALID)
IF(TCL_REQUIRE_TK)
SET(TKVALID 0)
RESET_TK_VARS()
- FIND_LIBRARY(TK_LIBRARY
NAMES tk${MAJORNUM}.${MINORNUM} tk${MAJORNUM}${MINORNUM} PATHS
${TCL_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH)
-
FIND_LIBRARY(TK_STUB_LIBRARY tkstub${MAJORNUM}.${MINORNUM}
tkstub${MAJORNUM}${MINORNUM} PATHS ${TCL_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH)
FIND_PROGRAM(TK_WISH
NAMES wish${MAJORNUM}.${MINORNUM} wish${MAJORNUM}${MINORNUM} PATHS
${TCL_PROGRAM_SEARCH_PATHS} NO_SYSTEM_PATH)
-
FIND_PATH(TK_INCLUDE_PATH NAMES tk.h tk${MAJORNUM}.${MINORNUM}
tk${MAJORNUM}${MINORNUM} PATHS ${TCL_INCLUDE_SEARCH_PATHS} NO_SYSTEM_PATH)
VALIDATE_TK(TKVALID)
IF(NOT TKVALID)
SET(TCLVALID 0)
@@ -856,27 +857,29 @@
ENDFOREACH(SPATH ${PATHLIST})
ENDFOREACH()
ENDFOREACH()
-ENDIF(NOT TCLVALID)
+ENDIF(NOT TCLVALID AND NOT TCL_NEED_HEADERS)
# Set TCL_FOUND to TRUE if all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
SET(PACKAGE_HANDLE_VARS "TCL_TCLSH")
-IF(TCL_REQUIRE_TK)
- SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TK_LIBRARY TK_WISH")
-ENDIF(TCL_REQUIRE_TK)
IF(TCL_NEED_HEADERS)
- SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TCL_INCLUDE_PATH
TCL_CONF_PREFIX")
+ SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS}
TCL_INCLUDE_PATH TCL_CONF_PREFIX")
+ IF(TCL_NEED_STUB_LIBS)
+ SET(PACKAGE_HANDLE_VARS
"${PACKAGE_HANDLE_VARS} TCL_STUB_LIBRARY")
+ ENDIF(TCL_NEED_STUB_LIBS)
+
+ IF(TCL_REQUIRE_TK)
+ SET(PACKAGE_HANDLE_VARS
"${PACKAGE_HANDLE_VARS} TK_INCLUDE_PATH TK_CONF_PREFIX TK_LIBRARY TK_WISH")
+ IF(TCL_NEED_STUB_LIBS)
+
SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TK_STUB_LIBRARY")
+ ENDIF(TCL_NEED_STUB_LIBS)
+ ENDIF(TCL_REQUIRE_TK)
+ELSE(TCL_NEED_HEADERS)
+ IF(TCL_REQUIRE_TK)
+ SET(PACKAGE_HANDLE_VARS
"${PACKAGE_HANDLE_VARS} TK_WISH")
+ ENDIF(TCL_REQUIRE_TK)
ENDIF(TCL_NEED_HEADERS)
-IF(TCL_NEED_HEADERS AND TCL_REQUIRE_TK)
- SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TK_INCLUDE_PATH
TK_CONF_PREFIX")
-ENDIF(TCL_NEED_HEADERS AND TCL_REQUIRE_TK)
-IF(TCL_NEED_STUB_LIBS)
- SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TCL_STUB_LIBRARY")
-ENDIF(TCL_NEED_STUB_LIBS)
-IF(TCL_NEED_STUB_LIBS AND TCL_REQUIRE_TK)
- SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TK_STUB_LIBRARY")
-ENDIF(TCL_NEED_STUB_LIBS AND TCL_REQUIRE_TK)
STRING(REGEX REPLACE " " ";" PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS}")
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL DEFAULT_MSG TCL_LIBRARY
${PACKAGE_HANDLE_VARS})
# Hmm - looks like not all the values are being set in the cache.
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits