Revision: 77262
          http://sourceforge.net/p/brlcad/code/77262
Author:   starseeker
Date:     2020-09-29 12:31:42 +0000 (Tue, 29 Sep 2020)
Log Message:
-----------
Get Tk building with the new setup.

Modified Paths:
--------------
    brlcad/branches/thirdparty_rework/CMakeLists.txt
    brlcad/branches/thirdparty_rework/misc/CMake/BRLCAD_User_Options.cmake
    brlcad/branches/thirdparty_rework/src/other/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt

Added Paths:
-----------
    brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake

Modified: brlcad/branches/thirdparty_rework/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/CMakeLists.txt    2020-09-29 12:28:22 UTC 
(rev 77261)
+++ brlcad/branches/thirdparty_rework/CMakeLists.txt    2020-09-29 12:31:42 UTC 
(rev 77262)
@@ -494,6 +494,9 @@
   CONFIG_H_APPEND(BRLCAD "#define USE_BINARY_ATTRIBUTES 1\n")
 endif(BRLCAD_ENABLE_BINARY_ATTRIBUTES)
 
+# Some of the code will need to know if we're using Tk or not
+CONFIG_H_APPEND(BRLCAD "#cmakedefine HAVE_TK\n")
+
 if(NOT BRLCAD_ENABLE_GCT)
   CONFIG_H_APPEND(BRLCAD "#define BRLCAD_DISABLE_GCT 1\n")
 endif(NOT BRLCAD_ENABLE_GCT)

Modified: brlcad/branches/thirdparty_rework/misc/CMake/BRLCAD_User_Options.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/misc/CMake/BRLCAD_User_Options.cmake      
2020-09-29 12:28:22 UTC (rev 77261)
+++ brlcad/branches/thirdparty_rework/misc/CMake/BRLCAD_User_Options.cmake      
2020-09-29 12:31:42 UTC (rev 77262)
@@ -104,10 +104,11 @@
 endif(BRLCAD_ENABLE_X11)
 mark_as_advanced(OPENGL_USE_AQUA)
 
