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