Revision: 77383
          http://sourceforge.net/p/brlcad/code/77383
Author:   starseeker
Date:     2020-10-09 14:33:33 +0000 (Fri, 09 Oct 2020)
Log Message:
-----------
Enable tk

Modified Paths:
--------------
    brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/superbuild/tcl.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake

Modified: brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-10-09 14:20:15 UTC (rev 77382)
+++ brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-10-09 14:33:33 UTC (rev 77383)
@@ -180,6 +180,8 @@
 set(BRLCAD_LEVEL3 ON)
 set(BRLCAD_ENABLE_STEP ON)
 set(BRLCAD_ENABLE_GDAL ON)
+set(BRLCAD_ENABLE_TCL ON)
+set(BRLCAD_ENABLE_TK ON)
 
 ###############################################################################
 # BRL-CAD and some of its dependencies require the lemon, re2c and perplex
@@ -224,7 +226,7 @@
 
 ## TCL - scripting language
 include(${CMAKE_CURRENT_SOURCE_DIR}/tcl.cmake)
-#include(${CMAKE_CURRENT_SOURCE_DIR}/tk.cmake)
+include(${CMAKE_CURRENT_SOURCE_DIR}/tk.cmake)
 #include(${CMAKE_CURRENT_SOURCE_DIR}/itcl.cmake)
 #include(${CMAKE_CURRENT_SOURCE_DIR}/itk.cmake)
 #include(${CMAKE_CURRENT_SOURCE_DIR}/iwidgets.cmake)

Modified: brlcad/branches/thirdparty_rework/src/superbuild/tcl.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/tcl.cmake  2020-10-09 
14:20:15 UTC (rev 77382)
+++ brlcad/branches/thirdparty_rework/src/superbuild/tcl.cmake  2020-10-09 
14:33:33 UTC (rev 77383)
@@ -5,7 +5,7 @@
 version if BRLCAD_BUNDLED_LIBS is also AUTO.
 ")
 
-THIRD_PARTY(tcl TCL tcl tcl_DESCRIPTION ALIASES ENABLE_TCL REQUIRED_VARS 
BRLCAD_LEVEL2)
+THIRD_PARTY(tcl TCL tcl tcl_DESCRIPTION ALIASES ENABLE_TCL REQUIRED_VARS 
"BRLCAD_LEVEL2;BRLCAD_ENABLE_TCL")
 
 if (BRLCAD_TCL_BUILD)
 
@@ -16,20 +16,22 @@
   # 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_BLD)
-    set(ZLIB_TARGET ZLIB_BLD)
+  if (TARGET zlib_stage)
+    set(ZLIB_TARGET zlib_stage)
     set(ZLIB_NAME z_brl)
     set(DEFLATE_NAME brl_deflateSetHeader)
-  else (TARGET ZLIB_BLD)
+  else (TARGET zlib_stage)
     set(ZLIB_NAME z)
     set(DEFLATE_NAME deflateSetHeader)
-  endif (TARGET ZLIB_BLD)
+  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.
-  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)
+  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_DIR}/tcl$<CONFIG>)
 
@@ -49,7 +51,7 @@
       CONFIGURE_COMMAND 
CPPFLAGS=-I${CMAKE_BINARY_DIR}/$<CONFIG>/${INCLUDE_DIR} 
LDFLAGS=-L${CMAKE_BINARY_DIR}/$<CONFIG>/${LIB_DIR} 
${TCL_SRC_DIR}/unix/configure --prefix=${TCL_INSTDIR}
       BUILD_COMMAND make -j${pcnt}
       INSTALL_COMMAND make install
-      DEPENDS ${ZLIB_TARGET} tcl_replace
+      DEPENDS ${ZLIB_TARGET} tcl_replace rpath_replace
       )
   else (NOT MSVC)
 

Modified: brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake   2020-10-09 
14:20:15 UTC (rev 77382)
+++ brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake   2020-10-09 
14:33:33 UTC (rev 77383)
@@ -5,16 +5,16 @@
 
   set(HAVE_TK 1 CACHE STRING "C level Tk flag" FORCE)
 
-  if (TARGET TCL_BLD)
+  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_BLD)
-  else (TARGET TCL_BLD)
+    set(TCL_TARGET tcl_stage)
+  else (TARGET tcl_stage)
     get_filename_component(TCLCONF_DIR "${TCL_LIBRARY}" DIRECTORY)
