Revision: 77742
          http://sourceforge.net/p/brlcad/code/77742
Author:   starseeker
Date:     2020-11-18 04:32:18 +0000 (Wed, 18 Nov 2020)
Log Message:
-----------
Don't search for Tk unless we're actually going to use it - we don't want to 
populate the variables and possibly link/include things we shouldn't

Modified Paths:
--------------
    brlcad/branches/extbuild/misc/CMake/FindTCL.cmake
    brlcad/branches/extbuild/src/other/ext/CMake/FindTCL.cmake
    brlcad/branches/extbuild/src/other/ext/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/itcl3/CMake/FindTCL.cmake
    brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindTCL.cmake

Modified: brlcad/branches/extbuild/misc/CMake/FindTCL.cmake
===================================================================
--- brlcad/branches/extbuild/misc/CMake/FindTCL.cmake   2020-11-17 23:07:05 UTC 
(rev 77741)
+++ brlcad/branches/extbuild/misc/CMake/FindTCL.cmake   2020-11-18 04:32:18 UTC 
(rev 77742)
@@ -12,12 +12,19 @@
 ::
 
 TCL_FOUND              = Tcl was found
-TK_FOUND               = Tk was found
-TCLTK_FOUND            = Tcl and Tk were found
 TCLSH_FOUND            = TRUE if tclsh has been found
 TCL_LIBRARY            = path to Tcl library (tcl tcl80)
 TCL_INCLUDE_PATH       = path to where tcl.h can be found
 TCL_TCLSH              = path to tclsh binary (tcl tcl80)
+
+
+
+If TCL_ENABLE_TK is set, the following are also set:
+
+::
+
+TK_FOUND               = Tk was found
+TCLTK_FOUND            = Tcl and Tk were found
 TK_LIBRARY             = path to Tk library (tk tk80 etc)
 TK_INCLUDE_PATH        = path to where tk.h can be found
 TK_WISH                = full path to the wish executable