-# Enable/disable features requiring the Tk toolkit - usually this should
-# be on, as a lot of functionality in BRL-CAD depends on Tk
-option(BRLCAD_ENABLE_TK "Enable features requiring the Tk toolkit" ON)
-mark_as_advanced(BRLCAD_ENABLE_TK)
+# Enable/disable features requiring the Tcl/Tk toolkit - usually this should
+# be on, as a lot of functionality in BRL-CAD depends on Tcl/Tk
+option(BRLCAD_ENABLE_TCL "Enable features requiring the Tcl toolkit" ON)
+cmake_dependent_option(BRLCAD_ENABLE_TK "Enable features requiring the Tk 
toolkit" ON "BRLCAD_ENABLE_TCL" OFF)
+mark_as_advanced(BRLCAD_ENABLE_TCL BRLCAD_ENABLE_TK)
 if(NOT BRLCAD_ENABLE_X11 AND NOT BRLCAD_ENABLE_AQUA AND NOT WIN32)
   set(BRLCAD_ENABLE_TK OFF)
 endif(NOT BRLCAD_ENABLE_X11 AND NOT BRLCAD_ENABLE_AQUA AND NOT WIN32)

Modified: brlcad/branches/thirdparty_rework/src/other/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/CMakeLists.txt  2020-09-29 
12:28:22 UTC (rev 77261)
+++ brlcad/branches/thirdparty_rework/src/other/CMakeLists.txt  2020-09-29 
12:31:42 UTC (rev 77262)
@@ -90,580 +90,17 @@
   find_package(GDAL)
 endif (BRLCAD_ENABLE_GDAL)
 
+find_package(TCL)
+
 ###############################################################################
 #                                 Tcl/Tk
 ###############################################################################
 
-set(tcl_DESCRIPTION "
-Option for enabling and disabling compilation of the Tcl library
-provided with BRL-CAD's source code.  Default is AUTO, responsive to
-the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
-version if BRLCAD_BUNDLED_LIBS is also AUTO.
-")
-
-THIRD_PARTY(tcl TCL tcl tcl_DESCRIPTION ALIASES ENABLE_TCL REQUIRED_VARS 
BRLCAD_LEVEL2)
-
-if (NOT ${CMAKE_PROJECT_NAME}_TCL_BUILD)
-  # Trying to manage all the component pieces of a Tcl install (mixing and
-  # matching system and local) is way too complex for too little benefit.
-  # For the most part this is an all or nothing arrangement - either the
-  # system version is adequate, or we're on our own.  If we think we have a
-  # system version, check to see if it has everything we need.  If not, we're
-  # rolling our own.
-  #
-  # (TODO - Might make an exception for tkhtml since that's not very standard
-  # in the broader ecosystem...
-endif (NOT ${CMAKE_PROJECT_NAME}_TCL_BUILD)
-
-# If we're building, build it all
 if (${CMAKE_PROJECT_NAME}_TCL_BUILD)
 
-  ############
-  #    Tcl
-  ############
-
-  set(TCL_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/TCL_BLD-prefix/src/TCL_BLD")
-  set(TCL_MINOR_VERSION 6)
-  set(ITCL_VERSION 4.2.0)
-  CONFIG_H_APPEND(BRLCAD "#define ITCL_VERSION \"${ITCL_VERSION}\"\n")
-
-  # We need to set internal Tcl variables to the final install paths, not the 
intermediate install paths that
-  # Tcl's own build will think are the final paths.  Rather than attempt build 
system trickery we simply
-  # hard set the values in the source files by rewriting them.
-  configure_file(${BRLCAD_CMAKE_DIR}/tcl_replace.cxx.in 
${CMAKE_CURRENT_BINARY_DIR}/tcl_replace.cxx)
-  add_executable(tcl_replace ${CMAKE_CURRENT_BINARY_DIR}/tcl_replace.cxx)
-
-  if (NOT MSVC)
-
-    set(TCL_PATCH_FILES "${TCL_SRC_DIR}/unix/configure" 
"${TCL_SRC_DIR}/macosx/configure" "${TCL_SRC_DIR}/unix/tcl.m4")
-    set(TCL_REWORK_FILES "${TCL_SRC_DIR}/unix/tclUnixInit.c" 
"${TCL_SRC_DIR}/generic/tclPkgConfig.c")
-
-    ExternalProject_Add(TCL_BLD
-      URL "${CMAKE_CURRENT_SOURCE_DIR}/tcl"
-      BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-      PATCH_COMMAND rpath_replace "${CMAKE_BUILD_RPATH}" ${TCL_PATCH_FILES}
-      COMMAND tcl_replace ${TCL_REWORK_FILES}
-      CONFIGURE_COMMAND CPPFLAGS=-I${CMAKE_BINARY_DIR}/${INCLUDE_DIR} 
LDFLAGS=-L${CMAKE_BINARY_DIR}/${LIB_DIR} ${TCL_SRC_DIR}/unix/configure 
--prefix=${CMAKE_BINARY_DIR}
-      BUILD_COMMAND make -j${pcnt}
-      INSTALL_COMMAND make install
-      DEPENDS ${ZLIB_LIBRARIES} tcl_replace
-      )
-  else (NOT MSVC)
-
-    ExternalProject_Add(TCL_BLD
-      SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tcl"
-      BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-      CONFIGURE_COMMAND ""
-      BINARY_DIR ${TCL_SRC_DIR}/win
-      BUILD_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc 
INSTALLDIR=${CMAKE_BINARY_DIR}
-      INSTALL_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc install 
INSTALLDIR=${CMAKE_BINARY_DIR}
-      )
-
-  endif (NOT MSVC)
-
-  ExternalProject_Target(tcl TCL_BLD
-    OUTPUT_FILE libtcl8.${TCL_MINOR_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}
-    STATIC_OUTPUT_FILE 
libtclstub8.${TCL_MINOR_VERSION}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    RPATH
-    )
-  ExternalProject_Target(itcl TCL_BLD
-    SUBDIR itcl${ITCL_VERSION}
-    OUTPUT_FILE libitcl${ITCL_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}
-    STATIC_OUTPUT_FILE libitclstub${ITCL_VERSION}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    RPATH
-    )
-
-  ExternalProject_Target(tclsh TCL_BLD
-    OUTPUT_FILE tclsh8.${TCL_MINOR_VERSION}${CMAKE_EXECUTABLE_SUFFIX}
-    RPATH EXEC
-    )
-  ExternalProject_ByProducts(TCL_BLD ${LIB_DIR} FIXPATH
-    tclConfig.sh
-    tclooConfig.sh
-    )
-  ExternalProject_ByProducts(TCL_BLD ${LIB_DIR}/tcl8.${TCL_MINOR_VERSION}
-    auto.tcl
-    clock.tcl
-    encoding/ascii.enc
-    encoding/big5.enc
-    encoding/cp1250.enc
-    encoding/cp1251.enc
-    encoding/cp1252.enc
-    encoding/cp1253.enc
-    encoding/cp1254.enc
-    encoding/cp1255.enc
-    encoding/cp1256.enc
-    encoding/cp1257.enc
-    encoding/cp1258.enc
-    encoding/cp437.enc
-    encoding/cp737.enc
-    encoding/cp775.enc
-    encoding/cp850.enc
-    encoding/cp852.enc
-    encoding/cp855.enc
-    encoding/cp857.enc
-    encoding/cp860.enc
-    encoding/cp861.enc
-    encoding/cp862.enc
-    encoding/cp863.enc
-    encoding/cp864.enc
-    encoding/cp865.enc
-    encoding/cp866.enc
-    encoding/cp869.enc
-    encoding/cp874.enc
-    encoding/cp932.enc
-    encoding/cp936.enc
-    encoding/cp949.enc
-    encoding/cp950.enc
-    encoding/dingbats.enc
-    encoding/ebcdic.enc
-    encoding/euc-cn.enc
-    encoding/euc-jp.enc
-    encoding/euc-kr.enc
-    encoding/gb12345.enc
-    encoding/gb1988.enc
-    encoding/gb2312-raw.enc
-    encoding/gb2312.enc
-    encoding/iso2022-jp.enc
-    encoding/iso2022-kr.enc
-    encoding/iso2022.enc
-    encoding/iso8859-1.enc
-    encoding/iso8859-10.enc
-    encoding/iso8859-13.enc
-    encoding/iso8859-14.enc
-    encoding/iso8859-15.enc
-    encoding/iso8859-16.enc
-    encoding/iso8859-2.enc
-    encoding/iso8859-3.enc
-    encoding/iso8859-4.enc
-    encoding/iso8859-5.enc
-    encoding/iso8859-6.enc
-    encoding/iso8859-7.enc
-    encoding/iso8859-8.enc
-    encoding/iso8859-9.enc
-    encoding/jis0201.enc
-    encoding/jis0208.enc
-    encoding/jis0212.enc
-    encoding/koi8-r.enc
-    encoding/koi8-u.enc
-    encoding/ksc5601.enc
-    encoding/macCentEuro.enc
-    encoding/macCroatian.enc
-    encoding/macCyrillic.enc
-    encoding/macDingbats.enc
-    encoding/macGreek.enc
-    encoding/macIceland.enc
-    encoding/macJapan.enc
-    encoding/macRoman.enc
-    encoding/macRomania.enc
-    encoding/macThai.enc
-    encoding/macTurkish.enc
-    encoding/macUkraine.enc
-    encoding/shiftjis.enc
-    encoding/symbol.enc
-    encoding/tis-620.enc
-    history.tcl
-    http1.0/http.tcl
-    http1.0/pkgIndex.tcl
-    init.tcl
-    msgs/af.msg
-    msgs/af_za.msg
-    msgs/ar.msg
-    msgs/ar_in.msg
-    msgs/ar_jo.msg
-    msgs/ar_lb.msg
-    msgs/ar_sy.msg
-    msgs/be.msg
-    msgs/bg.msg
-    msgs/bn.msg
-    msgs/bn_in.msg
-    msgs/ca.msg
-    msgs/cs.msg
-    msgs/da.msg
-    msgs/de.msg
-    msgs/de_at.msg
-    msgs/de_be.msg
-    msgs/el.msg
-    msgs/en_au.msg
-    msgs/en_be.msg
-    msgs/en_bw.msg
-    msgs/en_ca.msg
-    msgs/en_gb.msg
-    msgs/en_hk.msg
-    msgs/en_ie.msg
-    msgs/en_in.msg
-    msgs/en_nz.msg
-    msgs/en_ph.msg
-    msgs/en_sg.msg
-    msgs/en_za.msg
-    msgs/en_zw.msg
-    msgs/eo.msg
-    msgs/es.msg
-    msgs/es_ar.msg
-    msgs/es_bo.msg
-    msgs/es_cl.msg
-    msgs/es_co.msg
-    msgs/es_cr.msg
-    msgs/es_do.msg
-    msgs/es_ec.msg
-    msgs/es_gt.msg
-    msgs/es_hn.msg
-    msgs/es_mx.msg
-    msgs/es_ni.msg
-    msgs/es_pa.msg
-    msgs/es_pe.msg
-    msgs/es_pr.msg
-    msgs/es_py.msg
-    msgs/es_sv.msg
-    msgs/es_uy.msg
-    msgs/es_ve.msg
-    msgs/et.msg
-    msgs/eu.msg
-    msgs/eu_es.msg
-    msgs/fa.msg
-    msgs/fa_in.msg
-    msgs/fa_ir.msg
-    msgs/fi.msg
-    msgs/fo.msg
-    msgs/fo_fo.msg
-    msgs/fr.msg
-    msgs/fr_be.msg
-    msgs/fr_ca.msg
-    msgs/fr_ch.msg
-    msgs/ga.msg
-    msgs/ga_ie.msg
-    msgs/gl.msg
-    msgs/gl_es.msg
-    msgs/gv.msg
-    msgs/gv_gb.msg
-    msgs/he.msg
-    msgs/hi.msg
-    msgs/hi_in.msg
-    msgs/hr.msg
-    msgs/hu.msg
-    msgs/id.msg
-    msgs/id_id.msg
-    msgs/is.msg
-    msgs/it.msg
-    msgs/it_ch.msg
-    msgs/ja.msg
-    msgs/kl.msg
-    msgs/kl_gl.msg
-    msgs/ko.msg
-    msgs/ko_kr.msg
-    msgs/kok.msg
-    msgs/kok_in.msg
-    msgs/kw.msg
-    msgs/kw_gb.msg
-    msgs/lt.msg
-    msgs/lv.msg
-    msgs/mk.msg
-    msgs/mr.msg
-    msgs/mr_in.msg
-    msgs/ms.msg
-    msgs/ms_my.msg
-    msgs/mt.msg
-    msgs/nb.msg
-    msgs/nl.msg
-    msgs/nl_be.msg
-    msgs/nn.msg
-    msgs/pl.msg
-    msgs/pt.msg
-    msgs/pt_br.msg
-    msgs/ro.msg
-    msgs/ru.msg
-    msgs/ru_ua.msg
-    msgs/sh.msg
-    msgs/sk.msg
-    msgs/sl.msg
-    msgs/sq.msg
-    msgs/sr.msg
-    msgs/sv.msg
-    msgs/sw.msg
-    msgs/ta.msg
-    msgs/ta_in.msg
-    msgs/te.msg
-    msgs/te_in.msg
-    msgs/th.msg
-    msgs/tr.msg
-    msgs/uk.msg
-    msgs/vi.msg
-    msgs/zh.msg
-    msgs/zh_cn.msg
-    msgs/zh_hk.msg
-    msgs/zh_sg.msg
-    msgs/zh_tw.msg
-    opt0.4/optparse.tcl
-    opt0.4/pkgIndex.tcl
-    package.tcl
-    parray.tcl
-    safe.tcl
-    tclAppInit.c
-    tclIndex
-    tm.tcl
-    word.tcl
-    )
-  ExternalProject_ByProducts(TCL_BLD ${INCLUDE_DIR}
-    tclDecls.h
-    tcl.h
-    tclOODecls.h
-    tclOO.h
-    tclPlatDecls.h
-    tclTomMathDecls.h
-    tclTomMath.h
-    )
-
-  set(TCL_LIBRARIES tcl CACHE STRING "Building bundled tcl" FORCE)
-  set(TCL_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing tcl headers." FORCE)
-
-  set(ITCL_LIBRARIES itcl CACHE STRING "Building bundled itcl" FORCE)
-  set(ITCL_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing itcl headers." FORCE)
-
-
-
-  SetTargetFolder(TCL_BLD "Third Party Libraries")
-  SetTargetFolder(tcl "Third Party Libraries")
-
   if(BRLCAD_ENABLE_TK)
 
-    set(HAVE_TK 1 CACHE STRING "C level Tk flag" FORCE)
-    CONFIG_H_APPEND(BRLCAD "#cmakedefine HAVE_TK\n")
-
     ############
-    #    Tk
-    ############
-
-
-    set(TK_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/TK_BLD-prefix/src/TK_BLD")
-    set(TK_MINOR_VERSION 6)
-
-    if (NOT MSVC)
-
-      set(TK_PATCH_FILES "${TK_SRC_DIR}/unix/configure" 
"${TK_SRC_DIR}/macosx/configure" "${TK_SRC_DIR}/unix/tcl.m4")
-
-      ExternalProject_Add(TK_BLD
-       URL "${CMAKE_CURRENT_SOURCE_DIR}/tk"
-       BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-       PATCH_COMMAND rpath_replace "${CMAKE_BUILD_RPATH}" ${TK_PATCH_FILES}
-       CONFIGURE_COMMAND CPPFLAGS=-I${CMAKE_BINARY_DIR}/${INCLUDE_DIR} 
LDFLAGS=-L${CMAKE_BINARY_DIR}/${LIB_DIR} ${TK_SRC_DIR}/unix/configure 
--prefix=${CMAKE_BINARY_DIR} --with-tcl=${CMAKE_BINARY_DIR}/${LIB_DIR} 
--disable-xft --enable-64bit --enable-rpath
-       BUILD_COMMAND make -j${pcnt}
-       INSTALL_COMMAND make install
-       DEPENDS TCL_BLD ${PNG_LIBRARIES}
-       )
-    else (NOT MSVC)
-
-      ExternalProject_Add(TK_BLD
-       SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tk"
-       BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-       CONFIGURE_COMMAND ""
-       BINARY_DIR ${TK_SRC_DIR}/win
-       BUILD_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc 
INSTALLDIR=${CMAKE_BINARY_DIR} TCLDIR=${TCL_SRC_DIR}
-       INSTALL_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc install 
INSTALLDIR=${CMAKE_BINARY_DIR} TCLDIR=${TCL_SRC_DIR}
-       DEPENDS TCL_BLD ${PNG_LIBRARIES}
-       )
-
-    endif (NOT MSVC)
-
-    ExternalProject_Target(tk TK_BLD
-      OUTPUT_FILE libtk8.${TK_MINOR_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}
-      STATIC_OUTPUT_FILE 
libtkstub8.${TK_MINOR_VERSION}${CMAKE_STATIC_LIBRARY_SUFFIX}
-      RPATH
-      )
-    ExternalProject_Target(wish TK_BLD
-      OUTPUT_FILE wish8.${TK_MINOR_VERSION}${CMAKE_EXECUTABLE_SUFFIX}
-      RPATH EXEC
-      )
-
-    ExternalProject_ByProducts(TK_BLD ${LIB_DIR} FIXPATH
-      tkConfig.sh
-      )
-
-    ExternalProject_ByProducts(TK_BLD ${LIB_DIR}/tk8.${TK_MINOR_VERSION}
-      bgerror.tcl
-      button.tcl
-      choosedir.tcl
-      clrpick.tcl
-      comdlg.tcl
-      console.tcl
-      demos/README
-      demos/anilabel.tcl
-      demos/aniwave.tcl
-      demos/arrow.tcl
-      demos/bind.tcl
-      demos/bitmap.tcl
-      demos/browse
-      demos/button.tcl
-      demos/check.tcl
-      demos/clrpick.tcl
-      demos/colors.tcl
-      demos/combo.tcl
-      demos/cscroll.tcl
-      demos/ctext.tcl
-      demos/dialog1.tcl
-      demos/dialog2.tcl
-      demos/en.msg
-      demos/entry1.tcl
-      demos/entry2.tcl
-      demos/entry3.tcl
-      demos/filebox.tcl
-      demos/floor.tcl
-      demos/fontchoose.tcl
-      demos/form.tcl
-      demos/goldberg.tcl
-      demos/hello
-      demos/hscale.tcl
-      demos/icon.tcl
-      demos/image1.tcl
-      demos/image2.tcl
-      demos/images/earth.gif
-      demos/images/earthmenu.png
-      demos/images/earthris.gif
-      demos/images/flagdown.xbm
-      demos/images/flagup.xbm
-      demos/images/gray25.xbm
-      demos/images/letters.xbm
-      demos/images/noletter.xbm
-      demos/images/ouster.png
-      demos/images/pattern.xbm
-      demos/images/tcllogo.gif
-      demos/images/teapot.ppm
-      demos/items.tcl
-      demos/ixset
-      demos/knightstour.tcl
-      demos/label.tcl
-      demos/labelframe.tcl
-      demos/license.terms
-      demos/mclist.tcl
-      demos/menu.tcl
-      demos/menubu.tcl
-      demos/msgbox.tcl
-      demos/nl.msg
-      demos/paned1.tcl
-      demos/paned2.tcl
-      demos/pendulum.tcl
-      demos/plot.tcl
-      demos/puzzle.tcl
-      demos/radio.tcl
-      demos/rmt
-      demos/rolodex
-      demos/ruler.tcl
-      demos/sayings.tcl
-      demos/search.tcl
-      demos/spin.tcl
-      demos/states.tcl
-      demos/style.tcl
-      demos/tclIndex
-      demos/tcolor
-      demos/text.tcl
-      demos/textpeer.tcl
-      demos/timer
-      demos/toolbar.tcl
-      demos/tree.tcl
-      demos/ttkbut.tcl
-      demos/ttkmenu.tcl
-      demos/ttknote.tcl
-      demos/ttkpane.tcl
-      demos/ttkprogress.tcl
-      demos/ttkscale.tcl
-      demos/twind.tcl
-      demos/unicodeout.tcl
-      demos/vscale.tcl
-      demos/widget
-      dialog.tcl
-      entry.tcl
-      focus.tcl
-      fontchooser.tcl
-      iconlist.tcl
-      icons.tcl
-      images/README
-      images/logo.eps
-      images/logo100.gif
-      images/logo64.gif
-      images/logoLarge.gif
-      images/logoMed.gif
-      images/pwrdLogo.eps
-      images/pwrdLogo100.gif
-      images/pwrdLogo150.gif
-      images/pwrdLogo175.gif
-      images/pwrdLogo200.gif
-      images/pwrdLogo75.gif
-      images/tai-ku.gif
-      listbox.tcl
-      megawidget.tcl
-      menu.tcl
-      mkpsenc.tcl
-      msgbox.tcl
-      msgs/cs.msg
-      msgs/da.msg
-      msgs/de.msg
-      msgs/el.msg
-      msgs/en.msg
-      msgs/en_gb.msg
-      msgs/eo.msg
-      msgs/es.msg
-      msgs/fr.msg
-      msgs/hu.msg
-      msgs/it.msg
-      msgs/nl.msg
-      msgs/pl.msg
-      msgs/pt.msg
-      msgs/ru.msg
-      msgs/sv.msg
-      obsolete.tcl
-      optMenu.tcl
-      palette.tcl
-      panedwindow.tcl
-      pkgIndex.tcl
-      safetk.tcl
-      scale.tcl
-      scrlbar.tcl
-      spinbox.tcl
-      tclIndex
-      tearoff.tcl
-      text.tcl
-      tk.tcl
-      tkAppInit.c
-      tkfbox.tcl
-      ttk/altTheme.tcl
-      ttk/aquaTheme.tcl
-      ttk/button.tcl
-      ttk/clamTheme.tcl
-      ttk/classicTheme.tcl
-      ttk/combobox.tcl
-      ttk/cursors.tcl
-      ttk/defaults.tcl
-      ttk/entry.tcl
-      ttk/fonts.tcl
-      ttk/menubutton.tcl
-      ttk/notebook.tcl
-      ttk/panedwindow.tcl
-      ttk/progress.tcl
-      ttk/scale.tcl
-      ttk/scrollbar.tcl
-      ttk/sizegrip.tcl
-      ttk/spinbox.tcl
-      ttk/treeview.tcl
-      ttk/ttk.tcl
-      ttk/utils.tcl
-      ttk/vistaTheme.tcl
-      ttk/winTheme.tcl
-      ttk/xpTheme.tcl
-      unsupported.tcl
-      xmfbox.tcl
-      )
-    ExternalProject_ByProducts(TK_BLD ${INCLUDE_DIR}
-      tkDecls.h
-      tk.h
-      tkPlatDecls.h
-      )
-
-    set(TK_LIBRARIES tk CACHE STRING "Building bundled tk" FORCE)
-    set(TK_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing tcl headers." FORCE)
-
-    SetTargetFolder(TK_BLD "Third Party Libraries")
-    SetTargetFolder(tk "Third Party Libraries")
-
-    ############
     #    Itk
     ############
 

Modified: brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-29 12:28:22 UTC (rev 77261)
+++ brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-29 12:31:42 UTC (rev 77262)
@@ -177,6 +177,7 @@
 
 # TCL - scripting language
 include(${CMAKE_CURRENT_SOURCE_DIR}/tcl.cmake)
+include(${CMAKE_CURRENT_SOURCE_DIR}/tk.cmake)
 
 
 ###############################################################################

Added: brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake                   
        (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake   2020-09-29 
12:31:42 UTC (rev 77262)
@@ -0,0 +1,270 @@
+
+# By the time we get here, we have run FindTCL and should know
+# if we have TK.
+if (BRLCAD_ENABLE_TCL AND BRLCAD_ENABLE_TK AND NOT TK_FOUND)
+
+  set(HAVE_TK 1 CACHE STRING "C level Tk flag" FORCE)
+
+  if (TARGET TCL_BLD)
+    # If we're building against a compiled Tcl and not a system Tcl,
+    # set some vars accordingly
+    set(TCL_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/TCL_BLD-prefix/src/TCL_BLD")
+    set(TCL_MAJOR_VERSION 8)
+    set(TCL_MINOR_VERSION 6)
+    set(TCL_TARGET TCL_BLD)
+  endif (TARGET TCL_BLD)
+
+  set(TK_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/TK_BLD-prefix/src/TK_BLD")
+
+  # We need to set internal Tcl variables to the final install paths, not the 
intermediate install paths that
+  # Tcl's own build will think are the final paths.  Rather than attempt build 
system trickery we simply
+  # hard set the values in the source files by rewriting them.
+  if (NOT TARGET tcl_replace)
+    configure_file(${BRLCAD_CMAKE_DIR}/tcl_replace.cxx.in 
${CMAKE_CURRENT_BINARY_DIR}/tcl_replace.cxx)
+    add_executable(tcl_replace ${CMAKE_CURRENT_BINARY_DIR}/tcl_replace.cxx)
+  endif (NOT TARGET tcl_replace)
+
+  set(TK_PATCH_FILES "${TK_SRC_DIR}/unix/configure" 
"${TK_SRC_DIR}/macosx/configure" "${TK_SRC_DIR}/unix/tcl.m4")
+
+  if (NOT MSVC)
+
+    set(TK_BASENAME libtk${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+    set(TK_STUBNAME libtkstub${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+
+    ExternalProject_Add(TK_BLD
+      URL "${CMAKE_CURRENT_SOURCE_DIR}/../other/tk"
+      BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+      PATCH_COMMAND rpath_replace "${CMAKE_BUILD_RPATH}" ${TK_PATCH_FILES}
+      CONFIGURE_COMMAND CPPFLAGS=-I${CMAKE_BINARY_DIR}/${INCLUDE_DIR} 
LDFLAGS=-L${CMAKE_BINARY_DIR}/${LIB_DIR} ${TK_SRC_DIR}/unix/configure 
--prefix=${CMAKE_BINARY_DIR} --with-tcl=${CMAKE_BINARY_DIR}/${LIB_DIR} 
--disable-xft --enable-64bit --enable-rpath
+      BUILD_COMMAND make -j${pcnt}
+      INSTALL_COMMAND make install
+      DEPENDS ${TCL_TARGET}
+      )
+
+  else (NOT MSVC)
+
+    set(TCL_BASENAME tk${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+    set(TCL_STUBNAME tkstub${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+
+    ExternalProject_Add(TK_BLD
+      SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tk"
+      BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+      CONFIGURE_COMMAND ""
+      BINARY_DIR ${TK_SRC_DIR}/win
+      BUILD_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc 
INSTALLDIR=${CMAKE_BINARY_DIR} TCLDIR=${TCL_SRC_DIR}
+      INSTALL_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc install 
INSTALLDIR=${CMAKE_BINARY_DIR} TCLDIR=${TCL_SRC_DIR}
+      DEPENDS ${TCL_TARGET}
+      )
+
+  endif (NOT MSVC)
+
+  ExternalProject_Target(tk TK_BLD
+    OUTPUT_FILE ${TK_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    STATIC_OUTPUT_FILE ${TK_STUBNAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    RPATH
+    )
+  ExternalProject_Target(wish TK_BLD
+    OUTPUT_FILE 
wish${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${CMAKE_EXECUTABLE_SUFFIX}
+    RPATH EXEC
+    )
+
+  ExternalProject_ByProducts(TK_BLD ${LIB_DIR} FIXPATH
+    tkConfig.sh
+    )
+
+  ExternalProject_ByProducts(TK_BLD ${LIB_DIR}/tk8.${TK_MINOR_VERSION}
+    bgerror.tcl
+    button.tcl
+    choosedir.tcl
+    clrpick.tcl
+    comdlg.tcl
+    console.tcl
+    demos/README
+    demos/anilabel.tcl
+    demos/aniwave.tcl
+    demos/arrow.tcl
+    demos/bind.tcl
+    demos/bitmap.tcl
+    demos/browse
+    demos/button.tcl
+    demos/check.tcl
+    demos/clrpick.tcl
+    demos/colors.tcl
+    demos/combo.tcl
+    demos/cscroll.tcl
+    demos/ctext.tcl
+    demos/dialog1.tcl
+    demos/dialog2.tcl
+    demos/en.msg
+    demos/entry1.tcl
+    demos/entry2.tcl
+    demos/entry3.tcl
+    demos/filebox.tcl
+    demos/floor.tcl
+    demos/fontchoose.tcl
+    demos/form.tcl
+    demos/goldberg.tcl
+    demos/hello
+    demos/hscale.tcl
+    demos/icon.tcl
+    demos/image1.tcl
+    demos/image2.tcl
+    demos/images/earth.gif
+    demos/images/earthmenu.png
+    demos/images/earthris.gif
+    demos/images/flagdown.xbm
+    demos/images/flagup.xbm
+    demos/images/gray25.xbm
+    demos/images/letters.xbm
+    demos/images/noletter.xbm
+    demos/images/ouster.png
+    demos/images/pattern.xbm
+    demos/images/tcllogo.gif
+    demos/images/teapot.ppm
+    demos/items.tcl
+    demos/ixset
+    demos/knightstour.tcl
+    demos/label.tcl
+    demos/labelframe.tcl
+    demos/license.terms
+    demos/mclist.tcl
+    demos/menu.tcl
+    demos/menubu.tcl
+    demos/msgbox.tcl
+    demos/nl.msg
+    demos/paned1.tcl
+    demos/paned2.tcl
+    demos/pendulum.tcl
+    demos/plot.tcl
+    demos/puzzle.tcl
+    demos/radio.tcl
+    demos/rmt
+    demos/rolodex
+    demos/ruler.tcl
+    demos/sayings.tcl
+    demos/search.tcl
+    demos/spin.tcl
+    demos/states.tcl
+    demos/style.tcl
+    demos/tclIndex
+    demos/tcolor
+    demos/text.tcl
+    demos/textpeer.tcl
+    demos/timer
+    demos/toolbar.tcl
+    demos/tree.tcl
+    demos/ttkbut.tcl
+    demos/ttkmenu.tcl
+    demos/ttknote.tcl
+    demos/ttkpane.tcl
+    demos/ttkprogress.tcl
+    demos/ttkscale.tcl
+    demos/twind.tcl
+    demos/unicodeout.tcl
+    demos/vscale.tcl
+    demos/widget
+    dialog.tcl
+    entry.tcl
+    focus.tcl
+    fontchooser.tcl
+    iconlist.tcl
+    icons.tcl
+    images/README
+    images/logo.eps
+    images/logo100.gif
+    images/logo64.gif
+    images/logoLarge.gif
+    images/logoMed.gif
+    images/pwrdLogo.eps
+    images/pwrdLogo100.gif
+    images/pwrdLogo150.gif
+    images/pwrdLogo175.gif
+    images/pwrdLogo200.gif
+    images/pwrdLogo75.gif
+    images/tai-ku.gif
+    listbox.tcl
+    megawidget.tcl
+    menu.tcl
+    mkpsenc.tcl
+    msgbox.tcl
+    msgs/cs.msg
+    msgs/da.msg
+    msgs/de.msg
+    msgs/el.msg
+    msgs/en.msg
+    msgs/en_gb.msg
+    msgs/eo.msg
+    msgs/es.msg
+    msgs/fr.msg
+    msgs/hu.msg
+    msgs/it.msg
+    msgs/nl.msg
+    msgs/pl.msg
+    msgs/pt.msg
+    msgs/ru.msg
+    msgs/sv.msg
+    obsolete.tcl
+    optMenu.tcl
+    palette.tcl
+    panedwindow.tcl
+    pkgIndex.tcl
+    safetk.tcl
+    scale.tcl
+    scrlbar.tcl
+    spinbox.tcl
+    tclIndex
+    tearoff.tcl
+    text.tcl
+    tk.tcl
+    tkAppInit.c
+    tkfbox.tcl
+    ttk/altTheme.tcl
+    ttk/aquaTheme.tcl
+    ttk/button.tcl
+    ttk/clamTheme.tcl
+    ttk/classicTheme.tcl
+    ttk/combobox.tcl
+    ttk/cursors.tcl
+    ttk/defaults.tcl
+    ttk/entry.tcl
+    ttk/fonts.tcl
+    ttk/menubutton.tcl
+    ttk/notebook.tcl
+    ttk/panedwindow.tcl
+    ttk/progress.tcl
+    ttk/scale.tcl
+    ttk/scrollbar.tcl
+    ttk/sizegrip.tcl
+    ttk/spinbox.tcl
+    ttk/treeview.tcl
+    ttk/ttk.tcl
+    ttk/utils.tcl
+    ttk/vistaTheme.tcl
+    ttk/winTheme.tcl
+    ttk/xpTheme.tcl
+    unsupported.tcl
+    xmfbox.tcl
+    )
+  ExternalProject_ByProducts(TK_BLD ${INCLUDE_DIR}
+    tkDecls.h
+    tk.h
+    tkPlatDecls.h
+    )
+
+  list(APPEND BRLCAD_DEPS TK_BLD)
+
+  set(TK_LIBRARIES tk CACHE STRING "Building bundled tk" FORCE)
+  set(TK_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing tcl headers." FORCE)
+
+  SetTargetFolder(TK_BLD "Third Party Libraries")
+  SetTargetFolder(tk "Third Party Libraries")
+
+endif (BRLCAD_ENABLE_TCL AND BRLCAD_ENABLE_TK AND NOT TK_FOUND)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
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