-  endif (TARGET TCL_BLD)
+  endif (TARGET tcl_stage)
 
   set(TK_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/TK_BLD-prefix/src/TK_BLD")
 
@@ -26,21 +26,24 @@
     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")
+  set(TK_INSTDIR ${CMAKE_BINARY_DIR}/tk$<CONFIG>)
 
+
   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_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_INSTALL_PREFIX}/${INCLUDE_DIR} 
LDFLAGS=-L${CMAKE_INSTALL_PREFIX}/${LIB_DIR} ${TK_SRC_DIR}/unix/configure 
--prefix=${CMAKE_INSTALL_PREFIX} 
--with-tcl=$<IF:$<BOOL:${TCL_TARGET}>,${CMAKE_INSTALL_PREFIX}/${LIB_DIR},${TCLCONF_DIR}>
 --disable-xft --enable-64bit --enable-rpath
+      CONFIGURE_COMMAND 
CPPFLAGS=-I${CMAKE_BINARY_DIR}/$<CONFIG>/${INCLUDE_DIR} 
LDFLAGS=-L${CMAKE_BINARY_DIR}/$<CONFIG>/${LIB_DIR} ${TK_SRC_DIR}/unix/configure 
--prefix=${TK_INSTDIR} 
--with-tcl=$<IF:$<BOOL:${TCL_TARGET}>,${CMAKE_BINARY_DIR}/$<CONFIG>/${LIB_DIR},${TCLCONF_DIR}>
 --disable-xft --enable-64bit --enable-rpath
       BUILD_COMMAND make -j${pcnt}
       INSTALL_COMMAND make install
-      DEPENDS ${TCL_TARGET}
+      DEPENDS ${TCL_TARGET} rpath_replace
       )
 
   else (NOT MSVC)
@@ -53,8 +56,8 @@
       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_INSTALL_PREFIX} TCLDIR=${TCL_SRC_DIR}
-      INSTALL_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc install 
INSTALLDIR=${CMAKE_INSTALL_PREFIX} TCLDIR=${TCL_SRC_DIR}
+      BUILD_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc 
INSTALLDIR=${TK_INSTDIR} TCLDIR=${TCL_SRC_DIR}
+      INSTALL_COMMAND ${VCVARS_BAT} && nmake -f makefile.vc install 
INSTALLDIR=${TK_INSTDIR} TCLDIR=${TCL_SRC_DIR}
       DEPENDS ${TCL_TARGET}
       )
 
@@ -61,22 +64,22 @@
   endif (NOT MSVC)
 
   # Tell the parent build about files and libraries
-  file(APPEND "${SUPERBUILD_OUT}" "
-  ExternalProject_Target(tk TK_BLD
-    OUTPUT_FILE ${TK_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
-    STATIC_OUTPUT_FILE ${TK_STUBNAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+  ExternalProject_Target(tk TK_BLD ${TK_INSTDIR}
+    SHARED ${LIB_DIR}/${TK_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    STATIC ${LIB_DIR}/${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_Target(wish TK_BLD ${TK_INSTDIR}
+    EXEC 
${BIN_DIR}/wish${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${CMAKE_EXECUTABLE_SUFFIX}
+    RPATH
     )
 
-  ExternalProject_ByProducts(TK_BLD ${LIB_DIR} FIXPATH
+  ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} ${LIB_DIR} ${LIB_DIR}
     tkConfig.sh
+    FIXPATH
     )
 
-  ExternalProject_ByProducts(TK_BLD ${LIB_DIR}/tk8.${TCL_MINOR_VERSION}
+  ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} 
${LIB_DIR}/tk8.${TCL_MINOR_VERSION} ${LIB_DIR}/tk8.${TCL_MINOR_VERSION}
     bgerror.tcl
     button.tcl
     choosedir.tcl
@@ -249,17 +252,14 @@
     unsupported.tcl
     xmfbox.tcl
     )
-  ExternalProject_ByProducts(TK_BLD ${INCLUDE_DIR}
+  ExternalProject_ByProducts(tk TK_BLD ${TK_INSTDIR} ${INCLUDE_DIR} 
${INCLUDE_DIR}
     tkDecls.h
     tk.h
     tkPlatDecls.h
     )
-  \n")
 
-  list(APPEND BRLCAD_DEPS TK_BLD)
-
   set(TK_LIBRARIES tk CACHE STRING "Building bundled tk" FORCE)
-  set(TK_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing tcl headers." FORCE)
+  set(TK_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/$<CONFIG>/${INCLUDE_DIR}" CACHE 
STRING "Directory containing tcl headers." FORCE)
 
   SetTargetFolder(TK_BLD "Third Party Libraries")
   SetTargetFolder(tk "Third Party Libraries")

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