@@ -105,27 +112,29 @@
   find_program(TCL_TCLSH NAMES ${TCL_TCLSH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
 endif (NOT TCL_TCLSH)
 
-set(TK_WISH_NAMES
-  wish
-  wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
-  wish86 wish8.6
-  wish85 wish8.5
-  wish84 wish8.4
-  wish83 wish8.3
-  wish82 wish8.2
-  wish80 wish8.0
-  )
+if (TCL_ENABLE_TK)
+  set(TK_WISH_NAMES
+    wish
+    wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} 
wish${TCL_TCLSH_VERSION}
+    wish86 wish8.6
+    wish85 wish8.5
+    wish84 wish8.4
+    wish83 wish8.3
+    wish82 wish8.2
+    wish80 wish8.0
+    )
 
-if(CYGWIN)
-  set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
-endif()
+  if(CYGWIN)
+    set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
+  endif()
 
-foreach(search ${_TCL_SEARCHES})
-  find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
-endforeach()
-if (NOT TK_WISH)
-  find_program(TK_WISH NAMES ${TK_WISH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
-endif (NOT TK_WISH)
+  foreach(search ${_TCL_SEARCHES})
+    find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
+  endforeach()
+  if (NOT TK_WISH)
+    find_program(TK_WISH       NAMES ${TK_WISH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
+  endif (NOT TK_WISH)
+endif (TCL_ENABLE_TK)
 
 if(TCLSH_VERSION_STRING)
   set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
@@ -138,24 +147,35 @@
 
 set(TCLTK_POSSIBLE_LIB_PATHS
   "${TCL_INCLUDE_PATH_PARENT}/lib"
-  "${TK_INCLUDE_PATH_PARENT}/lib"
   "${TCL_LIBRARY_PATH}"
-  "${TK_LIBRARY_PATH}"
   "${TCL_TCLSH_PATH_PARENT}/lib"
-  "${TK_WISH_PATH_PARENT}/lib"
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_LIB_PATHS
+    ${TCLTK_POSSIBLE_LIB_PATHS}
+    "${TK_INCLUDE_PATH_PARENT}/lib"
+    "${TK_LIBRARY_PATH}"
+    "${TK_WISH_PATH_PARENT}/lib"
+    )
+endif (TCL_ENABLE_TK)
+
 set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
   lib
   lib/tcl
   lib/tcl/tcl8.7
-  lib/tcl/tk8.7
   lib/tcl/tcl8.6
-  lib/tcl/tk8.6
   lib/tcl/tcl8.5
-  lib/tcl/tk8.5
   lib/tcl/tcl8.4
-  lib/tcl/tk8.4
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
+    ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+    lib/tcl/tk8.7
+    lib/tcl/tk8.6
+    lib/tcl/tk8.5
+    lib/tcl/tk8.4
+    )
+endif (TCL_ENABLE_TK)
 
 set(TCL_POSSIBLE_LIB_NAMES
   tcl
@@ -212,90 +232,94 @@
     )
 endif()
 
-set(TK_POSSIBLE_LIB_NAMES
-  tk
-  tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
-  tk87 tk8.7 tk87t tk8.7t
-  tk86 tk8.6 tk86t tk8.6t
-  tk85 tk8.5
-  tk84 tk8.4
-  tk83 tk8.3
-  tk82 tk8.2
-  tk80 tk8.0
-  )
+if (TCL_ENABLE_TK)
+  set(TK_POSSIBLE_LIB_NAMES
+    tk
+    tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
+    tk87 tk8.7 tk87t tk8.7t
+    tk86 tk8.6 tk86t tk8.6t
+    tk85 tk8.5
+    tk84 tk8.4
+    tk83 tk8.3
+    tk82 tk8.2
+    tk80 tk8.0
+    )
 
-if(NOT TK_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TK_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TK_LIBRARY
+       NAMES ${TK_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TK_LIBRARY)
     find_library(TK_LIBRARY
       NAMES ${TK_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
       )
-  endforeach()
-endif()
-if(NOT TK_LIBRARY)
-  find_library(TK_LIBRARY
-    NAMES ${TK_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+  endif(NOT TK_LIBRARY)
+
+  set(TK_STUB_POSSIBLE_LIB_NAMES
+    tkstub
+    tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} 
tkstub${TK_WISH_VERSION}
+    tkstub87 tkstub8.7
+    tkstub86 tkstub8.6
+    tkstub85 tkstub8.5
+    tkstub84 tkstub8.4
+    tkstub83 tkstub8.3
+    tkstub82 tkstub8.2
+    tkstub80 tkstub8.0
     )
-endif(NOT TK_LIBRARY)
 
-set(TK_STUB_POSSIBLE_LIB_NAMES
-  tkstub
-  tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} 
tkstub${TK_WISH_VERSION}
-  tkstub87 tkstub8.7
-  tkstub86 tkstub8.6
-  tkstub85 tkstub8.5
-  tkstub84 tkstub8.4
-  tkstub83 tkstub8.3
-  tkstub82 tkstub8.2
-  tkstub80 tkstub8.0
-  )
-
-if(NOT TK_STUB_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TK_STUB_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TK_STUB_LIBRARY
+       NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TK_STUB_LIBRARY)
     find_library(TK_STUB_LIBRARY
       NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
-      PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       )
-  endforeach()
-endif()
-if(NOT TK_STUB_LIBRARY)
-  find_library(TK_STUB_LIBRARY
-    NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+  endif()
+
+  set(TTK_STUB_POSSIBLE_LIB_NAMES
+    ttkstub
+    ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} 
ttkstub${TK_WISH_VERSION}
+    ttkstub88 ttkstub8.8
+    ttkstub87 ttkstub8.7
+    ttkstub86 ttkstub8.6
+    ttkstub85 ttkstub8.5
     )
-endif()
 
-set(TTK_STUB_POSSIBLE_LIB_NAMES
-  ttkstub
-  ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} 
ttkstub${TK_WISH_VERSION}
-  ttkstub88 ttkstub8.8
-  ttkstub87 ttkstub8.7
-  ttkstub86 ttkstub8.6
-  ttkstub85 ttkstub8.5
-  )
-
-if(NOT TTK_STUB_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TTK_STUB_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TTK_STUB_LIBRARY
+       NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TTK_STUB_LIBRARY)
     find_library(TTK_STUB_LIBRARY
       NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
-      PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       )
-  endforeach()
-endif()
-if(NOT TTK_STUB_LIBRARY)
-  find_library(TTK_STUB_LIBRARY
-    NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    )
-endif()
+  endif()
+endif (TCL_ENABLE_TK)
 
 CMAKE_FIND_FRAMEWORKS(Tcl)
-CMAKE_FIND_FRAMEWORKS(Tk)
+if (TCL_ENABLE_TK)
+  CMAKE_FIND_FRAMEWORKS(Tk)
+endif (TCL_ENABLE_TK)
 
 set(TCL_FRAMEWORK_INCLUDES)
 if(Tcl_FRAMEWORKS)
@@ -306,44 +330,58 @@
   endif()
 endif()
 
-set(TK_FRAMEWORK_INCLUDES)
-if(Tk_FRAMEWORKS)
-  if(NOT TK_INCLUDE_PATH)
-    foreach(dir ${Tk_FRAMEWORKS})
-      set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
-       ${dir}/Headers ${dir}/PrivateHeaders)
-    endforeach()
+if (TCL_ENABLE_TK)
+  set(TK_FRAMEWORK_INCLUDES)
+  if(Tk_FRAMEWORKS)
+    if(NOT TK_INCLUDE_PATH)
+      foreach(dir ${Tk_FRAMEWORKS})
+       set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
+         ${dir}/Headers ${dir}/PrivateHeaders)
+      endforeach()
+    endif()
   endif()
-endif()
+endif (TCL_ENABLE_TK)
 
 set(TCLTK_POSSIBLE_INCLUDE_PATHS
   "${TCL_LIBRARY_PATH_PARENT}/include"
-  "${TK_LIBRARY_PATH_PARENT}/include"
   "${TCL_INCLUDE_PATH}"
-  "${TK_INCLUDE_PATH}"
   ${TCL_FRAMEWORK_INCLUDES}
-  ${TK_FRAMEWORK_INCLUDES}
   "${TCL_TCLSH_PATH_PARENT}/include"
-  "${TK_WISH_PATH_PARENT}/include"
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_INCLUDE_PATHS
+    ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+    "${TCL_LIBRARY_PATH_PARENT}/include"
+    "${TCL_INCLUDE_PATH}"
+    ${TCL_FRAMEWORK_INCLUDES}
+    "${TCL_TCLSH_PATH_PARENT}/include"
+    )
+endif (TCL_ENABLE_TK)
 
 set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
   include
-  include/tcl${TK_LIBRARY_VERSION}
   include/tcl${TCL_LIBRARY_VERSION}
   include/tcl8.7
-  include/tk8.7
   include/tcl8.6
-  include/tk8.6
   include/tcl8.5
-  include/tk8.5
   include/tcl8.4
-  include/tk8.4
   include/tcl8.3
   include/tcl8.2
   include/tcl8.0
   )
 
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
+    ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+    include/tcl${TK_LIBRARY_VERSION}
+    include/tk8.7
+    include/tk8.6
+    include/tk8.5
+    include/tk8.4
+    )
+endif (TCL_ENABLE_TK)
+
+
 foreach(search ${_TCL_SEARCHES})
   find_path(TCL_INCLUDE_PATH
     NAMES tcl.h ${${search}}
@@ -357,79 +395,86 @@
     PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
     )
 endif()
-foreach(search ${_TCL_SEARCHES})
-  find_path(TK_INCLUDE_PATH
-    NAMES tk.h ${${search}}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
-    )
-endforeach()
-if (NOT TK_INCLUDE_PATH)
-  find_path(TK_INCLUDE_PATH
-    NAMES tk.h
-    HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
-    )
-endif()
 
-# IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check that 
the
-# windowing system matches the specified type
-if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
-  set(tkwin_script "
-  set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
-  set fileId [open $filename \"w\"]
-  set windowingsystem [tk windowingsystem]
-  puts $fileId $windowingsystem
-  close $fileId
-  exit
-  ")
-  set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
-  set(WSYS "wm-NOTFOUND")
-  file(WRITE ${tkwin_scriptfile} ${tkwin_script})
-  execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
-  if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
-    file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" readresultvar)
-    string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
-  endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+if (TCL_ENABLE_TK)
 
-  # If we have no information about the windowing system or it does not match
-  # a specified system, the find_package detection has failed
-  if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
-    unset(TCL_LIBRARY CACHE)
-    unset(TCL_STUB_LIBRARY CACHE)
-    unset(TK_LIBRARY CACHE)
-    unset(TK_STUB_LIBRARY CACHE)
-    unset(TCL_FOUND CACHE)
-    unset(TK_FOUND CACHE)
-    unset(TCLTK_FOUND CACHE)
-    unset(TCLSH_FOUND CACHE)
-    unset(TCL_LIBRARY CACHE)
-    unset(TCL_INCLUDE_PATH CACHE)
-    unset(TCL_TCLSH CACHE)
-    unset(TK_LIBRARY CACHE)
-    unset(TK_INCLUDE_PATH CACHE)
-    unset(TK_WISH CACHE)
-    unset(TCL_STUB_LIBRARY CACHE)
-    unset(TK_STUB_LIBRARY CACHE)
-    unset(TTK_STUB_LIBRARY CACHE)
-  endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
-endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+  foreach(search ${_TCL_SEARCHES})
+    find_path(TK_INCLUDE_PATH
+      NAMES tk.h ${${search}}
+      PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+      )
+  endforeach()
+  if (NOT TK_INCLUDE_PATH)
+    find_path(TK_INCLUDE_PATH
+      NAMES tk.h
+      HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+      PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+      )
+  endif()
 
+  # IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check 
that the
+  # windowing system matches the specified type
+  if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+    set(tkwin_script "
+    set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
+    set fileId [open $filename \"w\"]
+    set windowingsystem [tk windowingsystem]
+    puts $fileId $windowingsystem
+    close $fileId
+    exit
+    ")
+    set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
+    set(WSYS "wm-NOTFOUND")
+    file(WRITE ${tkwin_scriptfile} ${tkwin_script})
+    execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
+    if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+      file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" 
readresultvar)
+      string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
+    endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+
+    # If we have no information about the windowing system or it does not match
+    # a specified system, the find_package detection has failed
+    if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+      unset(TCL_LIBRARY CACHE)
+      unset(TCL_STUB_LIBRARY CACHE)
+      unset(TK_LIBRARY CACHE)
+      unset(TK_STUB_LIBRARY CACHE)
+      unset(TCL_FOUND CACHE)
+      unset(TK_FOUND CACHE)
+      unset(TCLTK_FOUND CACHE)
+      unset(TCLSH_FOUND CACHE)
+      unset(TCL_LIBRARY CACHE)
+      unset(TCL_INCLUDE_PATH CACHE)
+      unset(TCL_TCLSH CACHE)
+      unset(TK_LIBRARY CACHE)
+      unset(TK_INCLUDE_PATH CACHE)
+      unset(TK_WISH CACHE)
+      unset(TCL_STUB_LIBRARY CACHE)
+      unset(TK_STUB_LIBRARY CACHE)
+      unset(TTK_STUB_LIBRARY CACHE)
+    endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+  endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT 
TARGET "${TK_WISH}")
+endif (TCL_ENABLE_TK)
+
 include(FindPackageHandleStandardArgs)
 
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL
   REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TCL_TCLSH
   VERSION_VAR TCLSH_VERSION_STRING)
-set(FPHSA_NAME_MISMATCHED 1)
-set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-set(TCLTK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
-  REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY 
TK_STUB_LIBRARY TK_INCLUDE_PATH)
-set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-set(TK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
-  REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
-unset(FPHSA_NAME_MISMATCHED)
 
+if (TCL_ENABLE_TK)
+  set(FPHSA_NAME_MISMATCHED 1)
+  set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+  set(TCLTK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
+    REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY 
TK_STUB_LIBRARY TK_INCLUDE_PATH)
+  set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+  set(TK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
+    REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
+  unset(FPHSA_NAME_MISMATCHED)
+endif (TCL_ENABLE_TK)
+
 mark_as_advanced(
   TCL_INCLUDE_PATH
   TCL_LIBRARY

Modified: brlcad/branches/extbuild/src/other/ext/CMake/FindTCL.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/CMake/FindTCL.cmake  2020-11-17 
23:07:05 UTC (rev 77741)
+++ brlcad/branches/extbuild/src/other/ext/CMake/FindTCL.cmake  2020-11-18 
04:32:18 UTC (rev 77742)
@@ -12,12 +12,19 @@
 ::
 
 TCL_FOUND              = Tcl was found
-TK_FOUND               = Tk was found
-TCLTK_FOUND            = Tcl and Tk were found
 TCLSH_FOUND            = TRUE if tclsh has been found
 TCL_LIBRARY            = path to Tcl library (tcl tcl80)
 TCL_INCLUDE_PATH       = path to where tcl.h can be found
 TCL_TCLSH              = path to tclsh binary (tcl tcl80)
+
+
+
+If TCL_ENABLE_TK is set, the following are also set:
+
+::
+
+TK_FOUND               = Tk was found
+TCLTK_FOUND            = Tcl and Tk were found
 TK_LIBRARY             = path to Tk library (tk tk80 etc)
 TK_INCLUDE_PATH        = path to where tk.h can be found
 TK_WISH                = full path to the wish executable
@@ -105,27 +112,29 @@
   find_program(TCL_TCLSH NAMES ${TCL_TCLSH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
 endif (NOT TCL_TCLSH)
 
-set(TK_WISH_NAMES
-  wish
-  wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
-  wish86 wish8.6
-  wish85 wish8.5
-  wish84 wish8.4
-  wish83 wish8.3
-  wish82 wish8.2
-  wish80 wish8.0
-  )
+if (TCL_ENABLE_TK)
+  set(TK_WISH_NAMES
+    wish
+    wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} 
wish${TCL_TCLSH_VERSION}
+    wish86 wish8.6
+    wish85 wish8.5
+    wish84 wish8.4
+    wish83 wish8.3
+    wish82 wish8.2
+    wish80 wish8.0
+    )
 
-if(CYGWIN)
-  set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
-endif()
+  if(CYGWIN)
+    set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
+  endif()
 
-foreach(search ${_TCL_SEARCHES})
-  find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
-endforeach()
-if (NOT TK_WISH)
-  find_program(TK_WISH NAMES ${TK_WISH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
-endif (NOT TK_WISH)
+  foreach(search ${_TCL_SEARCHES})
+    find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
+  endforeach()
+  if (NOT TK_WISH)
+    find_program(TK_WISH       NAMES ${TK_WISH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
+  endif (NOT TK_WISH)
+endif (TCL_ENABLE_TK)
 
 if(TCLSH_VERSION_STRING)
   set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
@@ -138,24 +147,35 @@
 
 set(TCLTK_POSSIBLE_LIB_PATHS
   "${TCL_INCLUDE_PATH_PARENT}/lib"
-  "${TK_INCLUDE_PATH_PARENT}/lib"
   "${TCL_LIBRARY_PATH}"
-  "${TK_LIBRARY_PATH}"
   "${TCL_TCLSH_PATH_PARENT}/lib"
-  "${TK_WISH_PATH_PARENT}/lib"
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_LIB_PATHS
+    ${TCLTK_POSSIBLE_LIB_PATHS}
+    "${TK_INCLUDE_PATH_PARENT}/lib"
+    "${TK_LIBRARY_PATH}"
+    "${TK_WISH_PATH_PARENT}/lib"
+    )
+endif (TCL_ENABLE_TK)
+
 set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
   lib
   lib/tcl
   lib/tcl/tcl8.7
-  lib/tcl/tk8.7
   lib/tcl/tcl8.6
-  lib/tcl/tk8.6
   lib/tcl/tcl8.5
-  lib/tcl/tk8.5
   lib/tcl/tcl8.4
-  lib/tcl/tk8.4
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
+    ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+    lib/tcl/tk8.7
+    lib/tcl/tk8.6
+    lib/tcl/tk8.5
+    lib/tcl/tk8.4
+    )
+endif (TCL_ENABLE_TK)
 
 set(TCL_POSSIBLE_LIB_NAMES
   tcl
@@ -212,90 +232,94 @@
     )
 endif()
 
-set(TK_POSSIBLE_LIB_NAMES
-  tk
-  tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
-  tk87 tk8.7 tk87t tk8.7t
-  tk86 tk8.6 tk86t tk8.6t
-  tk85 tk8.5
-  tk84 tk8.4
-  tk83 tk8.3
-  tk82 tk8.2
-  tk80 tk8.0
-  )
+if (TCL_ENABLE_TK)
+  set(TK_POSSIBLE_LIB_NAMES
+    tk
+    tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
+    tk87 tk8.7 tk87t tk8.7t
+    tk86 tk8.6 tk86t tk8.6t
+    tk85 tk8.5
+    tk84 tk8.4
+    tk83 tk8.3
+    tk82 tk8.2
+    tk80 tk8.0
+    )
 
-if(NOT TK_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TK_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TK_LIBRARY
+       NAMES ${TK_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TK_LIBRARY)
     find_library(TK_LIBRARY
       NAMES ${TK_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
       )
-  endforeach()
-endif()
-if(NOT TK_LIBRARY)
-  find_library(TK_LIBRARY
-    NAMES ${TK_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+  endif(NOT TK_LIBRARY)
+
+  set(TK_STUB_POSSIBLE_LIB_NAMES
+    tkstub
+    tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} 
tkstub${TK_WISH_VERSION}
+    tkstub87 tkstub8.7
+    tkstub86 tkstub8.6
+    tkstub85 tkstub8.5
+    tkstub84 tkstub8.4
+    tkstub83 tkstub8.3
+    tkstub82 tkstub8.2
+    tkstub80 tkstub8.0
     )
-endif(NOT TK_LIBRARY)
 
-set(TK_STUB_POSSIBLE_LIB_NAMES
-  tkstub
-  tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} 
tkstub${TK_WISH_VERSION}
-  tkstub87 tkstub8.7
-  tkstub86 tkstub8.6
-  tkstub85 tkstub8.5
-  tkstub84 tkstub8.4
-  tkstub83 tkstub8.3
-  tkstub82 tkstub8.2
-  tkstub80 tkstub8.0
-  )
-
-if(NOT TK_STUB_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TK_STUB_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TK_STUB_LIBRARY
+       NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TK_STUB_LIBRARY)
     find_library(TK_STUB_LIBRARY
       NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
-      PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       )
-  endforeach()
-endif()
-if(NOT TK_STUB_LIBRARY)
-  find_library(TK_STUB_LIBRARY
-    NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+  endif()
+
+  set(TTK_STUB_POSSIBLE_LIB_NAMES
+    ttkstub
+    ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} 
ttkstub${TK_WISH_VERSION}
+    ttkstub88 ttkstub8.8
+    ttkstub87 ttkstub8.7
+    ttkstub86 ttkstub8.6
+    ttkstub85 ttkstub8.5
     )
-endif()
 
-set(TTK_STUB_POSSIBLE_LIB_NAMES
-  ttkstub
-  ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} 
ttkstub${TK_WISH_VERSION}
-  ttkstub88 ttkstub8.8
-  ttkstub87 ttkstub8.7
-  ttkstub86 ttkstub8.6
-  ttkstub85 ttkstub8.5
-  )
-
-if(NOT TTK_STUB_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TTK_STUB_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TTK_STUB_LIBRARY
+       NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TTK_STUB_LIBRARY)
     find_library(TTK_STUB_LIBRARY
       NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
-      PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       )
-  endforeach()
-endif()
-if(NOT TTK_STUB_LIBRARY)
-  find_library(TTK_STUB_LIBRARY
-    NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    )
-endif()
+  endif()
+endif (TCL_ENABLE_TK)
 
 CMAKE_FIND_FRAMEWORKS(Tcl)
-CMAKE_FIND_FRAMEWORKS(Tk)
+if (TCL_ENABLE_TK)
+  CMAKE_FIND_FRAMEWORKS(Tk)
+endif (TCL_ENABLE_TK)
 
 set(TCL_FRAMEWORK_INCLUDES)
 if(Tcl_FRAMEWORKS)
@@ -306,44 +330,58 @@
   endif()
 endif()
 
-set(TK_FRAMEWORK_INCLUDES)
-if(Tk_FRAMEWORKS)
-  if(NOT TK_INCLUDE_PATH)
-    foreach(dir ${Tk_FRAMEWORKS})
-      set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
-       ${dir}/Headers ${dir}/PrivateHeaders)
-    endforeach()
+if (TCL_ENABLE_TK)
+  set(TK_FRAMEWORK_INCLUDES)
+  if(Tk_FRAMEWORKS)
+    if(NOT TK_INCLUDE_PATH)
+      foreach(dir ${Tk_FRAMEWORKS})
+       set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
+         ${dir}/Headers ${dir}/PrivateHeaders)
+      endforeach()
+    endif()
   endif()
-endif()
+endif (TCL_ENABLE_TK)
 
 set(TCLTK_POSSIBLE_INCLUDE_PATHS
   "${TCL_LIBRARY_PATH_PARENT}/include"
-  "${TK_LIBRARY_PATH_PARENT}/include"
   "${TCL_INCLUDE_PATH}"
-  "${TK_INCLUDE_PATH}"
   ${TCL_FRAMEWORK_INCLUDES}
-  ${TK_FRAMEWORK_INCLUDES}
   "${TCL_TCLSH_PATH_PARENT}/include"
-  "${TK_WISH_PATH_PARENT}/include"
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_INCLUDE_PATHS
+    ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+    "${TCL_LIBRARY_PATH_PARENT}/include"
+    "${TCL_INCLUDE_PATH}"
+    ${TCL_FRAMEWORK_INCLUDES}
+    "${TCL_TCLSH_PATH_PARENT}/include"
+    )
+endif (TCL_ENABLE_TK)
 
 set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
   include
-  include/tcl${TK_LIBRARY_VERSION}
   include/tcl${TCL_LIBRARY_VERSION}
   include/tcl8.7
-  include/tk8.7
   include/tcl8.6
-  include/tk8.6
   include/tcl8.5
-  include/tk8.5
   include/tcl8.4
-  include/tk8.4
   include/tcl8.3
   include/tcl8.2
   include/tcl8.0
   )
 
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
+    ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+    include/tcl${TK_LIBRARY_VERSION}
+    include/tk8.7
+    include/tk8.6
+    include/tk8.5
+    include/tk8.4
+    )
+endif (TCL_ENABLE_TK)
+
+
 foreach(search ${_TCL_SEARCHES})
   find_path(TCL_INCLUDE_PATH
     NAMES tcl.h ${${search}}
@@ -357,79 +395,86 @@
     PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
     )
 endif()
-foreach(search ${_TCL_SEARCHES})
-  find_path(TK_INCLUDE_PATH
-    NAMES tk.h ${${search}}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
-    )
-endforeach()
-if (NOT TK_INCLUDE_PATH)
-  find_path(TK_INCLUDE_PATH
-    NAMES tk.h
-    HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
-    )
-endif()
 
-# IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check that 
the
-# windowing system matches the specified type
-if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
-  set(tkwin_script "
-  set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
-  set fileId [open $filename \"w\"]
-  set windowingsystem [tk windowingsystem]
-  puts $fileId $windowingsystem
-  close $fileId
-  exit
-  ")
-  set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
-  set(WSYS "wm-NOTFOUND")
-  file(WRITE ${tkwin_scriptfile} ${tkwin_script})
-  execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
-  if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
-    file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" readresultvar)
-    string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
-  endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+if (TCL_ENABLE_TK)
 
-  # If we have no information about the windowing system or it does not match
-  # a specified system, the find_package detection has failed
-  if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
-    unset(TCL_LIBRARY CACHE)
-    unset(TCL_STUB_LIBRARY CACHE)
-    unset(TK_LIBRARY CACHE)
-    unset(TK_STUB_LIBRARY CACHE)
-    unset(TCL_FOUND CACHE)
-    unset(TK_FOUND CACHE)
-    unset(TCLTK_FOUND CACHE)
-    unset(TCLSH_FOUND CACHE)
-    unset(TCL_LIBRARY CACHE)
-    unset(TCL_INCLUDE_PATH CACHE)
-    unset(TCL_TCLSH CACHE)
-    unset(TK_LIBRARY CACHE)
-    unset(TK_INCLUDE_PATH CACHE)
-    unset(TK_WISH CACHE)
-    unset(TCL_STUB_LIBRARY CACHE)
-    unset(TK_STUB_LIBRARY CACHE)
-    unset(TTK_STUB_LIBRARY CACHE)
-  endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
-endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+  foreach(search ${_TCL_SEARCHES})
+    find_path(TK_INCLUDE_PATH
+      NAMES tk.h ${${search}}
+      PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+      )
+  endforeach()
+  if (NOT TK_INCLUDE_PATH)
+    find_path(TK_INCLUDE_PATH
+      NAMES tk.h
+      HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+      PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+      )
+  endif()
 
+  # IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check 
that the
+  # windowing system matches the specified type
+  if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+    set(tkwin_script "
+    set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
+    set fileId [open $filename \"w\"]
+    set windowingsystem [tk windowingsystem]
+    puts $fileId $windowingsystem
+    close $fileId
+    exit
+    ")
+    set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
+    set(WSYS "wm-NOTFOUND")
+    file(WRITE ${tkwin_scriptfile} ${tkwin_script})
+    execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
+    if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+      file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" 
readresultvar)
+      string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
+    endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+
+    # If we have no information about the windowing system or it does not match
+    # a specified system, the find_package detection has failed
+    if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+      unset(TCL_LIBRARY CACHE)
+      unset(TCL_STUB_LIBRARY CACHE)
+      unset(TK_LIBRARY CACHE)
+      unset(TK_STUB_LIBRARY CACHE)
+      unset(TCL_FOUND CACHE)
+      unset(TK_FOUND CACHE)
+      unset(TCLTK_FOUND CACHE)
+      unset(TCLSH_FOUND CACHE)
+      unset(TCL_LIBRARY CACHE)
+      unset(TCL_INCLUDE_PATH CACHE)
+      unset(TCL_TCLSH CACHE)
+      unset(TK_LIBRARY CACHE)
+      unset(TK_INCLUDE_PATH CACHE)
+      unset(TK_WISH CACHE)
+      unset(TCL_STUB_LIBRARY CACHE)
+      unset(TK_STUB_LIBRARY CACHE)
+      unset(TTK_STUB_LIBRARY CACHE)
+    endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+  endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT 
TARGET "${TK_WISH}")
+endif (TCL_ENABLE_TK)
+
 include(FindPackageHandleStandardArgs)
 
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL
   REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TCL_TCLSH
   VERSION_VAR TCLSH_VERSION_STRING)
-set(FPHSA_NAME_MISMATCHED 1)
-set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-set(TCLTK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
-  REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY 
TK_STUB_LIBRARY TK_INCLUDE_PATH)
-set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-set(TK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
-  REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
-unset(FPHSA_NAME_MISMATCHED)
 
+if (TCL_ENABLE_TK)
+  set(FPHSA_NAME_MISMATCHED 1)
+  set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+  set(TCLTK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
+    REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY 
TK_STUB_LIBRARY TK_INCLUDE_PATH)
+  set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+  set(TK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
+    REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
+  unset(FPHSA_NAME_MISMATCHED)
+endif (TCL_ENABLE_TK)
+
 mark_as_advanced(
   TCL_INCLUDE_PATH
   TCL_LIBRARY

Modified: brlcad/branches/extbuild/src/other/ext/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/CMakeLists.txt       2020-11-17 
23:07:05 UTC (rev 77741)
+++ brlcad/branches/extbuild/src/other/ext/CMakeLists.txt       2020-11-18 
04:32:18 UTC (rev 77742)
@@ -157,6 +157,9 @@
 # Tool for replacing rpath values in build files.  CMAKE_BUILD_RPATH must be
 # set before configuring this file.
 configure_file(${BDEPS_CMAKE_DIR}/rpath_replace.cxx.in 
${CMAKE_CURRENT_BINARY_DIR}/rpath_replace.cxx)
+if (APPLE)
+  execute_process(COMMAND more ${CMAKE_CURRENT_BINARY_DIR}/rpath_replace.cxx)
+endif (APPLE)
 add_executable(rpath_replace ${CMAKE_CURRENT_BINARY_DIR}/rpath_replace.cxx)
 DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/rpath_replace.cxx)
 
@@ -296,6 +299,10 @@
 # static lib building on so we get the stub libraries.
 set(BSL_CACHE ${BUILD_STATIC_LIBS})
 set(BUILD_STATIC_LIBS ON)
+if (BRLCAD_ENABLE_TK)
+  # For FindTCL.cmake
+  set(TCL_ENABLE_TK ON BOOL "enable tk" CACHE)
+endif (NOT BRLCAD_ENABLE_TK)
 include(${CMAKE_CURRENT_SOURCE_DIR}/tcl.cmake)
 include(${CMAKE_CURRENT_SOURCE_DIR}/tk.cmake)
 include(${CMAKE_CURRENT_SOURCE_DIR}/itcl.cmake)

Modified: brlcad/branches/extbuild/src/other/ext/itcl3/CMake/FindTCL.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itcl3/CMake/FindTCL.cmake    
2020-11-17 23:07:05 UTC (rev 77741)
+++ brlcad/branches/extbuild/src/other/ext/itcl3/CMake/FindTCL.cmake    
2020-11-18 04:32:18 UTC (rev 77742)
@@ -12,12 +12,19 @@
 ::
 
 TCL_FOUND              = Tcl was found
-TK_FOUND               = Tk was found
-TCLTK_FOUND            = Tcl and Tk were found
 TCLSH_FOUND            = TRUE if tclsh has been found
 TCL_LIBRARY            = path to Tcl library (tcl tcl80)
 TCL_INCLUDE_PATH       = path to where tcl.h can be found
 TCL_TCLSH              = path to tclsh binary (tcl tcl80)
+
+
+
+If TCL_ENABLE_TK is set, the following are also set:
+
+::
+
+TK_FOUND               = Tk was found
+TCLTK_FOUND            = Tcl and Tk were found
 TK_LIBRARY             = path to Tk library (tk tk80 etc)
 TK_INCLUDE_PATH        = path to where tk.h can be found
 TK_WISH                = full path to the wish executable
@@ -105,27 +112,29 @@
   find_program(TCL_TCLSH NAMES ${TCL_TCLSH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
 endif (NOT TCL_TCLSH)
 
-set(TK_WISH_NAMES
-  wish
-  wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
-  wish86 wish8.6
-  wish85 wish8.5
-  wish84 wish8.4
-  wish83 wish8.3
-  wish82 wish8.2
-  wish80 wish8.0
-  )
+if (TCL_ENABLE_TK)
+  set(TK_WISH_NAMES
+    wish
+    wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} 
wish${TCL_TCLSH_VERSION}
+    wish86 wish8.6
+    wish85 wish8.5
+    wish84 wish8.4
+    wish83 wish8.3
+    wish82 wish8.2
+    wish80 wish8.0
+    )
 
-if(CYGWIN)
-  set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
-endif()
+  if(CYGWIN)
+    set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
+  endif()
 
-foreach(search ${_TCL_SEARCHES})
-  find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
-endforeach()
-if (NOT TK_WISH)
-  find_program(TK_WISH NAMES ${TK_WISH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
-endif (NOT TK_WISH)
+  foreach(search ${_TCL_SEARCHES})
+    find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
+  endforeach()
+  if (NOT TK_WISH)
+    find_program(TK_WISH       NAMES ${TK_WISH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
+  endif (NOT TK_WISH)
+endif (TCL_ENABLE_TK)
 
 if(TCLSH_VERSION_STRING)
   set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
@@ -138,24 +147,35 @@
 
 set(TCLTK_POSSIBLE_LIB_PATHS
   "${TCL_INCLUDE_PATH_PARENT}/lib"
-  "${TK_INCLUDE_PATH_PARENT}/lib"
   "${TCL_LIBRARY_PATH}"
-  "${TK_LIBRARY_PATH}"
   "${TCL_TCLSH_PATH_PARENT}/lib"
-  "${TK_WISH_PATH_PARENT}/lib"
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_LIB_PATHS
+    ${TCLTK_POSSIBLE_LIB_PATHS}
+    "${TK_INCLUDE_PATH_PARENT}/lib"
+    "${TK_LIBRARY_PATH}"
+    "${TK_WISH_PATH_PARENT}/lib"
+    )
+endif (TCL_ENABLE_TK)
+
 set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
   lib
   lib/tcl
   lib/tcl/tcl8.7
-  lib/tcl/tk8.7
   lib/tcl/tcl8.6
-  lib/tcl/tk8.6
   lib/tcl/tcl8.5
-  lib/tcl/tk8.5
   lib/tcl/tcl8.4
-  lib/tcl/tk8.4
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
+    ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+    lib/tcl/tk8.7
+    lib/tcl/tk8.6
+    lib/tcl/tk8.5
+    lib/tcl/tk8.4
+    )
+endif (TCL_ENABLE_TK)
 
 set(TCL_POSSIBLE_LIB_NAMES
   tcl
@@ -212,90 +232,94 @@
     )
 endif()
 
-set(TK_POSSIBLE_LIB_NAMES
-  tk
-  tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
-  tk87 tk8.7 tk87t tk8.7t
-  tk86 tk8.6 tk86t tk8.6t
-  tk85 tk8.5
-  tk84 tk8.4
-  tk83 tk8.3
-  tk82 tk8.2
-  tk80 tk8.0
-  )
+if (TCL_ENABLE_TK)
+  set(TK_POSSIBLE_LIB_NAMES
+    tk
+    tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
+    tk87 tk8.7 tk87t tk8.7t
+    tk86 tk8.6 tk86t tk8.6t
+    tk85 tk8.5
+    tk84 tk8.4
+    tk83 tk8.3
+    tk82 tk8.2
+    tk80 tk8.0
+    )
 
-if(NOT TK_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TK_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TK_LIBRARY
+       NAMES ${TK_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TK_LIBRARY)
     find_library(TK_LIBRARY
       NAMES ${TK_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
       )
-  endforeach()
-endif()
-if(NOT TK_LIBRARY)
-  find_library(TK_LIBRARY
-    NAMES ${TK_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+  endif(NOT TK_LIBRARY)
+
+  set(TK_STUB_POSSIBLE_LIB_NAMES
+    tkstub
+    tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} 
tkstub${TK_WISH_VERSION}
+    tkstub87 tkstub8.7
+    tkstub86 tkstub8.6
+    tkstub85 tkstub8.5
+    tkstub84 tkstub8.4
+    tkstub83 tkstub8.3
+    tkstub82 tkstub8.2
+    tkstub80 tkstub8.0
     )
-endif(NOT TK_LIBRARY)
 
-set(TK_STUB_POSSIBLE_LIB_NAMES
-  tkstub
-  tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} 
tkstub${TK_WISH_VERSION}
-  tkstub87 tkstub8.7
-  tkstub86 tkstub8.6
-  tkstub85 tkstub8.5
-  tkstub84 tkstub8.4
-  tkstub83 tkstub8.3
-  tkstub82 tkstub8.2
-  tkstub80 tkstub8.0
-  )
-
-if(NOT TK_STUB_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TK_STUB_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TK_STUB_LIBRARY
+       NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TK_STUB_LIBRARY)
     find_library(TK_STUB_LIBRARY
       NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
-      PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       )
-  endforeach()
-endif()
-if(NOT TK_STUB_LIBRARY)
-  find_library(TK_STUB_LIBRARY
-    NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+  endif()
+
+  set(TTK_STUB_POSSIBLE_LIB_NAMES
+    ttkstub
+    ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} 
ttkstub${TK_WISH_VERSION}
+    ttkstub88 ttkstub8.8
+    ttkstub87 ttkstub8.7
+    ttkstub86 ttkstub8.6
+    ttkstub85 ttkstub8.5
     )
-endif()
 
-set(TTK_STUB_POSSIBLE_LIB_NAMES
-  ttkstub
-  ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} 
ttkstub${TK_WISH_VERSION}
-  ttkstub88 ttkstub8.8
-  ttkstub87 ttkstub8.7
-  ttkstub86 ttkstub8.6
-  ttkstub85 ttkstub8.5
-  )
-
-if(NOT TTK_STUB_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TTK_STUB_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TTK_STUB_LIBRARY
+       NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TTK_STUB_LIBRARY)
     find_library(TTK_STUB_LIBRARY
       NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
-      PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       )
-  endforeach()
-endif()
-if(NOT TTK_STUB_LIBRARY)
-  find_library(TTK_STUB_LIBRARY
-    NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    )
-endif()
+  endif()
+endif (TCL_ENABLE_TK)
 
 CMAKE_FIND_FRAMEWORKS(Tcl)
-CMAKE_FIND_FRAMEWORKS(Tk)
+if (TCL_ENABLE_TK)
+  CMAKE_FIND_FRAMEWORKS(Tk)
+endif (TCL_ENABLE_TK)
 
 set(TCL_FRAMEWORK_INCLUDES)
 if(Tcl_FRAMEWORKS)
@@ -306,44 +330,58 @@
   endif()
 endif()
 
-set(TK_FRAMEWORK_INCLUDES)
-if(Tk_FRAMEWORKS)
-  if(NOT TK_INCLUDE_PATH)
-    foreach(dir ${Tk_FRAMEWORKS})
-      set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
-       ${dir}/Headers ${dir}/PrivateHeaders)
-    endforeach()
+if (TCL_ENABLE_TK)
+  set(TK_FRAMEWORK_INCLUDES)
+  if(Tk_FRAMEWORKS)
+    if(NOT TK_INCLUDE_PATH)
+      foreach(dir ${Tk_FRAMEWORKS})
+       set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
+         ${dir}/Headers ${dir}/PrivateHeaders)
+      endforeach()
+    endif()
   endif()
-endif()
+endif (TCL_ENABLE_TK)
 
 set(TCLTK_POSSIBLE_INCLUDE_PATHS
   "${TCL_LIBRARY_PATH_PARENT}/include"
-  "${TK_LIBRARY_PATH_PARENT}/include"
   "${TCL_INCLUDE_PATH}"
-  "${TK_INCLUDE_PATH}"
   ${TCL_FRAMEWORK_INCLUDES}
-  ${TK_FRAMEWORK_INCLUDES}
   "${TCL_TCLSH_PATH_PARENT}/include"
-  "${TK_WISH_PATH_PARENT}/include"
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_INCLUDE_PATHS
+    ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+    "${TCL_LIBRARY_PATH_PARENT}/include"
+    "${TCL_INCLUDE_PATH}"
+    ${TCL_FRAMEWORK_INCLUDES}
+    "${TCL_TCLSH_PATH_PARENT}/include"
+    )
+endif (TCL_ENABLE_TK)
 
 set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
   include
-  include/tcl${TK_LIBRARY_VERSION}
   include/tcl${TCL_LIBRARY_VERSION}
   include/tcl8.7
-  include/tk8.7
   include/tcl8.6
-  include/tk8.6
   include/tcl8.5
-  include/tk8.5
   include/tcl8.4
-  include/tk8.4
   include/tcl8.3
   include/tcl8.2
   include/tcl8.0
   )
 
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
+    ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+    include/tcl${TK_LIBRARY_VERSION}
+    include/tk8.7
+    include/tk8.6
+    include/tk8.5
+    include/tk8.4
+    )
+endif (TCL_ENABLE_TK)
+
+
 foreach(search ${_TCL_SEARCHES})
   find_path(TCL_INCLUDE_PATH
     NAMES tcl.h ${${search}}
@@ -357,79 +395,86 @@
     PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
     )
 endif()
-foreach(search ${_TCL_SEARCHES})
-  find_path(TK_INCLUDE_PATH
-    NAMES tk.h ${${search}}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
-    )
-endforeach()
-if (NOT TK_INCLUDE_PATH)
-  find_path(TK_INCLUDE_PATH
-    NAMES tk.h
-    HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
-    )
-endif()
 
-# IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check that 
the
-# windowing system matches the specified type
-if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
-  set(tkwin_script "
-  set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
-  set fileId [open $filename \"w\"]
-  set windowingsystem [tk windowingsystem]
-  puts $fileId $windowingsystem
-  close $fileId
-  exit
-  ")
-  set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
-  set(WSYS "wm-NOTFOUND")
-  file(WRITE ${tkwin_scriptfile} ${tkwin_script})
-  execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
-  if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
-    file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" readresultvar)
-    string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
-  endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+if (TCL_ENABLE_TK)
 
-  # If we have no information about the windowing system or it does not match
-  # a specified system, the find_package detection has failed
-  if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
-    unset(TCL_LIBRARY CACHE)
-    unset(TCL_STUB_LIBRARY CACHE)
-    unset(TK_LIBRARY CACHE)
-    unset(TK_STUB_LIBRARY CACHE)
-    unset(TCL_FOUND CACHE)
-    unset(TK_FOUND CACHE)
-    unset(TCLTK_FOUND CACHE)
-    unset(TCLSH_FOUND CACHE)
-    unset(TCL_LIBRARY CACHE)
-    unset(TCL_INCLUDE_PATH CACHE)
-    unset(TCL_TCLSH CACHE)
-    unset(TK_LIBRARY CACHE)
-    unset(TK_INCLUDE_PATH CACHE)
-    unset(TK_WISH CACHE)
-    unset(TCL_STUB_LIBRARY CACHE)
-    unset(TK_STUB_LIBRARY CACHE)
-    unset(TTK_STUB_LIBRARY CACHE)
-  endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
-endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+  foreach(search ${_TCL_SEARCHES})
+    find_path(TK_INCLUDE_PATH
+      NAMES tk.h ${${search}}
+      PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+      )
+  endforeach()
+  if (NOT TK_INCLUDE_PATH)
+    find_path(TK_INCLUDE_PATH
+      NAMES tk.h
+      HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+      PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+      )
+  endif()
 
+  # IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check 
that the
+  # windowing system matches the specified type
+  if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+    set(tkwin_script "
+    set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
+    set fileId [open $filename \"w\"]
+    set windowingsystem [tk windowingsystem]
+    puts $fileId $windowingsystem
+    close $fileId
+    exit
+    ")
+    set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
+    set(WSYS "wm-NOTFOUND")
+    file(WRITE ${tkwin_scriptfile} ${tkwin_script})
+    execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
+    if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+      file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" 
readresultvar)
+      string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
+    endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+
+    # If we have no information about the windowing system or it does not match
+    # a specified system, the find_package detection has failed
+    if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+      unset(TCL_LIBRARY CACHE)
+      unset(TCL_STUB_LIBRARY CACHE)
+      unset(TK_LIBRARY CACHE)
+      unset(TK_STUB_LIBRARY CACHE)
+      unset(TCL_FOUND CACHE)
+      unset(TK_FOUND CACHE)
+      unset(TCLTK_FOUND CACHE)
+      unset(TCLSH_FOUND CACHE)
+      unset(TCL_LIBRARY CACHE)
+      unset(TCL_INCLUDE_PATH CACHE)
+      unset(TCL_TCLSH CACHE)
+      unset(TK_LIBRARY CACHE)
+      unset(TK_INCLUDE_PATH CACHE)
+      unset(TK_WISH CACHE)
+      unset(TCL_STUB_LIBRARY CACHE)
+      unset(TK_STUB_LIBRARY CACHE)
+      unset(TTK_STUB_LIBRARY CACHE)
+    endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+  endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT 
TARGET "${TK_WISH}")
+endif (TCL_ENABLE_TK)
+
 include(FindPackageHandleStandardArgs)
 
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL
   REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TCL_TCLSH
   VERSION_VAR TCLSH_VERSION_STRING)
-set(FPHSA_NAME_MISMATCHED 1)
-set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-set(TCLTK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
-  REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY 
TK_STUB_LIBRARY TK_INCLUDE_PATH)
-set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-set(TK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
-  REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
-unset(FPHSA_NAME_MISMATCHED)
 
+if (TCL_ENABLE_TK)
+  set(FPHSA_NAME_MISMATCHED 1)
+  set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+  set(TCLTK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
+    REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY 
TK_STUB_LIBRARY TK_INCLUDE_PATH)
+  set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+  set(TK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
+    REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
+  unset(FPHSA_NAME_MISMATCHED)
+endif (TCL_ENABLE_TK)
+
 mark_as_advanced(
   TCL_INCLUDE_PATH
   TCL_LIBRARY

Modified: brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindTCL.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindTCL.cmake     
2020-11-17 23:07:05 UTC (rev 77741)
+++ brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindTCL.cmake     
2020-11-18 04:32:18 UTC (rev 77742)
@@ -12,12 +12,19 @@
 ::
 
 TCL_FOUND              = Tcl was found
-TK_FOUND               = Tk was found
-TCLTK_FOUND            = Tcl and Tk were found
 TCLSH_FOUND            = TRUE if tclsh has been found
 TCL_LIBRARY            = path to Tcl library (tcl tcl80)
 TCL_INCLUDE_PATH       = path to where tcl.h can be found
 TCL_TCLSH              = path to tclsh binary (tcl tcl80)
+
+
+
+If TCL_ENABLE_TK is set, the following are also set:
+
+::
+
+TK_FOUND               = Tk was found
+TCLTK_FOUND            = Tcl and Tk were found
 TK_LIBRARY             = path to Tk library (tk tk80 etc)
 TK_INCLUDE_PATH        = path to where tk.h can be found
 TK_WISH                = full path to the wish executable
@@ -105,27 +112,29 @@
   find_program(TCL_TCLSH NAMES ${TCL_TCLSH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
 endif (NOT TCL_TCLSH)
 
-set(TK_WISH_NAMES
-  wish
-  wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
-  wish86 wish8.6
-  wish85 wish8.5
-  wish84 wish8.4
-  wish83 wish8.3
-  wish82 wish8.2
-  wish80 wish8.0
-  )
+if (TCL_ENABLE_TK)
+  set(TK_WISH_NAMES
+    wish
+    wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} 
wish${TCL_TCLSH_VERSION}
+    wish86 wish8.6
+    wish85 wish8.5
+    wish84 wish8.4
+    wish83 wish8.3
+    wish82 wish8.2
+    wish80 wish8.0
+    )
 
-if(CYGWIN)
-  set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
-endif()
+  if(CYGWIN)
+    set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
+  endif()
 
-foreach(search ${_TCL_SEARCHES})
-  find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
-endforeach()
-if (NOT TK_WISH)
-  find_program(TK_WISH NAMES ${TK_WISH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
-endif (NOT TK_WISH)
+  foreach(search ${_TCL_SEARCHES})
+    find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
+  endforeach()
+  if (NOT TK_WISH)
+    find_program(TK_WISH       NAMES ${TK_WISH_NAMES} HINTS 
${TCLTK_POSSIBLE_BIN_PATHS})
+  endif (NOT TK_WISH)
+endif (TCL_ENABLE_TK)
 
 if(TCLSH_VERSION_STRING)
   set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
@@ -138,24 +147,35 @@
 
 set(TCLTK_POSSIBLE_LIB_PATHS
   "${TCL_INCLUDE_PATH_PARENT}/lib"
-  "${TK_INCLUDE_PATH_PARENT}/lib"
   "${TCL_LIBRARY_PATH}"
-  "${TK_LIBRARY_PATH}"
   "${TCL_TCLSH_PATH_PARENT}/lib"
-  "${TK_WISH_PATH_PARENT}/lib"
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_LIB_PATHS
+    ${TCLTK_POSSIBLE_LIB_PATHS}
+    "${TK_INCLUDE_PATH_PARENT}/lib"
+    "${TK_LIBRARY_PATH}"
+    "${TK_WISH_PATH_PARENT}/lib"
+    )
+endif (TCL_ENABLE_TK)
+
 set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
   lib
   lib/tcl
   lib/tcl/tcl8.7
-  lib/tcl/tk8.7
   lib/tcl/tcl8.6
-  lib/tcl/tk8.6
   lib/tcl/tcl8.5
-  lib/tcl/tk8.5
   lib/tcl/tcl8.4
-  lib/tcl/tk8.4
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
+    ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+    lib/tcl/tk8.7
+    lib/tcl/tk8.6
+    lib/tcl/tk8.5
+    lib/tcl/tk8.4
+    )
+endif (TCL_ENABLE_TK)
 
 set(TCL_POSSIBLE_LIB_NAMES
   tcl
@@ -212,90 +232,94 @@
     )
 endif()
 
-set(TK_POSSIBLE_LIB_NAMES
-  tk
-  tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
-  tk87 tk8.7 tk87t tk8.7t
-  tk86 tk8.6 tk86t tk8.6t
-  tk85 tk8.5
-  tk84 tk8.4
-  tk83 tk8.3
-  tk82 tk8.2
-  tk80 tk8.0
-  )
+if (TCL_ENABLE_TK)
+  set(TK_POSSIBLE_LIB_NAMES
+    tk
+    tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
+    tk87 tk8.7 tk87t tk8.7t
+    tk86 tk8.6 tk86t tk8.6t
+    tk85 tk8.5
+    tk84 tk8.4
+    tk83 tk8.3
+    tk82 tk8.2
+    tk80 tk8.0
+    )
 
-if(NOT TK_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TK_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TK_LIBRARY
+       NAMES ${TK_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TK_LIBRARY)
     find_library(TK_LIBRARY
       NAMES ${TK_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
       )
-  endforeach()
-endif()
-if(NOT TK_LIBRARY)
-  find_library(TK_LIBRARY
-    NAMES ${TK_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+  endif(NOT TK_LIBRARY)
+
+  set(TK_STUB_POSSIBLE_LIB_NAMES
+    tkstub
+    tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} 
tkstub${TK_WISH_VERSION}
+    tkstub87 tkstub8.7
+    tkstub86 tkstub8.6
+    tkstub85 tkstub8.5
+    tkstub84 tkstub8.4
+    tkstub83 tkstub8.3
+    tkstub82 tkstub8.2
+    tkstub80 tkstub8.0
     )
-endif(NOT TK_LIBRARY)
 
-set(TK_STUB_POSSIBLE_LIB_NAMES
-  tkstub
-  tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} 
tkstub${TK_WISH_VERSION}
-  tkstub87 tkstub8.7
-  tkstub86 tkstub8.6
-  tkstub85 tkstub8.5
-  tkstub84 tkstub8.4
-  tkstub83 tkstub8.3
-  tkstub82 tkstub8.2
-  tkstub80 tkstub8.0
-  )
-
-if(NOT TK_STUB_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TK_STUB_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TK_STUB_LIBRARY
+       NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TK_STUB_LIBRARY)
     find_library(TK_STUB_LIBRARY
       NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
-      PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       )
-  endforeach()
-endif()
-if(NOT TK_STUB_LIBRARY)
-  find_library(TK_STUB_LIBRARY
-    NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+  endif()
+
+  set(TTK_STUB_POSSIBLE_LIB_NAMES
+    ttkstub
+    ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} 
ttkstub${TK_WISH_VERSION}
+    ttkstub88 ttkstub8.8
+    ttkstub87 ttkstub8.7
+    ttkstub86 ttkstub8.6
+    ttkstub85 ttkstub8.5
     )
-endif()
 
-set(TTK_STUB_POSSIBLE_LIB_NAMES
-  ttkstub
-  ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} 
ttkstub${TK_WISH_VERSION}
-  ttkstub88 ttkstub8.8
-  ttkstub87 ttkstub8.7
-  ttkstub86 ttkstub8.6
-  ttkstub85 ttkstub8.5
-  )
-
-if(NOT TTK_STUB_LIBRARY)
-  foreach(search ${_TCL_SEARCHES})
+  if(NOT TTK_STUB_LIBRARY)
+    foreach(search ${_TCL_SEARCHES})
+      find_library(TTK_STUB_LIBRARY
+       NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
+       NAMES_PER_DIR ${${search}}
+       PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+       )
+    endforeach()
+  endif()
+  if(NOT TTK_STUB_LIBRARY)
     find_library(TTK_STUB_LIBRARY
       NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
-      NAMES_PER_DIR ${${search}}
-      PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+      PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
       )
-  endforeach()
-endif()
-if(NOT TTK_STUB_LIBRARY)
-  find_library(TTK_STUB_LIBRARY
-    NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
-    PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    )
-endif()
+  endif()
+endif (TCL_ENABLE_TK)
 
 CMAKE_FIND_FRAMEWORKS(Tcl)
-CMAKE_FIND_FRAMEWORKS(Tk)
+if (TCL_ENABLE_TK)
+  CMAKE_FIND_FRAMEWORKS(Tk)
+endif (TCL_ENABLE_TK)
 
 set(TCL_FRAMEWORK_INCLUDES)
 if(Tcl_FRAMEWORKS)
@@ -306,44 +330,58 @@
   endif()
 endif()
 
-set(TK_FRAMEWORK_INCLUDES)
-if(Tk_FRAMEWORKS)
-  if(NOT TK_INCLUDE_PATH)
-    foreach(dir ${Tk_FRAMEWORKS})
-      set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
-       ${dir}/Headers ${dir}/PrivateHeaders)
-    endforeach()
+if (TCL_ENABLE_TK)
+  set(TK_FRAMEWORK_INCLUDES)
+  if(Tk_FRAMEWORKS)
+    if(NOT TK_INCLUDE_PATH)
+      foreach(dir ${Tk_FRAMEWORKS})
+       set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
+         ${dir}/Headers ${dir}/PrivateHeaders)
+      endforeach()
+    endif()
   endif()
-endif()
+endif (TCL_ENABLE_TK)
 
 set(TCLTK_POSSIBLE_INCLUDE_PATHS
   "${TCL_LIBRARY_PATH_PARENT}/include"
-  "${TK_LIBRARY_PATH_PARENT}/include"
   "${TCL_INCLUDE_PATH}"
-  "${TK_INCLUDE_PATH}"
   ${TCL_FRAMEWORK_INCLUDES}
-  ${TK_FRAMEWORK_INCLUDES}
   "${TCL_TCLSH_PATH_PARENT}/include"
-  "${TK_WISH_PATH_PARENT}/include"
   )
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_INCLUDE_PATHS
+    ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+    "${TCL_LIBRARY_PATH_PARENT}/include"
+    "${TCL_INCLUDE_PATH}"
+    ${TCL_FRAMEWORK_INCLUDES}
+    "${TCL_TCLSH_PATH_PARENT}/include"
+    )
+endif (TCL_ENABLE_TK)
 
 set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
   include
-  include/tcl${TK_LIBRARY_VERSION}
   include/tcl${TCL_LIBRARY_VERSION}
   include/tcl8.7
-  include/tk8.7
   include/tcl8.6
-  include/tk8.6
   include/tcl8.5
-  include/tk8.5
   include/tcl8.4
-  include/tk8.4
   include/tcl8.3
   include/tcl8.2
   include/tcl8.0
   )
 
+if (TCL_ENABLE_TK)
+  set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
+    ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+    include/tcl${TK_LIBRARY_VERSION}
+    include/tk8.7
+    include/tk8.6
+    include/tk8.5
+    include/tk8.4
+    )
+endif (TCL_ENABLE_TK)
+
+
 foreach(search ${_TCL_SEARCHES})
   find_path(TCL_INCLUDE_PATH
     NAMES tcl.h ${${search}}
@@ -357,79 +395,86 @@
     PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
     )
 endif()
-foreach(search ${_TCL_SEARCHES})
-  find_path(TK_INCLUDE_PATH
-    NAMES tk.h ${${search}}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
-    )
-endforeach()
-if (NOT TK_INCLUDE_PATH)
-  find_path(TK_INCLUDE_PATH
-    NAMES tk.h
-    HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
-    PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
-    )
-endif()
 
-# IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check that 
the
-# windowing system matches the specified type
-if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
-  set(tkwin_script "
-  set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
-  set fileId [open $filename \"w\"]
-  set windowingsystem [tk windowingsystem]
-  puts $fileId $windowingsystem
-  close $fileId
-  exit
-  ")
-  set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
-  set(WSYS "wm-NOTFOUND")
-  file(WRITE ${tkwin_scriptfile} ${tkwin_script})
-  execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
-  if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
-    file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" readresultvar)
-    string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
-  endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+if (TCL_ENABLE_TK)
 
-  # If we have no information about the windowing system or it does not match
-  # a specified system, the find_package detection has failed
-  if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
-    unset(TCL_LIBRARY CACHE)
-    unset(TCL_STUB_LIBRARY CACHE)
-    unset(TK_LIBRARY CACHE)
-    unset(TK_STUB_LIBRARY CACHE)
-    unset(TCL_FOUND CACHE)
-    unset(TK_FOUND CACHE)
-    unset(TCLTK_FOUND CACHE)
-    unset(TCLSH_FOUND CACHE)
-    unset(TCL_LIBRARY CACHE)
-    unset(TCL_INCLUDE_PATH CACHE)
-    unset(TCL_TCLSH CACHE)
-    unset(TK_LIBRARY CACHE)
-    unset(TK_INCLUDE_PATH CACHE)
-    unset(TK_WISH CACHE)
-    unset(TCL_STUB_LIBRARY CACHE)
-    unset(TK_STUB_LIBRARY CACHE)
-    unset(TTK_STUB_LIBRARY CACHE)
-  endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
-endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+  foreach(search ${_TCL_SEARCHES})
+    find_path(TK_INCLUDE_PATH
+      NAMES tk.h ${${search}}
+      PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+      )
+  endforeach()
+  if (NOT TK_INCLUDE_PATH)
+    find_path(TK_INCLUDE_PATH
+      NAMES tk.h
+      HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+      PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+      )
+  endif()
 
+  # IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check 
that the
+  # windowing system matches the specified type
+  if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+    set(tkwin_script "
+    set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
+    set fileId [open $filename \"w\"]
+    set windowingsystem [tk windowingsystem]
+    puts $fileId $windowingsystem
+    close $fileId
+    exit
+    ")
+    set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
+    set(WSYS "wm-NOTFOUND")
+    file(WRITE ${tkwin_scriptfile} ${tkwin_script})
+    execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
+    if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+      file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" 
readresultvar)
+      string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
+    endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+
+    # If we have no information about the windowing system or it does not match
+    # a specified system, the find_package detection has failed
+    if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+      unset(TCL_LIBRARY CACHE)
+      unset(TCL_STUB_LIBRARY CACHE)
+      unset(TK_LIBRARY CACHE)
+      unset(TK_STUB_LIBRARY CACHE)
+      unset(TCL_FOUND CACHE)
+      unset(TK_FOUND CACHE)
+      unset(TCLTK_FOUND CACHE)
+      unset(TCLSH_FOUND CACHE)
+      unset(TCL_LIBRARY CACHE)
+      unset(TCL_INCLUDE_PATH CACHE)
+      unset(TCL_TCLSH CACHE)
+      unset(TK_LIBRARY CACHE)
+      unset(TK_INCLUDE_PATH CACHE)
+      unset(TK_WISH CACHE)
+      unset(TCL_STUB_LIBRARY CACHE)
+      unset(TK_STUB_LIBRARY CACHE)
+      unset(TTK_STUB_LIBRARY CACHE)
+    endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+  endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT 
TARGET "${TK_WISH}")
+endif (TCL_ENABLE_TK)
+
 include(FindPackageHandleStandardArgs)
 
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL
   REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TCL_TCLSH
   VERSION_VAR TCLSH_VERSION_STRING)
-set(FPHSA_NAME_MISMATCHED 1)
-set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-set(TCLTK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
-  REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY 
TK_STUB_LIBRARY TK_INCLUDE_PATH)
-set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-set(TK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
-  REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
-unset(FPHSA_NAME_MISMATCHED)
 
+if (TCL_ENABLE_TK)
+  set(FPHSA_NAME_MISMATCHED 1)
+  set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+  set(TCLTK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
+    REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY 
TK_STUB_LIBRARY TK_INCLUDE_PATH)
+  set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+  set(TK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
+    REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
+  unset(FPHSA_NAME_MISMATCHED)
+endif (TCL_ENABLE_TK)
+
 mark_as_advanced(
   TCL_INCLUDE_PATH
   TCL_LIBRARY

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to