Revision: 77400
          http://sourceforge.net/p/brlcad/code/77400
Author:   starseeker
Date:     2020-10-10 03:42:43 +0000 (Sat, 10 Oct 2020)
Log Message:
-----------
Ah - tkhtml using static stubs was exercising otherwise dormant (and incorrect) 
portions of the logic.  Also wasn't getting Tk setup on reconfigure because 
TK_LIBRARY was set - will need some better when-to-build logic, but for now get 
it running.

Modified Paths:
--------------
    
brlcad/branches/thirdparty_rework/src/superbuild/CMake/ExternalProject_Target.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/tcl.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake

Modified: 
brlcad/branches/thirdparty_rework/src/superbuild/CMake/ExternalProject_Target.cmake
===================================================================
--- 
brlcad/branches/thirdparty_rework/src/superbuild/CMake/ExternalProject_Target.cmake
 2020-10-10 03:01:43 UTC (rev 77399)
+++ 
brlcad/branches/thirdparty_rework/src/superbuild/CMake/ExternalProject_Target.cmake
 2020-10-10 03:42:43 UTC (rev 77400)
@@ -132,7 +132,7 @@
 
 function(ET_target_props etarg IN_IMPORT_PREFIX IN_LINK_TARGET)
 
-  cmake_parse_arguments(ET "STATIC;EXEC" "LINK_TARGET_DEBUG" "" ${ARGN})
+  cmake_parse_arguments(ET "STATIC;EXEC" 
"LINK_TARGET_DEBUG;STATIC_LINK_TARGET_DEBUG" "" ${ARGN})
 
   if(NOT CMAKE_CONFIGURATION_TYPES)
 
@@ -170,10 +170,21 @@
       # The config variables are the ones set in this mode.
       if(ET_STATIC)
        set(IMPORT_PREFIX "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}")
+       if("${CFG_TYPE_UPPER}" STREQUAL "DEBUG")
+         set(LINK_TARGET ${ET_STATIC_LINK_TARGET_DEBUG})
+       else("${CFG_TYPE_UPPER}" STREQUAL "DEBUG")
+         set(LINK_TARGET ${IN_LINK_TARGET})
+       endif("${CFG_TYPE_UPPER}" STREQUAL "DEBUG")
       elseif(ET_EXEC)
        set(IMPORT_PREFIX "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}")
+       set(LINK_TARGET ${IN_LINK_TARGET})
       else()
        set(IMPORT_PREFIX "${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}")
+       if("${CFG_TYPE_UPPER}" STREQUAL "DEBUG")
+         set(LINK_TARGET ${ET_LINK_TARGET_DEBUG})
+       else("${CFG_TYPE_UPPER}" STREQUAL "DEBUG")
+         set(LINK_TARGET ${IN_LINK_TARGET})
+       endif("${CFG_TYPE_UPPER}" STREQUAL "DEBUG")
       endif(ET_STATIC)
 
       if(IN_IMPORT_PREFIX)
@@ -182,12 +193,6 @@
 
       message("IMPORT_PREFIX: ${IMPORT_PREFIX}")
 
