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