Revision: 77567
          http://sourceforge.net/p/brlcad/code/77567
Author:   starseeker
Date:     2020-10-23 02:01:32 +0000 (Fri, 23 Oct 2020)
Log Message:
-----------
Add the ExternalProject controlling CMake logic for Tcl and Tk

Added Paths:
-----------
    brlcad/branches/extbuild/src/other/ext/tcl.cmake
    brlcad/branches/extbuild/src/other/ext/tk.cmake

Added: brlcad/branches/extbuild/src/other/ext/tcl.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/tcl.cmake                            
(rev 0)
+++ brlcad/branches/extbuild/src/other/ext/tcl.cmake    2020-10-23 02:01:32 UTC 
(rev 77567)
@@ -0,0 +1,365 @@
+if (BRLCAD_ENABLE_TCL)
+  set(TCL_VERSION "8.6" CACHE STRING "BRL-CAD uses Tcl 8.6" FORCE)
+endif (BRLCAD_ENABLE_TCL)
+
+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;BRLCAD_ENABLE_TCL"
+  RESET_VARS TCL_LIBRARY TCL_LIBRARIES TCL_STUB_LIBRARY TCL_TCLSH 
TCL_INCLUDE_PATH TCL_INCLUDE_DIRS
+  )
+
+if (BRLCAD_TCL_BUILD)
+
+  set(TCL_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/TCL_BLD-prefix/src/TCL_BLD")
+  set(TCL_MAJOR_VERSION 8)
+  set(TCL_MINOR_VERSION 6)
+
+  # In addition to the usual target dependencies, we need to adjust for the
+  # non-standard BRL-CAD zlib name, if we are using our bundled version.  Set a
+  # variable here so the tcl_replace utility will know the right value.
+  if (TARGET zlib_stage)
+    set(ZLIB_TARGET zlib_stage)
+    set(ZLIB_NAME z_brl)
+    set(DEFLATE_NAME brl_deflateSetHeader)
+  else (TARGET zlib_stage)
+    set(ZLIB_NAME z)
+    set(DEFLATE_NAME deflateSetHeader)
+  endif (TARGET zlib_stage)
+
+  # 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(${BDEPS_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(TCL_INSTDIR ${CMAKE_BINARY_ROOT}/ext/tcl)
+
+  if (NOT MSVC)
+
+    set(TCL_BASENAME libtcl${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+    set(TCL_STUBNAME libtclstub${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+    set(TCL_EXECNAME tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+
+    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_PATCH_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_ROOT}/${INCLUDE_DIR} 
LDFLAGS=-L${CMAKE_BINARY_ROOT}/${LIB_DIR} ${TCL_SRC_DIR}/unix/configure 
--prefix=${TCL_INSTDIR}
+      BUILD_COMMAND make -j${pcnt}
+      INSTALL_COMMAND make install
+      DEPENDS ${ZLIB_TARGET} tcl_replace rpath_replace
+      )
+    set(TCL_APPINIT tclAppInit.c)
+
+  else (NOT MSVC)
+
+    set(TCL_BASENAME tcl${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION})
+    set(TCL_STUBNAME tclstub${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION})
+    set(TCL_EXECNAME tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION})
+
+    ExternalProject_Add(TCL_BLD
+      URL "${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=${TCL_INSTDIR} SUFX=
+      INSTALL_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc install 
INSTALLDIR=${TCL_INSTDIR} SUFX=
+      )
+    set(TCL_APPINIT)
+
+  endif (NOT MSVC)
+
+  # Tell the parent build about files and libraries
+  ExternalProject_Target(SHARED tcl TCL_BLD ${TCL_INSTDIR}
+    ${TCL_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    RPATH
+    )
+
+  ExternalProject_Target(STATIC tclstub TCL_BLD ${TCL_INSTDIR}
+    ${TCL_STUBNAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    )
+
+  ExternalProject_Target(EXEC tclsh_exe TCL_BLD ${TCL_INSTDIR}
+    ${TCL_EXECNAME}${CMAKE_EXECUTABLE_SUFFIX}
+    RPATH
+    )
+
+  ExternalProject_ByProducts(tcl TCL_BLD ${TCL_INSTDIR} ${LIB_DIR}
+    tclConfig.sh
+    tclooConfig.sh
+    FIXPATH
+    )
+  ExternalProject_ByProducts(tcl TCL_BLD ${TCL_INSTDIR} 
${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
+    ${TCL_APPINIT}
+    tclIndex
+    tm.tcl
+    word.tcl
+    )
+
+  ExternalProject_ByProducts(tcl TCL_BLD ${TCL_INSTDIR} ${LIB_DIR}/tcl8/8.5
+    msgcat-1.6.1.tm
+    )
+
+  ExternalProject_ByProducts(tcl TCL_BLD ${TCL_INSTDIR} ${INCLUDE_DIR}
+    tclDecls.h
+    tcl.h
+    tclOODecls.h
+    tclOO.h
+    tclPlatDecls.h
+    tclTomMathDecls.h
+    tclTomMath.h
+    )
+
+  # Anything building against the stub will want the headers, etc. in place
+  add_dependencies(tclstub tcl_stage)
+
+  set(TCL_LIBRARY tcl CACHE STRING "Building bundled tcl" FORCE)
+  set(TCL_LIBRARIES tcl CACHE STRING "Building bundled tcl" FORCE)
+  set(TCL_STUB_LIBRARY tclstub CACHE STRING "Building bundled tcl" FORCE)
+  set(TCL_TCLSH tclsh_exe CACHE STRING "Building bundled tcl" FORCE)
+  set(TCL_INCLUDE_PATH "${CMAKE_BINARY_ROOT}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing tcl headers." FORCE)
+  set(TCL_INCLUDE_DIRS "${CMAKE_BINARY_ROOT}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing tcl headers." FORCE)
+
+
+  SetTargetFolder(TCL_BLD "Third Party Libraries")
+  SetTargetFolder(tcl "Third Party Libraries")
+
+endif (BRLCAD_TCL_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/extbuild/src/other/ext/tcl.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
Added: brlcad/branches/extbuild/src/other/ext/tk.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/tk.cmake                             
(rev 0)
+++ brlcad/branches/extbuild/src/other/ext/tk.cmake     2020-10-23 02:01:32 UTC 
(rev 77567)
@@ -0,0 +1,259 @@
+
+# By the time we get here, we have run FindTCL and should know
+# if we have TK.
+
+if (NOT TK_LIBRARY OR TARGET tcl_stage)
+  set(TK_DO_BUILD 1)
+else (NOT TK_LIBRARY OR TARGET tcl_stage)
+  set(TK_DO_BUILD 0)
+endif (NOT TK_LIBRARY OR TARGET tcl_stage)
+
+if (BRLCAD_ENABLE_TCL AND BRLCAD_ENABLE_TK AND TK_DO_BUILD)
+
+  set(HAVE_TK 1 CACHE STRING "C level Tk flag" FORCE)
+  set(BRLCAD_TK_BUILD ON CACHE STRING "Enabling Tk build" FORCE)
+
+  if (TARGET tcl_stage)
+    # 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_stage)
+  else (TARGET tcl_stage)
+    get_filename_component(TCLCONF_DIR "${TCL_LIBRARY}" DIRECTORY)
+  endif (TARGET tcl_stage)
+
+  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(${BDEPS_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_INSTDIR ${CMAKE_BINARY_ROOT}/ext/tk)
+
+  if (NOT MSVC)
+
+    set(TK_BASENAME libtk${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+    set(TK_STUBNAME libtkstub${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+    set(TK_WISHNAME wish${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
+
+    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_ROOT}/${INCLUDE_DIR} 
LDFLAGS=-L${CMAKE_BINARY_ROOT}/${LIB_DIR} ${TK_SRC_DIR}/unix/configure 
--prefix=${TK_INSTDIR} 
--with-tcl=$<IF:$<BOOL:${TCL_TARGET}>,${CMAKE_BINARY_ROOT}/${LIB_DIR},${TCLCONF_DIR}>
 --disable-xft --enable-64bit --enable-rpath
+      BUILD_COMMAND make -j${pcnt}
+      INSTALL_COMMAND make install
+      DEPENDS ${TCL_TARGET} rpath_replace
+      )
+
+    set(TK_APPINIT tkAppInit.c)
+
+  else (NOT MSVC)
+
+    set(TK_BASENAME tk${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION})
+    set(TK_STUBNAME tkstub${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION})
+    set(TK_WISHNAME wish${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION})
+
+    ExternalProject_Add(TK_BLD
+      URL "${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=${TK_INSTDIR} TCLDIR=${TCL_SRC_DIR} SUFX=
+      INSTALL_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc install 
INSTALLDIR=${TK_INSTDIR} TCLDIR=${TCL_SRC_DIR} SUFX=
+      DEPENDS ${TCL_TARGET}
+      )
+
+    set(TK_APPINIT)
+
+  endif (NOT MSVC)
+
+  # Tell the parent build about files and libraries
+  ExternalProject_Target(SHARED tk TK_BLD ${TK_INSTDIR}
+    ${TK_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    RPATH
+    )
+  ExternalProject_Target(STATIC tkstub TK_BLD ${TK_INSTDIR}
+    ${TK_STUBNAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    )
+
+  ExternalProject_Target(EXEC wish_exe TK_BLD ${TK_INSTDIR}
+    ${TK_WISHNAME}${CMAKE_EXECUTABLE_SUFFIX}
+    RPATH
+    )
+
+  if (NOT MSVC)
+    ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} ${LIB_DIR}
+      tkConfig.sh
+      FIXPATH
+      )
+  endif (NOT MSVC)
+
+  ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} 
${LIB_DIR}/tk8.${TCL_MINOR_VERSION}
+    bgerror.tcl
+    button.tcl
+    choosedir.tcl
+    clrpick.tcl
+    comdlg.tcl
+    console.tcl
+    dialog.tcl
+    entry.tcl
+    focus.tcl
+    fontchooser.tcl
+    iconlist.tcl
+    icons.tcl
+    listbox.tcl
+    megawidget.tcl
+    menu.tcl
+    mkpsenc.tcl
+    msgbox.tcl
+    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
+    ${TK_APPINIT}
+    tkfbox.tcl
+    unsupported.tcl
+    xmfbox.tcl
+    )
+
+  ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} 
${LIB_DIR}/tk8.${TCL_MINOR_VERSION}/images
+    README
+    logo.eps
+    logo100.gif
+    logo64.gif
+    logoLarge.gif
+    logoMed.gif
+    pwrdLogo.eps
+    pwrdLogo100.gif
+    pwrdLogo150.gif
+    pwrdLogo175.gif
+    pwrdLogo200.gif
+    pwrdLogo75.gif
+    tai-ku.gif
+    )
+
+  ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} 
${LIB_DIR}/tk8.${TCL_MINOR_VERSION}/msgs
+    cs.msg
+    da.msg
+    de.msg
+    el.msg
+    en.msg
+    en_gb.msg
+    eo.msg
+    es.msg
+    fr.msg
+    hu.msg
+    it.msg
+    nl.msg
+    pl.msg
+    pt.msg
+    ru.msg
+    sv.msg
+    )
+
+  ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} 
${LIB_DIR}/tk8.${TCL_MINOR_VERSION}/ttk
+    altTheme.tcl
+    aquaTheme.tcl
+    button.tcl
+    clamTheme.tcl
+    classicTheme.tcl
+    combobox.tcl
+    cursors.tcl
+    defaults.tcl
+    entry.tcl
+    fonts.tcl
+    menubutton.tcl
+    notebook.tcl
+    panedwindow.tcl
+    progress.tcl
+    scale.tcl
+    scrollbar.tcl
+    sizegrip.tcl
+    spinbox.tcl
+    treeview.tcl
+    ttk.tcl
+    utils.tcl
+    vistaTheme.tcl
+    winTheme.tcl
+    xpTheme.tcl
+    )
+
+  ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} ${INCLUDE_DIR}
+    tkDecls.h
+    tk.h
+    tkPlatDecls.h
+    )
+
+  if (MSVC)
+    ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} ${INCLUDE_DIR}
+      tkIntXlibDecls.h
+      X11/ap_keysym.h
+      X11/cursorfont.h
+      X11/DECkeysym.h
+      X11/HPkeysym.h
+      X11/keysymdef.h
+      X11/keysym.h
+      X11/Sunkeysym.h
+      X11/Xatom.h
+      X11/XF86keysym.h
+      X11/Xfuncproto.h
+      X11/X.h
+      X11/Xlib.h
+      X11/Xutil.h
+      )
+  endif (MSVC)
+
+  # If something uses the stub, we're going to want the headers, etc. in place
+  add_dependencies(tkstub tk_stage)
+
+  if (TARGET tcl_stage)
+    add_dependencies(tk_stage tcl_stage)
+  endif (TARGET tcl_stage)
+
+  set(TK_LIBRARY tk CACHE STRING "Building bundled tk" FORCE)
+  set(TK_LIBRARIES tk CACHE STRING "Building bundled tk" FORCE)
+  set(TK_STUB_LIBRARY tkstub CACHE STRING "Building bundled tk" FORCE)
+  #set(TTK_STUB_LIBRARY ttkstub CACHE STRING "Building bundled tk" FORCE)
+  set(TK_WISH wish_exe CACHE STRING "Building bundled tk" FORCE)
+  set(TK_INCLUDE_PATH "${CMAKE_BINARY_ROOT}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing tcl headers." FORCE)
+  set(TK_INCLUDE_DIRS "${CMAKE_BINARY_ROOT}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing tcl headers." FORCE)
+
+  SetTargetFolder(TK_BLD "Third Party Libraries")
+  SetTargetFolder(tk "Third Party Libraries")
+
+elseif (BRLCAD_ENABLE_TCL AND BRLCAD_ENABLE_TK)
+
+  set(HAVE_TK 1 CACHE STRING "C level Tk flag" FORCE)
+  set(BRLCAD_TK_BUILD OFF CACHE STRING "Disabling Tk build" FORCE)
+
+elseif (NOT BRLCAD_ENABLE_TK)
+
+  set(BRLCAD_TK_BUILD "Disabled" CACHE STRING "Disabling Tk build" FORCE)
+
+endif (BRLCAD_ENABLE_TCL AND BRLCAD_ENABLE_TK AND TK_DO_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/extbuild/src/other/ext/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