-      if("${CFG_TYPE_UPPER}" STREQUAL "DEBUG")
-       set(LINK_TARGET ${ET_LINK_TARGET_DEBUG})
-      else("${CFG_TYPE_UPPER}" STREQUAL "DEBUG")
-       set(LINK_TARGET ${IN_LINK_TARGET})
-      endif("${CFG_TYPE_UPPER}" STREQUAL "DEBUG")
-
       message("LINK_TARGET: ${LINK_TARGET}")
 
       set_target_properties(${etarg} PROPERTIES
@@ -347,10 +352,11 @@
   # If we do have a static lib as well, handle that
   if (E_STATIC AND BUILD_STATIC_LIBS)
     add_library(${etarg}-static STATIC IMPORTED GLOBAL)
+    string(REPLACE "${LIB_DIR}/" ""  ENAME ${E_STATIC})
     if (E_STATIC_LINK_TARGET AND NOT MSVC)
       ET_target_props(${etarg}-static "${E_IMPORT_PREFIX}" 
${E_STATIC_LINK_TARGET} STATIC_LINK_TARGET_DEBUG "${STATIC_LINK_TARGET_DEBUG}" 
STATIC)
     else (E_STATIC_LINK_TARGET AND NOT MSVC)
-      ET_target_props(${etarg}-static "${E_IMPORT_PREFIX}" 
${E_STATIC_OUTPUT_FILE} STATIC_LINK_TARGET_DEBUG "${STATIC_LINK_TARGET_DEBUG}" 
STATIC)
+      ET_target_props(${etarg}-static "${E_IMPORT_PREFIX}" ${ENAME} 
STATIC_LINK_TARGET_DEBUG "${STATIC_LINK_TARGET_DEBUG}" STATIC)
     endif (E_STATIC_LINK_TARGET AND NOT MSVC)
     if (MSVC)
       string(REPLACE "${BIN_DIR}/" ""  ENAME ${E_STATIC})
@@ -370,6 +376,7 @@
 
     string(REPLACE "${BIN_DIR}/" ""  ENAME ${E_EXEC})
     fcfgcpy(TOUT ${extproj} ${extroot} ${BIN_DIR} ${E_EXEC} ${ENAME})
+    message("TOUT: ${TOUT}")
     string(REPLACE "${BIN_DIR}/" ""  ENAME ${E_EXEC})
     ET_target_props(${etarg} "${E_IMPORT_PREFIX}" ${ENAME} EXEC)
     install(PROGRAMS "${CMAKE_BINARY_DIR}/$<CONFIG>/${E_EXEC}" DESTINATION 
${BIN_DIR}/${E_SUBDIR})

Modified: brlcad/branches/thirdparty_rework/src/superbuild/tcl.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/tcl.cmake  2020-10-10 
03:01:43 UTC (rev 77399)
+++ brlcad/branches/thirdparty_rework/src/superbuild/tcl.cmake  2020-10-10 
03:42:43 UTC (rev 77400)
@@ -325,9 +325,12 @@
     tclTomMath.h
     )
 
+  # Anything building against the stub will want the headers, etc. in place
+  add_dependencies(tclstub-static 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_STUB_LIBRARY tclstub-static CACHE STRING "Building bundled tcl" 
FORCE)
   set(TCL_TCLSH tclsh_exe CACHE STRING "Building bundled tcl" FORCE)
   set(TCL_INCLUDE_PATH "${CMAKE_BINARY_DIR}/$<CONFIG>/${INCLUDE_DIR}" CACHE 
STRING "Directory containing tcl headers." FORCE)
   set(TCL_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/$<CONFIG>/${INCLUDE_DIR}" CACHE 
STRING "Directory containing tcl headers." FORCE)

Modified: brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake   2020-10-10 
03:01:43 UTC (rev 77399)
+++ brlcad/branches/thirdparty_rework/src/superbuild/tk.cmake   2020-10-10 
03:42:43 UTC (rev 77400)
@@ -1,8 +1,15 @@
 
 # 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_LIBRARY)
 
+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)
 
   if (TARGET tcl_stage)
@@ -28,7 +35,6 @@
 
   set(TK_INSTDIR ${CMAKE_BINARY_DIR}/tk$<CONFIG>)
 
-
   if (NOT MSVC)
 
     set(TK_BASENAME libtk${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})
@@ -191,9 +197,12 @@
     tkPlatDecls.h
     )
 
+  # If something uses the stub, we're going to want the headers, etc. in place
+  add_dependencies(tkstub-static tk_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(TK_STUB_LIBRARY tkstub-static 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_DIR}/$<CONFIG>/${INCLUDE_DIR}" CACHE 
STRING "Directory containing tcl headers." FORCE)
@@ -220,7 +229,7 @@
   SetTargetFolder(TK_BLD "Third Party Libraries")
   SetTargetFolder(tk "Third Party Libraries")
 
-endif (BRLCAD_ENABLE_TCL AND BRLCAD_ENABLE_TK AND NOT TK_LIBRARY)
+endif (BRLCAD_ENABLE_TCL AND BRLCAD_ENABLE_TK AND TK_DO_BUILD)
 
 # Local Variables:
 # tab-width: 8

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