Revision: 77577
http://sourceforge.net/p/brlcad/code/77577
Author: starseeker
Date: 2020-10-23 02:27:23 +0000 (Fri, 23 Oct 2020)
Log Message:
-----------
Pull in Itcl/Itk CMake changes
Modified Paths:
--------------
brlcad/branches/extbuild/src/other/ext/itcl3/CMakeLists.txt
brlcad/branches/extbuild/src/other/ext/itk3/CMakeLists.txt
Added Paths:
-----------
brlcad/branches/extbuild/src/other/ext/itcl3/CMake/
brlcad/branches/extbuild/src/other/ext/itcl3/CMake/FindTCL.cmake
brlcad/branches/extbuild/src/other/ext/itk3/CMake/
brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindITCL.cmake
brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindTCL.cmake
Removed Paths:
-------------
brlcad/branches/extbuild/src/other/ext/itcl3/ITCL_PKGINDEX.cmake
brlcad/branches/extbuild/src/other/ext/itcl3/pkgIndex.tcl.in
brlcad/branches/extbuild/src/other/ext/itcl3/pkg_mkIndex.cmake
brlcad/branches/extbuild/src/other/ext/itk3/ITK_PKGINDEX.cmake
brlcad/branches/extbuild/src/other/ext/itk3/pkgIndex.tcl.in
brlcad/branches/extbuild/src/other/ext/itk3/pkg_mkIndex.cmake
Added: brlcad/branches/extbuild/src/other/ext/itcl3/CMake/FindTCL.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itcl3/CMake/FindTCL.cmake
(rev 0)
+++ brlcad/branches/extbuild/src/other/ext/itcl3/CMake/FindTCL.cmake
2020-10-23 02:27:23 UTC (rev 77577)
@@ -0,0 +1,450 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindTCL
+-------
+
+This module finds if Tcl is installed and determines where the include
+files and libraries are. It also determines what the name of the
+library is. This code sets the following variables:
+
+::
+
+TCL_FOUND = Tcl was found
+TK_FOUND = Tk was found
+TCLTK_FOUND = Tcl and Tk were found
+TCLSH_FOUND = TRUE if tclsh has been found
+TCL_LIBRARY = path to Tcl library (tcl tcl80)
+TCL_INCLUDE_PATH = path to where tcl.h can be found
+TCL_TCLSH = path to tclsh binary (tcl tcl80)
+TK_LIBRARY = path to Tk library (tk tk80 etc)
+TK_INCLUDE_PATH = path to where tk.h can be found
+TK_WISH = full path to the wish executable
+TCL_STUB_LIBRARY = path to Tcl stub library
+TK_STUB_LIBRARY = path to Tk stub library
+TTK_STUB_LIBRARY = path to ttk stub library
+
+#]=======================================================================]
+
+include(CMakeFindFrameworks)
+
+set(_TCL_SEARCHES)
+
+# Search TCL_ROOT first if it is set.
+if(TCL_ROOT)
+ set(_TCL_SEARCH_ROOT PATHS ${TCL_ROOT} NO_DEFAULT_PATH)
+ list(APPEND _TCL_SEARCHES _TCL_SEARCH_ROOT)
+endif()
+
+if(WIN32)
+ get_filename_component(
+ ActiveTcl_CurrentVersion
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+ NAME)
+ set(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
+
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
+ )
+
+ get_filename_component(
+ ActiveTcl_CurrentVersion
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+ NAME)
+ set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
+ "$ENV{ProgramFiles}/Tcl/Lib"
+ "C:/Program Files/Tcl/lib"
+ "C:/Tcl/lib"
+ )
+
+ set(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include"
+ "$ENV{ProgramFiles}/Tcl/include"
+ "C:/Program Files/Tcl/include"
+ "C:/Tcl/include"
+ )
+endif()
+
+set(TCL_TCLSH_NAMES
+ tclsh
+ tclsh${TCL_LIBRARY_VERSION} tclsh${TK_LIBRARY_VERSION}
tclsh${TK_WISH_VERSION}
+ tclsh87 tclsh8.7
+ tclsh86 tclsh8.6
+ tclsh85 tclsh8.5
+ tclsh84 tclsh8.4
+ tclsh83 tclsh8.3
+ tclsh82 tclsh8.2
+ tclsh80 tclsh8.0
+ )
+if(CYGWIN)
+ set(TCL_TCLSH_NAMES ${TCL_TCLSH_NAMES} cygtclsh83 cygtclsh80)
+endif(CYGWIN)
+
+foreach(search ${_TCL_SEARCHES})
+ find_program(TCL_TCLSH NAMES ${TCL_TCLSH_NAMES} ${${search}} PATH_SUFFIXES
bin)
+endforeach()
+if (NOT TCL_TCLSH)
+ find_program(TCL_TCLSH NAMES ${TCL_TCLSH_NAMES} HINTS
${TCLTK_POSSIBLE_BIN_PATHS})
+endif (NOT TCL_TCLSH)
+
+set(TK_WISH_NAMES
+ wish
+ wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
+ wish86 wish8.6
+ wish85 wish8.5
+ wish84 wish8.4
+ wish83 wish8.3
+ wish82 wish8.2
+ wish80 wish8.0
+ )
+
+if(CYGWIN)
+ set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
+endif()
+
+foreach(search ${_TCL_SEARCHES})
+ find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
+endforeach()
+if (NOT TK_WISH)
+ find_program(TK_WISH NAMES ${TK_WISH_NAMES} HINTS
${TCLTK_POSSIBLE_BIN_PATHS})
+endif (NOT TK_WISH)
+
+if(TCLSH_VERSION_STRING)
+ set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
+else()
+ get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
+ get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
+ string(REGEX REPLACE
+ "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
+endif()
+
+set(TCLTK_POSSIBLE_LIB_PATHS
+ "${TCL_INCLUDE_PATH_PARENT}/lib"
+ "${TK_INCLUDE_PATH_PARENT}/lib"
+ "${TCL_LIBRARY_PATH}"
+ "${TK_LIBRARY_PATH}"
+ "${TCL_TCLSH_PATH_PARENT}/lib"
+ "${TK_WISH_PATH_PARENT}/lib"
+ )
+set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
+ lib
+ lib/tcl
+ lib/tcl/tcl8.7
+ lib/tcl/tk8.7
+ lib/tcl/tcl8.6
+ lib/tcl/tk8.6
+ lib/tcl/tcl8.5
+ lib/tcl/tk8.5
+ lib/tcl/tcl8.4
+ lib/tcl/tk8.4
+ )
+
+set(TCL_POSSIBLE_LIB_NAMES
+ tcl
+ tcl${TCL_LIBRARY_VERSION} tcl${TCL_TCLSH_VERSION} tcl${TK_WISH_VERSION}
+ tcl87 tcl8.7 tcl87t tcl8.7t
+ tcl86 tcl8.6 tcl86t tcl8.6t
+ tcl85 tcl8.5
+ tcl84 tcl8.4
+ tcl83 tcl8.3
+ tcl82 tcl8.2
+ tcl80 tcl8.0
+ )
+
+if(NOT TCL_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TCL_LIBRARY
+ NAMES ${TCL_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES})
+ endforeach()
+endif()
+if(NOT TCL_LIBRARY)
+ find_library(TCL_LIBRARY
+ NAMES ${TCL_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+endif(NOT TCL_LIBRARY)
+
+set(TCLSTUB_POSSIBLE_LIB_NAMES
+ tclstub
+ tclstub${TK_LIBRARY_VERSION} tclstub${TCL_TCLSH_VERSION}
tclstub${TK_WISH_VERSION}
+ tclstub87 tclstub8.7
+ tclstub86 tclstub8.6
+ tclstub85 tclstub8.5
+ tclstub84 tclstub8.4
+ tclstub83 tclstub8.3
+ tclstub82 tclstub8.2
+ tclstub80 tclstub8.0
+ )
+if(NOT TCL_STUB_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TCL_STUB_LIBRARY
+ NAMES ${TCLSTUB_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+ endforeach()
+endif()
+if(NOT TCL_STUB_LIBRARY)
+ find_library(TCL_STUB_LIBRARY
+ NAMES ${TCLSTUB_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ )
+endif()
+
+set(TK_POSSIBLE_LIB_NAMES
+ tk
+ tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
+ tk87 tk8.7 tk87t tk8.7t
+ tk86 tk8.6 tk86t tk8.6t
+ tk85 tk8.5
+ tk84 tk8.4
+ tk83 tk8.3
+ tk82 tk8.2
+ tk80 tk8.0
+ )
+
+if(NOT TK_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TK_LIBRARY
+ NAMES ${TK_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+ endforeach()
+endif()
+if(NOT TK_LIBRARY)
+ find_library(TK_LIBRARY
+ NAMES ${TK_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+endif(NOT TK_LIBRARY)
+
+set(TK_STUB_POSSIBLE_LIB_NAMES
+ tkstub
+ tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION}
tkstub${TK_WISH_VERSION}
+ tkstub87 tkstub8.7
+ tkstub86 tkstub8.6
+ tkstub85 tkstub8.5
+ tkstub84 tkstub8.4
+ tkstub83 tkstub8.3
+ tkstub82 tkstub8.2
+ tkstub80 tkstub8.0
+ )
+
+if(NOT TK_STUB_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TK_STUB_LIBRARY
+ NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+ endforeach()
+endif()
+if(NOT TK_STUB_LIBRARY)
+ find_library(TK_STUB_LIBRARY
+ NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ )
+endif()
+
+set(TTK_STUB_POSSIBLE_LIB_NAMES
+ ttkstub
+ ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION}
ttkstub${TK_WISH_VERSION}
+ ttkstub88 ttkstub8.8
+ ttkstub87 ttkstub8.7
+ ttkstub86 ttkstub8.6
+ ttkstub85 ttkstub8.5
+ )
+
+if(NOT TTK_STUB_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TTK_STUB_LIBRARY
+ NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+ endforeach()
+endif()
+if(NOT TTK_STUB_LIBRARY)
+ find_library(TTK_STUB_LIBRARY
+ NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ )
+endif()
+
+CMAKE_FIND_FRAMEWORKS(Tcl)
+CMAKE_FIND_FRAMEWORKS(Tk)
+
+set(TCL_FRAMEWORK_INCLUDES)
+if(Tcl_FRAMEWORKS)
+ if(NOT TCL_INCLUDE_PATH)
+ foreach(dir ${Tcl_FRAMEWORKS})
+ set(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
+ endforeach()
+ endif()
+endif()
+
+set(TK_FRAMEWORK_INCLUDES)
+if(Tk_FRAMEWORKS)
+ if(NOT TK_INCLUDE_PATH)
+ foreach(dir ${Tk_FRAMEWORKS})
+ set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
+ ${dir}/Headers ${dir}/PrivateHeaders)
+ endforeach()
+ endif()
+endif()
+
+set(TCLTK_POSSIBLE_INCLUDE_PATHS
+ "${TCL_LIBRARY_PATH_PARENT}/include"
+ "${TK_LIBRARY_PATH_PARENT}/include"
+ "${TCL_INCLUDE_PATH}"
+ "${TK_INCLUDE_PATH}"
+ ${TCL_FRAMEWORK_INCLUDES}
+ ${TK_FRAMEWORK_INCLUDES}
+ "${TCL_TCLSH_PATH_PARENT}/include"
+ "${TK_WISH_PATH_PARENT}/include"
+ )
+
+set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
+ include/tcl${TK_LIBRARY_VERSION}
+ include/tcl${TCL_LIBRARY_VERSION}
+ include/tcl8.7
+ include/tk8.7
+ include/tcl8.6
+ include/tk8.6
+ include/tcl8.5
+ include/tk8.5
+ include/tcl8.4
+ include/tk8.4
+ include/tcl8.3
+ include/tcl8.2
+ include/tcl8.0
+ )
+
+foreach(search ${_TCL_SEARCHES})
+ find_path(TCL_INCLUDE_PATH
+ NAMES tcl.h ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+ )
+endforeach()
+if (NOT TCL_INCLUDE_PATH)
+ find_path(TCL_INCLUDE_PATH
+ NAMES tcl.h
+ HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+ )
+endif()
+foreach(search ${_TCL_SEARCHES})
+ find_path(TK_INCLUDE_PATH
+ NAMES tk.h ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+ )
+endforeach()
+if (NOT TK_INCLUDE_PATH)
+ find_path(TK_INCLUDE_PATH
+ NAMES tk.h
+ HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+ )
+endif()
+
+# IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check that
the
+# windowing system matches the specified type
+if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET
"${TK_WISH}")
+ set(tkwin_script "
+ set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
+ set fileId [open $filename \"w\"]
+ set windowingsystem [tk windowingsystem]
+ puts $fileId $windowingsystem
+ close $fileId
+ exit
+ ")
+ set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
+ set(WSYS "wm-NOTFOUND")
+ file(WRITE ${tkwin_scriptfile} ${tkwin_script})
+ execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE
EXECOUTPUT)
+ if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+ file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" readresultvar)
+ string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
+ endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+
+ # If we have no information about the windowing system or it does not match
+ # a specified system, the find_package detection has failed
+ if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+ unset(TCL_LIBRARY CACHE)
+ unset(TCL_STUB_LIBRARY CACHE)
+ unset(TK_LIBRARY CACHE)
+ unset(TK_STUB_LIBRARY CACHE)
+ unset(TCL_FOUND CACHE)
+ unset(TK_FOUND CACHE)
+ unset(TCLTK_FOUND CACHE)
+ unset(TCLSH_FOUND CACHE)
+ unset(TCL_LIBRARY CACHE)
+ unset(TCL_INCLUDE_PATH CACHE)
+ unset(TCL_TCLSH CACHE)
+ unset(TK_LIBRARY CACHE)
+ unset(TK_INCLUDE_PATH CACHE)
+ unset(TK_WISH CACHE)
+ unset(TCL_STUB_LIBRARY CACHE)
+ unset(TK_STUB_LIBRARY CACHE)
+ unset(TTK_STUB_LIBRARY CACHE)
+ endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET
"${TK_WISH}")
+
+include(FindPackageHandleStandardArgs)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL
+ REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TCL_TCLSH
+ VERSION_VAR TCLSH_VERSION_STRING)
+set(FPHSA_NAME_MISMATCHED 1)
+set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+set(TCLTK_FIND_QUIETLY ${TCL_FIND_QUIETLY})
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
+ REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY
TK_STUB_LIBRARY TK_INCLUDE_PATH)
+set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+set(TK_FIND_QUIETLY ${TCL_FIND_QUIETLY})
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
+ REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
+unset(FPHSA_NAME_MISMATCHED)
+
+mark_as_advanced(
+ TCL_INCLUDE_PATH
+ TCL_LIBRARY
+ TCL_STUB_LIBRARY
+ TCL_TCLSH
+ TK_INCLUDE_PATH
+ TK_LIBRARY
+ TK_STUB_LIBRARY
+ TK_WISH
+ TTK_STUB_LIBRARY
+ )
+
+
+# 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/itcl3/CMake/FindTCL.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
Modified: brlcad/branches/extbuild/src/other/ext/itcl3/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itcl3/CMakeLists.txt 2020-10-23
02:24:55 UTC (rev 77576)
+++ brlcad/branches/extbuild/src/other/ext/itcl3/CMakeLists.txt 2020-10-23
02:27:23 UTC (rev 77577)
@@ -42,6 +42,8 @@
# set CMake project name
project(ITCL)
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
+
find_package(TCL)
# version numbers
@@ -53,19 +55,22 @@
#---------------------------------------------------------------------
# Initialize some relative variable names
-if(NOT DEFINED BIN_DIR)
+if(NOT BIN_DIR)
set(BIN_DIR bin)
-endif(NOT DEFINED BIN_DIR)
-if(NOT DEFINED LIB_DIR)
+endif(NOT BIN_DIR)
+if(NOT SHARED_DIR)
if(NOT WIN32)
- set(LIB_DIR lib)
+ set(SHARED_DIR lib)
else(NOT WIN32)
- set(LIB_DIR bin)
+ set(SHARED_DIR bin)
endif(NOT WIN32)
-endif(NOT DEFINED LIB_DIR)
-if(NOT DEFINED INCLUDE_DIR)
+endif(NOT SHARED_DIR)
+if(NOT LIB_DIR)
+ set(LIB_DIR lib)
+endif(NOT LIB_DIR)
+if(NOT INCLUDE_DIR)
set(INCLUDE_DIR include)
-endif(NOT DEFINED INCLUDE_DIR)
+endif(NOT INCLUDE_DIR)
#----------------------------------------------------------------------------
# First, get some standard options out of the way
@@ -155,12 +160,11 @@
set(ITCL_INCLUDE_PATH ${ITCL_SOURCE_DIR}/generic ${ITCL_BINARY_DIR}/include)
mark_as_advanced(ITCL_INCLUDE_PATH)
-
# ITcl requires private Tcl headers, which we can't assume from a system
-# install of Tcl. The workaround is to use our local copies and hope they
-# are workable. (Ugh.)
-if (TARGET tcl OR NOT EXISTS "${TCL_INCLUDE_PATH}/tcl-private/generic")
- set(TCL_PRIVATE_HDRS ${CMAKE_CURRENT_SOURCE_DIR}/../tcl/generic)
+# install of Tcl. The fallback is to use our local copies and hope they
+# work. (Ugh.)
+if (NOT EXISTS "${TCL_INCLUDE_PATH}/tcl-private/generic")
+ set(TCL_PRIVATE_HDRS ${CMAKE_CURRENT_SOURCE_DIR}/../tcl/generic)
if(NOT WIN32)
set(TCL_PRIVATE_HDRS ${TCL_PRIVATE_HDRS}
${CMAKE_CURRENT_SOURCE_DIR}/../tcl/unix)
else(NOT WIN32)
@@ -181,52 +185,32 @@
${TCL_PRIVATE_HDRS}
)
-add_library(itcl ${ITCL_SRCS})
-target_link_libraries(itcl ${M_LIBRARY} ${TCL_STUB_LIBRARY} )
-set_target_properties(itcl PROPERTIES VERSION ${ITCL_VERSION} SOVERSION
${ITCL_VERSION_MAJOR})
-set_property(TARGET itcl APPEND PROPERTY COMPILE_DEFINITIONS USE_TCL_STUBS)
-install(TARGETS itcl
- RUNTIME DESTINATION ${BIN_DIR}
- LIBRARY DESTINATION ${LIB_DIR}
- ARCHIVE DESTINATION ${LIB_DIR})
-if (TARGET tcl)
- add_dependencies(itcl tcl)
-endif (TARGET tcl)
+add_library(itcl${ITCL_VERSION} SHARED ${ITCL_SRCS})
+target_link_libraries(itcl${ITCL_VERSION} ${M_LIBRARY} ${TCL_STUB_LIBRARY} )
+set_property(TARGET itcl${ITCL_VERSION} APPEND PROPERTY COMPILE_DEFINITIONS
USE_TCL_STUBS)
+install(TARGETS itcl${ITCL_VERSION}
+ RUNTIME DESTINATION ${BIN_DIR}/itcl${ITCL_VERSION}
+ LIBRARY DESTINATION ${SHARED_DIR}/itcl${ITCL_VERSION}
+ ARCHIVE DESTINATION ${LIB_DIR}/itcl${ITCL_VERSION})
add_library(itclstub STATIC ${ITCL_STUB_SRCS})
install(TARGETS itclstub
- RUNTIME DESTINATION ${BIN_DIR}
- LIBRARY DESTINATION ${LIB_DIR}
- ARCHIVE DESTINATION ${LIB_DIR})
+ RUNTIME DESTINATION ${BIN_DIR}/itcl${ITCL_VERSION}
+ LIBRARY DESTINATION ${LIB_DIR}/itcl${ITCL_VERSION}
+ ARCHIVE DESTINATION ${LIB_DIR}/itcl${ITCL_VERSION})
set_property(TARGET itclstub APPEND PROPERTY COMPILE_DEFINITIONS USE_TCL_STUBS)
# Create pkgIndex.tcl files
-include(ITCL_PKGINDEX.cmake)
-ITCL_PKGINDEX(itcl itcl ${ITCL_VERSION})
-if (TARGET tclsh)
- add_dependencies(tclsh itcl_pkgIndex)
-endif (TARGET tclsh)
-if (TARGET wish)
- add_dependencies(wish itcl_pkgIndex)
-endif (TARGET wish)
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl"
+ CONTENT "
+if {![package vsatisfies [package provide Tcl] ${TCL_VERSION}]} {return}
+package ifneeded Itcl ${ITCL_VERSION} [list load [file join $dir
../../${SHARED_DIR}/itcl${ITCL_VERSION}
$<TARGET_FILE_NAME:itcl${ITCL_VERSION}>] Itcl]
+")
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl DESTINATION
${LIB_DIR}/itcl${ITCL_VERSION})
+install(FILES library/itcl.tcl DESTINATION ${LIB_DIR}/itcl${ITCL_VERSION})
-# Put library files where they need to go, and set up install rules
-set(LIBRARY_FILES itcl.tcl)
-foreach(libfile ${LIBRARY_FILES})
- if(NOT CMAKE_CONFIGURATION_TYPES)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/library/${libfile}
- ${CMAKE_BINARY_DIR}/lib/itcl${ITCL_VERSION}/${libfile} COPYONLY)
- else(NOT CMAKE_CONFIGURATION_TYPES)
- foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/library/${libfile}
-
${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/lib/itcl${ITCL_VERSION}/${libfile}
COPYONLY)
- endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- endif(NOT CMAKE_CONFIGURATION_TYPES)
- install(FILES library/${libfile} DESTINATION lib/itcl${ITCL_VERSION})
-endforeach(libfile ${LIBRARY_FILES})
-
set(ITCL_HDRS
generic/itcl.h
generic/itclDecls.h
@@ -233,21 +217,8 @@
generic/itclInt.h
generic/itclIntDecls.h
)
-install(FILES ${ITCL_HDRS} DESTINATION include)
+install(FILES ${ITCL_HDRS} DESTINATION ${INCLUDE_DIR})
-# Set up build directory copies of the public headers
-foreach(hdrfile ${ITCL_HDRS})
- get_filename_component(hf ${hdrfile} NAME)
- if(NOT CMAKE_CONFIGURATION_TYPES)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${hdrfile}
${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/${hf} COPYONLY)
- else(NOT CMAKE_CONFIGURATION_TYPES)
- foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${hdrfile}
${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${INCLUDE_DIR}/${hf} COPYONLY)
- endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- endif(NOT CMAKE_CONFIGURATION_TYPES)
-endforeach(hdrfile ${ITCL_HDRS})
-
# Local Variables:
# tab-width: 8
# mode: cmake
Deleted: brlcad/branches/extbuild/src/other/ext/itcl3/ITCL_PKGINDEX.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itcl3/ITCL_PKGINDEX.cmake
2020-10-23 02:24:55 UTC (rev 77576)
+++ brlcad/branches/extbuild/src/other/ext/itcl3/ITCL_PKGINDEX.cmake
2020-10-23 02:27:23 UTC (rev 77577)
@@ -1,66 +0,0 @@
-#=============================================================================
-#
-# Copyright (c) 2010-2020 United States Government as represented by
-# the U.S. Army Research Laboratory.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# * The names of the authors may not be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#=============================================================================
-
-#============================================================
-# TCL_PKGINDEX
-#============================================================
-function(ITCL_PKGINDEX target pkgname pkgversion)
-
- set(INST_DIR "${LIB_DIR}")
- if(MSVC)
- set(INST_DIR "${BIN_DIR}")
- endif(MSVC)
-
- set(WORKING_PKGFILE
"${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LIB_DIR}/${pkgname}${pkgversion}/pkgIndex.tcl")
- set(INSTALL_PKGFILE "${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl")
-
- add_custom_command(OUTPUT ${WORKING_PKGFILE} ${INSTALL_PKGFILE}
- COMMAND ${CMAKE_COMMAND} -DWORKING_PKGFILE="${WORKING_PKGFILE}"
-DINSTALL_PKGFILE="${INSTALL_PKGFILE}"
-DTF_NAME="$<TARGET_FILE_NAME:${target}>"
-DTF_DIR="$<TARGET_FILE_DIR:${target}>" -Dpkgname="${pkgname}"
-Dpkgversion="${pkgversion}" -DINST_DIR="${INST_DIR}" -P
${CMAKE_CURRENT_SOURCE_DIR}/pkg_mkIndex.cmake
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/pkg_mkIndex.cmake
- )
- add_custom_target(${pkgname}_pkgIndex ALL DEPENDS ${WORKING_PKGFILE}
${INSTALL_PKGFILE})
-
- install(FILES ${INSTALL_PKGFILE} DESTINATION
${LIB_DIR}/${pkgname}${pkgversion})
-
- DISTCLEAN("${WORKING_PKGFILE}")
- DISTCLEAN("${INSTALL_PKGFILE}")
-
-endfunction(ITCL_PKGINDEX)
-
-# Local Variables:
-# tab-width: 8
-# mode: cmake
-# indent-tabs-mode: t
-# End:
-# ex: shiftwidth=2 tabstop=8
Deleted: brlcad/branches/extbuild/src/other/ext/itcl3/pkgIndex.tcl.in
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itcl3/pkgIndex.tcl.in
2020-10-23 02:24:55 UTC (rev 77576)
+++ brlcad/branches/extbuild/src/other/ext/itcl3/pkgIndex.tcl.in
2020-10-23 02:27:23 UTC (rev 77577)
@@ -1,4 +0,0 @@
-# Tcl package index file, version 1.0
-
-if {![package vsatisfies [package provide Tcl] @TCL_VERSION@]} {return}
-package ifneeded Itcl @PACKAGE_VERSION@ [list load [file join $dir
"@PKG_LIB_FILE@"] Itcl]
Deleted: brlcad/branches/extbuild/src/other/ext/itcl3/pkg_mkIndex.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itcl3/pkg_mkIndex.cmake
2020-10-23 02:24:55 UTC (rev 77576)
+++ brlcad/branches/extbuild/src/other/ext/itcl3/pkg_mkIndex.cmake
2020-10-23 02:27:23 UTC (rev 77577)
@@ -1,56 +0,0 @@
-#=============================================================================
-#
-# Copyright (c) 2010-2020 United States Government as represented by
-# the U.S. Army Research Laboratory.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# * The names of the authors may not be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#=============================================================================
-
-string(REPLACE "\\" "" TF_DIR ${TF_DIR})
-string(REPLACE "\\" "" INST_DIR ${INST_DIR})
-string(REPLACE "\\" "" WORKING_PKGFILE ${WORKING_PKGFILE})
-string(REPLACE "\\" "" INSTALL_PKGFILE ${INSTALL_PKGFILE})
-
-file(WRITE "${WORKING_PKGFILE}" "if {![package vsatisfies [package provide
Tcl] 8.6]} return\n")
-file(APPEND "${WORKING_PKGFILE}" "package ifneeded itcl ${pkgversion} [list
load [file join $dir \"${TF_DIR}\" ${TF_NAME}] Itcl]\n")
-file(APPEND "${WORKING_PKGFILE}" "package ifneeded Itcl ${pkgversion} [list
load [file join $dir \"${TF_DIR}\" ${TF_NAME}] Itcl]\n")
-
-
-file(WRITE "${INSTALL_PKGFILE}" "if {![package vsatisfies [package provide
Tcl] 8.6]} return\n")
-file(APPEND "${INSTALL_PKGFILE}" "package ifneeded itcl ${pkgversion} [list
load [file join $dir .. .. \"${INST_DIR}\" ${TF_NAME}] Itcl]\n")
-file(APPEND "${INSTALL_PKGFILE}" "package ifneeded Itcl ${pkgversion} [list
load [file join $dir .. .. \"${INST_DIR}\" ${TF_NAME}] Itcl]\n")
-
-
-
-# Local Variables:
-# tab-width: 8
-# mode: cmake
-# indent-tabs-mode: t
-# End:
-# ex: shiftwidth=2 tabstop=8
Added: brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindITCL.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindITCL.cmake
(rev 0)
+++ brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindITCL.cmake
2020-10-23 02:27:23 UTC (rev 77577)
@@ -0,0 +1,115 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindTCL
+-------
+
+This module finds if Tcl is installed and determines where the include
+files and libraries are. It also determines what the name of the
+library is. This code sets the following variables:
+
+::
+
+ITCL_FOUND = Tcl was found
+ITCL_LIBRARY = path to Tcl library (tcl tcl80)
+ITCL_INCLUDE_PATH = path to where tcl.h can be found
+ITCL_STUB_LIBRARY = path to Tcl stub library
+
+#]=======================================================================]
+
+include(CMakeFindFrameworks)
+
+set(_ITCL_SEARCHES)
+
+# Search ITCL_ROOT first if it is set.
+if(ITCL_ROOT)
+ set(_ITCL_SEARCH_ROOT PATHS ${ITCL_ROOT} NO_DEFAULT_PATH)
+ list(APPEND _ITCL_SEARCHES _ITCL_SEARCH_ROOT)
+endif()
+
+set(ITCL_POSSIBLE_LIB_PATH_SUFFIXES
+ lib
+ lib/itcl
+ lib/itcl3.4
+ )
+
+set(ITCL_POSSIBLE_LIB_NAMES
+ itcl
+ itcl3
+ itcl3.4
+ )
+
+if(NOT ITCL_LIBRARY)
+ foreach(search ${_ITCL_SEARCHES})
+ find_library(ITCL_LIBRARY
+ NAMES ${ITCL_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${ITCL_POSSIBLE_LIB_PATH_SUFFIXES})
+ endforeach()
+endif()
+if(NOT ITCL_LIBRARY)
+ find_library(ITCL_LIBRARY
+ NAMES ${ITCL_POSSIBLE_LIB_NAMES}
+ PATH_SUFFIXES ${ITCL_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+endif(NOT ITCL_LIBRARY)
+
+set(ITCLSTUB_POSSIBLE_LIB_NAMES
+ itclstub
+ itclstub3
+ itclstub3.4
+ )
+if(NOT ITCL_STUB_LIBRARY)
+ foreach(search ${_ITCL_SEARCHES})
+ find_library(ITCL_STUB_LIBRARY
+ NAMES ${ITCLSTUB_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${ITCL_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+ endforeach()
+endif()
+if(NOT ITCL_STUB_LIBRARY)
+ find_library(ITCL_STUB_LIBRARY
+ NAMES ${ITCLSTUB_POSSIBLE_LIB_NAMES}
+ )
+endif()
+
+set(ITCL_POSSIBLE_INCLUDE_PATH_SUFFIXES
+ include
+ include/itcl
+ include/itcl3
+ include/itcl3.4
+ )
+
+foreach(search ${_ITCL_SEARCHES})
+ find_path(ITCL_INCLUDE_PATH
+ NAMES itcl.h ${${search}}
+ PATH_SUFFIXES ${ITCL_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+ )
+endforeach()
+if (NOT ITCL_INCLUDE_PATH)
+ find_path(ITCL_INCLUDE_PATH
+ NAMES itcl.h
+ HINTS ${ITCL_POSSIBLE_INCLUDE_PATHS}
+ )
+endif()
+
+include(FindPackageHandleStandardArgs)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ITCL
+ REQUIRED_VARS ITCL_LIBRARY ITCL_STUB_LIBRARY ITCL_INCLUDE_PATH
+ )
+
+mark_as_advanced(
+ ITCL_INCLUDE_PATH
+ ITCL_LIBRARY
+ ITCL_STUB_LIBRARY
+ )
+
+# 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/itk3/CMake/FindITCL.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/itk3/CMake/FindTCL.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindTCL.cmake
(rev 0)
+++ brlcad/branches/extbuild/src/other/ext/itk3/CMake/FindTCL.cmake
2020-10-23 02:27:23 UTC (rev 77577)
@@ -0,0 +1,450 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindTCL
+-------
+
+This module finds if Tcl is installed and determines where the include
+files and libraries are. It also determines what the name of the
+library is. This code sets the following variables:
+
+::
+
+TCL_FOUND = Tcl was found
+TK_FOUND = Tk was found
+TCLTK_FOUND = Tcl and Tk were found
+TCLSH_FOUND = TRUE if tclsh has been found
+TCL_LIBRARY = path to Tcl library (tcl tcl80)
+TCL_INCLUDE_PATH = path to where tcl.h can be found
+TCL_TCLSH = path to tclsh binary (tcl tcl80)
+TK_LIBRARY = path to Tk library (tk tk80 etc)
+TK_INCLUDE_PATH = path to where tk.h can be found
+TK_WISH = full path to the wish executable
+TCL_STUB_LIBRARY = path to Tcl stub library
+TK_STUB_LIBRARY = path to Tk stub library
+TTK_STUB_LIBRARY = path to ttk stub library
+
+#]=======================================================================]
+
+include(CMakeFindFrameworks)
+
+set(_TCL_SEARCHES)
+
+# Search TCL_ROOT first if it is set.
+if(TCL_ROOT)
+ set(_TCL_SEARCH_ROOT PATHS ${TCL_ROOT} NO_DEFAULT_PATH)
+ list(APPEND _TCL_SEARCHES _TCL_SEARCH_ROOT)
+endif()
+
+if(WIN32)
+ get_filename_component(
+ ActiveTcl_CurrentVersion
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+ NAME)
+ set(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
+
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
+ )
+
+ get_filename_component(
+ ActiveTcl_CurrentVersion
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+ NAME)
+ set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
+ "$ENV{ProgramFiles}/Tcl/Lib"
+ "C:/Program Files/Tcl/lib"
+ "C:/Tcl/lib"
+ )
+
+ set(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include"
+ "$ENV{ProgramFiles}/Tcl/include"
+ "C:/Program Files/Tcl/include"
+ "C:/Tcl/include"
+ )
+endif()
+
+set(TCL_TCLSH_NAMES
+ tclsh
+ tclsh${TCL_LIBRARY_VERSION} tclsh${TK_LIBRARY_VERSION}
tclsh${TK_WISH_VERSION}
+ tclsh87 tclsh8.7
+ tclsh86 tclsh8.6
+ tclsh85 tclsh8.5
+ tclsh84 tclsh8.4
+ tclsh83 tclsh8.3
+ tclsh82 tclsh8.2
+ tclsh80 tclsh8.0
+ )
+if(CYGWIN)
+ set(TCL_TCLSH_NAMES ${TCL_TCLSH_NAMES} cygtclsh83 cygtclsh80)
+endif(CYGWIN)
+
+foreach(search ${_TCL_SEARCHES})
+ find_program(TCL_TCLSH NAMES ${TCL_TCLSH_NAMES} ${${search}} PATH_SUFFIXES
bin)
+endforeach()
+if (NOT TCL_TCLSH)
+ find_program(TCL_TCLSH NAMES ${TCL_TCLSH_NAMES} HINTS
${TCLTK_POSSIBLE_BIN_PATHS})
+endif (NOT TCL_TCLSH)
+
+set(TK_WISH_NAMES
+ wish
+ wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
+ wish86 wish8.6
+ wish85 wish8.5
+ wish84 wish8.4
+ wish83 wish8.3
+ wish82 wish8.2
+ wish80 wish8.0
+ )
+
+if(CYGWIN)
+ set(TK_WISH_NAMES ${TK_WISH_NAMES} cygwish80 )
+endif()
+
+foreach(search ${_TCL_SEARCHES})
+ find_program(TK_WISH NAMES ${TK_WISH_NAMES} ${${search}} PATH_SUFFIXES bin)
+endforeach()
+if (NOT TK_WISH)
+ find_program(TK_WISH NAMES ${TK_WISH_NAMES} HINTS
${TCLTK_POSSIBLE_BIN_PATHS})
+endif (NOT TK_WISH)
+
+if(TCLSH_VERSION_STRING)
+ set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
+else()
+ get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
+ get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
+ string(REGEX REPLACE
+ "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
+endif()
+
+set(TCLTK_POSSIBLE_LIB_PATHS
+ "${TCL_INCLUDE_PATH_PARENT}/lib"
+ "${TK_INCLUDE_PATH_PARENT}/lib"
+ "${TCL_LIBRARY_PATH}"
+ "${TK_LIBRARY_PATH}"
+ "${TCL_TCLSH_PATH_PARENT}/lib"
+ "${TK_WISH_PATH_PARENT}/lib"
+ )
+set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
+ lib
+ lib/tcl
+ lib/tcl/tcl8.7
+ lib/tcl/tk8.7
+ lib/tcl/tcl8.6
+ lib/tcl/tk8.6
+ lib/tcl/tcl8.5
+ lib/tcl/tk8.5
+ lib/tcl/tcl8.4
+ lib/tcl/tk8.4
+ )
+
+set(TCL_POSSIBLE_LIB_NAMES
+ tcl
+ tcl${TCL_LIBRARY_VERSION} tcl${TCL_TCLSH_VERSION} tcl${TK_WISH_VERSION}
+ tcl87 tcl8.7 tcl87t tcl8.7t
+ tcl86 tcl8.6 tcl86t tcl8.6t
+ tcl85 tcl8.5
+ tcl84 tcl8.4
+ tcl83 tcl8.3
+ tcl82 tcl8.2
+ tcl80 tcl8.0
+ )
+
+if(NOT TCL_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TCL_LIBRARY
+ NAMES ${TCL_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES})
+ endforeach()
+endif()
+if(NOT TCL_LIBRARY)
+ find_library(TCL_LIBRARY
+ NAMES ${TCL_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+endif(NOT TCL_LIBRARY)
+
+set(TCLSTUB_POSSIBLE_LIB_NAMES
+ tclstub
+ tclstub${TK_LIBRARY_VERSION} tclstub${TCL_TCLSH_VERSION}
tclstub${TK_WISH_VERSION}
+ tclstub87 tclstub8.7
+ tclstub86 tclstub8.6
+ tclstub85 tclstub8.5
+ tclstub84 tclstub8.4
+ tclstub83 tclstub8.3
+ tclstub82 tclstub8.2
+ tclstub80 tclstub8.0
+ )
+if(NOT TCL_STUB_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TCL_STUB_LIBRARY
+ NAMES ${TCLSTUB_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+ endforeach()
+endif()
+if(NOT TCL_STUB_LIBRARY)
+ find_library(TCL_STUB_LIBRARY
+ NAMES ${TCLSTUB_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ )
+endif()
+
+set(TK_POSSIBLE_LIB_NAMES
+ tk
+ tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
+ tk87 tk8.7 tk87t tk8.7t
+ tk86 tk8.6 tk86t tk8.6t
+ tk85 tk8.5
+ tk84 tk8.4
+ tk83 tk8.3
+ tk82 tk8.2
+ tk80 tk8.0
+ )
+
+if(NOT TK_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TK_LIBRARY
+ NAMES ${TK_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+ endforeach()
+endif()
+if(NOT TK_LIBRARY)
+ find_library(TK_LIBRARY
+ NAMES ${TK_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+endif(NOT TK_LIBRARY)
+
+set(TK_STUB_POSSIBLE_LIB_NAMES
+ tkstub
+ tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION}
tkstub${TK_WISH_VERSION}
+ tkstub87 tkstub8.7
+ tkstub86 tkstub8.6
+ tkstub85 tkstub8.5
+ tkstub84 tkstub8.4
+ tkstub83 tkstub8.3
+ tkstub82 tkstub8.2
+ tkstub80 tkstub8.0
+ )
+
+if(NOT TK_STUB_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TK_STUB_LIBRARY
+ NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+ endforeach()
+endif()
+if(NOT TK_STUB_LIBRARY)
+ find_library(TK_STUB_LIBRARY
+ NAMES ${TK_STUB_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ )
+endif()
+
+set(TTK_STUB_POSSIBLE_LIB_NAMES
+ ttkstub
+ ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION}
ttkstub${TK_WISH_VERSION}
+ ttkstub88 ttkstub8.8
+ ttkstub87 ttkstub8.7
+ ttkstub86 ttkstub8.6
+ ttkstub85 ttkstub8.5
+ )
+
+if(NOT TTK_STUB_LIBRARY)
+ foreach(search ${_TCL_SEARCHES})
+ find_library(TTK_STUB_LIBRARY
+ NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
+ NAMES_PER_DIR ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
+ )
+ endforeach()
+endif()
+if(NOT TTK_STUB_LIBRARY)
+ find_library(TTK_STUB_LIBRARY
+ NAMES ${TTK_STUB_POSSIBLE_LIB_NAMES}
+ PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ )
+endif()
+
+CMAKE_FIND_FRAMEWORKS(Tcl)
+CMAKE_FIND_FRAMEWORKS(Tk)
+
+set(TCL_FRAMEWORK_INCLUDES)
+if(Tcl_FRAMEWORKS)
+ if(NOT TCL_INCLUDE_PATH)
+ foreach(dir ${Tcl_FRAMEWORKS})
+ set(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
+ endforeach()
+ endif()
+endif()
+
+set(TK_FRAMEWORK_INCLUDES)
+if(Tk_FRAMEWORKS)
+ if(NOT TK_INCLUDE_PATH)
+ foreach(dir ${Tk_FRAMEWORKS})
+ set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
+ ${dir}/Headers ${dir}/PrivateHeaders)
+ endforeach()
+ endif()
+endif()
+
+set(TCLTK_POSSIBLE_INCLUDE_PATHS
+ "${TCL_LIBRARY_PATH_PARENT}/include"
+ "${TK_LIBRARY_PATH_PARENT}/include"
+ "${TCL_INCLUDE_PATH}"
+ "${TK_INCLUDE_PATH}"
+ ${TCL_FRAMEWORK_INCLUDES}
+ ${TK_FRAMEWORK_INCLUDES}
+ "${TCL_TCLSH_PATH_PARENT}/include"
+ "${TK_WISH_PATH_PARENT}/include"
+ )
+
+set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
+ include/tcl${TK_LIBRARY_VERSION}
+ include/tcl${TCL_LIBRARY_VERSION}
+ include/tcl8.7
+ include/tk8.7
+ include/tcl8.6
+ include/tk8.6
+ include/tcl8.5
+ include/tk8.5
+ include/tcl8.4
+ include/tk8.4
+ include/tcl8.3
+ include/tcl8.2
+ include/tcl8.0
+ )
+
+foreach(search ${_TCL_SEARCHES})
+ find_path(TCL_INCLUDE_PATH
+ NAMES tcl.h ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+ )
+endforeach()
+if (NOT TCL_INCLUDE_PATH)
+ find_path(TCL_INCLUDE_PATH
+ NAMES tcl.h
+ HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+ )
+endif()
+foreach(search ${_TCL_SEARCHES})
+ find_path(TK_INCLUDE_PATH
+ NAMES tk.h ${${search}}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+ )
+endforeach()
+if (NOT TK_INCLUDE_PATH)
+ find_path(TK_INCLUDE_PATH
+ NAMES tk.h
+ HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+ PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
+ )
+endif()
+
+# IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check that
the
+# windowing system matches the specified type
+if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET
"${TK_WISH}")
+ set(tkwin_script "
+ set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
+ set fileId [open $filename \"w\"]
+ set windowingsystem [tk windowingsystem]
+ puts $fileId $windowingsystem
+ close $fileId
+ exit
+ ")
+ set(tkwin_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
+ set(WSYS "wm-NOTFOUND")
+ file(WRITE ${tkwin_scriptfile} ${tkwin_script})
+ execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE
EXECOUTPUT)
+ if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+ file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" readresultvar)
+ string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
+ endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+
+ # If we have no information about the windowing system or it does not match
+ # a specified system, the find_package detection has failed
+ if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+ unset(TCL_LIBRARY CACHE)
+ unset(TCL_STUB_LIBRARY CACHE)
+ unset(TK_LIBRARY CACHE)
+ unset(TK_STUB_LIBRARY CACHE)
+ unset(TCL_FOUND CACHE)
+ unset(TK_FOUND CACHE)
+ unset(TCLTK_FOUND CACHE)
+ unset(TCLSH_FOUND CACHE)
+ unset(TCL_LIBRARY CACHE)
+ unset(TCL_INCLUDE_PATH CACHE)
+ unset(TCL_TCLSH CACHE)
+ unset(TK_LIBRARY CACHE)
+ unset(TK_INCLUDE_PATH CACHE)
+ unset(TK_WISH CACHE)
+ unset(TCL_STUB_LIBRARY CACHE)
+ unset(TK_STUB_LIBRARY CACHE)
+ unset(TTK_STUB_LIBRARY CACHE)
+ endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET
"${TK_WISH}")
+
+include(FindPackageHandleStandardArgs)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL
+ REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TCL_TCLSH
+ VERSION_VAR TCLSH_VERSION_STRING)
+set(FPHSA_NAME_MISMATCHED 1)
+set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+set(TCLTK_FIND_QUIETLY ${TCL_FIND_QUIETLY})
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK
+ REQUIRED_VARS TCL_LIBRARY TCL_STUB_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY
TK_STUB_LIBRARY TK_INCLUDE_PATH)
+set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+set(TK_FIND_QUIETLY ${TCL_FIND_QUIETLY})
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK
+ REQUIRED_VARS TK_LIBRARY TK_STUB_LIBRARY TK_INCLUDE_PATH TK_WISH)
+unset(FPHSA_NAME_MISMATCHED)
+
+mark_as_advanced(
+ TCL_INCLUDE_PATH
+ TCL_LIBRARY
+ TCL_STUB_LIBRARY
+ TCL_TCLSH
+ TK_INCLUDE_PATH
+ TK_LIBRARY
+ TK_STUB_LIBRARY
+ TK_WISH
+ TTK_STUB_LIBRARY
+ )
+
+
+# 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/itk3/CMake/FindTCL.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
Modified: brlcad/branches/extbuild/src/other/ext/itk3/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itk3/CMakeLists.txt 2020-10-23
02:24:55 UTC (rev 77576)
+++ brlcad/branches/extbuild/src/other/ext/itk3/CMakeLists.txt 2020-10-23
02:27:23 UTC (rev 77577)
@@ -42,8 +42,11 @@
# set CMake project name
project(ITK)
-find_package(TCL)
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
+find_package(TCL REQUIRED)
+find_package(ITCL REQUIRED)
+
# version numbers
set(ITK_VERSION_MAJOR 3)
set(ITK_VERSION_MINOR 4)
@@ -52,19 +55,22 @@
#---------------------------------------------------------------------
# Initialize some relative variable names
-if(NOT DEFINED BIN_DIR)
+if(NOT BIN_DIR)
set(BIN_DIR bin)
-endif(NOT DEFINED BIN_DIR)
-if(NOT DEFINED LIB_DIR)
+endif(NOT BIN_DIR)
+if(NOT SHARED_DIR)
if(NOT WIN32)
- set(LIB_DIR lib)
+ set(SHARED_DIR lib)
else(NOT WIN32)
- set(LIB_DIR bin)
+ set(SHARED_DIR bin)
endif(NOT WIN32)
-endif(NOT DEFINED LIB_DIR)
-if(NOT DEFINED INCLUDE_DIR)
+endif(NOT SHARED_DIR)
+if(NOT LIB_DIR)
+ set(LIB_DIR lib)
+endif(NOT LIB_DIR)
+if(NOT INCLUDE_DIR)
set(INCLUDE_DIR include)
-endif(NOT DEFINED INCLUDE_DIR)
+endif(NOT INCLUDE_DIR)
#----------------------------------------------------------------------------
# First, get some standard options out of the way
@@ -151,7 +157,7 @@
# Like ITcl, Itk requires private Tcl headers, which we can't assume from a
system
# install of Tcl. The workaround is to use our local copies and hope they
# are workable. (Ugh.)
-if (TARGET tk OR NOT EXISTS "${TCL_INCLUDE_PATH}/tcl-private/generic")
+if (NOT EXISTS "${TCL_INCLUDE_PATH}/tcl-private/generic")
set(TCL_PRIVATE_HDRS ${CMAKE_CURRENT_SOURCE_DIR}/../tcl/generic)
if(NOT WIN32)
set(TCL_PRIVATE_HDRS ${TCL_PRIVATE_HDRS}
${CMAKE_CURRENT_SOURCE_DIR}/../tcl/unix)
@@ -176,44 +182,38 @@
${ITK_INCLUDE_DIRS}
${X11_INCLUDE_DIR}
${TCL_PRIVATE_HDRS}
- # We can't realistically assume Itcl3 from any system install - just
reference the local copy
- ${CMAKE_CURRENT_SOURCE_DIR}/../itcl/generic
+ # Itcl3 is iffy as a system install - just reference the local copy
+ ${CMAKE_CURRENT_SOURCE_DIR}/../itcl3/generic
)
-add_library(itk ${ITK_SRCS})
-target_link_libraries(itk ${M_LIBRARY} ${TCL_STUB_LIBRARY} ${TK_STUB_LIBRARY}
${ITCL_STUB_LIBRARY})
-set_property(TARGET itk APPEND PROPERTY COMPILE_DEFINITIONS USE_TCL_STUBS)
-set_property(TARGET itk APPEND PROPERTY COMPILE_DEFINITIONS USE_ITCL_STUBS)
-set_property(TARGET itk APPEND PROPERTY COMPILE_DEFINITIONS USE_TK_STUBS)
-set_target_properties(itk PROPERTIES VERSION ${ITK_VERSION} SOVERSION
${ITK_VERSION_MAJOR})
-install(TARGETS itk
- RUNTIME DESTINATION ${BIN_DIR}
- LIBRARY DESTINATION ${LIB_DIR}
- ARCHIVE DESTINATION ${LIB_DIR})
-if (TARGET tk)
- add_dependencies(itk tk)
-endif (TARGET tk)
-if (TARGET itcl)
- add_dependencies(itk itcl)
- add_dependencies(itk itcl_pkgIndex)
-endif (TARGET itcl)
+add_library(itk${ITK_VERSION} SHARED ${ITK_SRCS})
+target_link_libraries(itk${ITK_VERSION} ${M_LIBRARY} ${TCL_STUB_LIBRARY}
${TK_STUB_LIBRARY} ${ITCL_STUB_LIBRARY})
+set_property(TARGET itk${ITK_VERSION} APPEND PROPERTY COMPILE_DEFINITIONS
USE_TCL_STUBS)
+set_property(TARGET itk${ITK_VERSION} APPEND PROPERTY COMPILE_DEFINITIONS
USE_ITCL_STUBS)
+set_property(TARGET itk${ITK_VERSION} APPEND PROPERTY COMPILE_DEFINITIONS
USE_TK_STUBS)
+install(TARGETS itk${ITK_VERSION}
+ RUNTIME DESTINATION ${BIN_DIR}/itk${ITK_VERSION}
+ LIBRARY DESTINATION ${SHARED_DIR}/itk${ITK_VERSION}
+ ARCHIVE DESTINATION ${LIB_DIR}/itk${ITK_VERSION})
-
add_library(itkstub STATIC ${ITK_STUB_SRCS})
-target_link_libraries(itkstub ${ITCL_STUB_LIBRARY} ${TCL_STUB_LIBRARY})
+target_link_libraries(itkstub ${ITCL_STUB_LIBRARY} ${TCL_STUB_LIBRARY}
${TK_STUB_LIBRARY})
set_property(TARGET itkstub APPEND PROPERTY COMPILE_DEFINITIONS USE_TCL_STUBS)
set_property(TARGET itkstub APPEND PROPERTY COMPILE_DEFINITIONS USE_ITCL_STUBS)
set_property(TARGET itkstub APPEND PROPERTY COMPILE_DEFINITIONS USE_TK_STUBS)
install(TARGETS itkstub
- RUNTIME DESTINATION ${BIN_DIR}
- LIBRARY DESTINATION ${LIB_DIR}
- ARCHIVE DESTINATION ${LIB_DIR})
+ RUNTIME DESTINATION ${BIN_DIR}/itk${ITK_VERSION}
+ LIBRARY DESTINATION ${LIB_DIR}/itk${ITK_VERSION}
+ ARCHIVE DESTINATION ${LIB_DIR}/itk${ITK_VERSION})
-include(ITK_PKGINDEX.cmake)
-ITK_PKGINDEX(itk itk "${ITK_VERSION}")
-if (TARGET wish)
- add_dependencies(wish itk_pkgIndex)
-endif (TARGET wish)
+# Create pkgIndex.tcl files
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl"
+ CONTENT "
+if {![package vsatisfies [package provide Tcl] ${TCL_VERSION}]} {return}
+package ifneeded Itk ${ITK_VERSION} [list load [file join $dir
../../${SHARED_DIR}/itk${ITK_VERSION} $<TARGET_FILE_NAME:itk${ITK_VERSION}>]
Itk]
+")
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl DESTINATION
${LIB_DIR}/itk${ITK_VERSION})
set(ITK_LIBRARY_FILES
library/Archetype.itk
@@ -224,39 +224,12 @@
)
install(FILES ${ITK_LIBRARY_FILES} DESTINATION lib/itk${ITK_VERSION})
-foreach(file ${ITK_LIBRARY_FILES})
- get_filename_component(filename ${file} NAME)
- if(NOT CMAKE_CONFIGURATION_TYPES)
- configure_file(${file}
${CMAKE_BINARY_DIR}/lib/itk${ITK_VERSION}/${filename} COPYONLY)
- else(NOT CMAKE_CONFIGURATION_TYPES)
- foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
- configure_file(${file}
${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/lib/itk${ITK_VERSION}/${filename}
COPYONLY)
- endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- endif(NOT CMAKE_CONFIGURATION_TYPES)
-endforeach(file ${ITK_LIBRARY_FILES})
-
set(ITK_HDRS
generic/itk.h
generic/itkDecls.h
)
-install(FILES ${ITK_HDRS} DESTINATION include)
+install(FILES ${ITK_HDRS} DESTINATION ${INCLUDE_DIR})
-# TODO - investigate whether file(GENERATE can replace the below file copying
pattern
-
-# Set up build directory copies of the public headers
-foreach(hdrfile ${ITK_HDRS})
- get_filename_component(hf ${hdrfile} NAME)
- if(NOT CMAKE_CONFIGURATION_TYPES)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${hdrfile}
${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/${hf} COPYONLY)
- else(NOT CMAKE_CONFIGURATION_TYPES)
- foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${hdrfile}
${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${INCLUDE_DIR}/${hf} COPYONLY)
- endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- endif(NOT CMAKE_CONFIGURATION_TYPES)
-endforeach(hdrfile ${ITK_HDRS})
-
# Local Variables:
# tab-width: 8
# mode: cmake
Deleted: brlcad/branches/extbuild/src/other/ext/itk3/ITK_PKGINDEX.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itk3/ITK_PKGINDEX.cmake
2020-10-23 02:24:55 UTC (rev 77576)
+++ brlcad/branches/extbuild/src/other/ext/itk3/ITK_PKGINDEX.cmake
2020-10-23 02:27:23 UTC (rev 77577)
@@ -1,66 +0,0 @@
-#=============================================================================
-#
-# Copyright (c) 2010-2020 United States Government as represented by
-# the U.S. Army Research Laboratory.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# * The names of the authors may not be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#=============================================================================
-
-#============================================================
-# TCL_PKGINDEX
-#============================================================
-function(ITK_PKGINDEX target pkgname pkgversion)
-
- set(INST_DIR "${LIB_DIR}")
- if(MSVC)
- set(INST_DIR "${BIN_DIR}")
- endif(MSVC)
-
- set(WORKING_PKGFILE
"${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LIB_DIR}/${pkgname}${pkgversion}/pkgIndex.tcl")
- set(INSTALL_PKGFILE "${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl")
-
- add_custom_command(OUTPUT ${WORKING_PKGFILE} ${INSTALL_PKGFILE}
- COMMAND ${CMAKE_COMMAND} -DWORKING_PKGFILE="${WORKING_PKGFILE}"
-DINSTALL_PKGFILE="${INSTALL_PKGFILE}"
-DTF_NAME="$<TARGET_FILE_NAME:${target}>"
-DTF_DIR="$<TARGET_FILE_DIR:${target}>" -Dpkgname="${pkgname}"
-Dpkgversion="${pkgversion}" -DINST_DIR="${INST_DIR}" -P
${CMAKE_CURRENT_SOURCE_DIR}/pkg_mkIndex.cmake
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/pkg_mkIndex.cmake
- )
- add_custom_target(${pkgname}_pkgIndex ALL DEPENDS ${WORKING_PKGFILE}
${INSTALL_PKGFILE})
-
- install(FILES ${INSTALL_PKGFILE} DESTINATION
${LIB_DIR}/${pkgname}${pkgversion})
-
- DISTCLEAN("${WORKING_PKGFILE}")
- DISTCLEAN("${INSTALL_PKGFILE}")
-
-endfunction(ITK_PKGINDEX)
-
-# Local Variables:
-# tab-width: 8
-# mode: cmake
-# indent-tabs-mode: t
-# End:
-# ex: shiftwidth=2 tabstop=8
Deleted: brlcad/branches/extbuild/src/other/ext/itk3/pkgIndex.tcl.in
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itk3/pkgIndex.tcl.in 2020-10-23
02:24:55 UTC (rev 77576)
+++ brlcad/branches/extbuild/src/other/ext/itk3/pkgIndex.tcl.in 2020-10-23
02:27:23 UTC (rev 77577)
@@ -1,3 +0,0 @@
-# Tcl package index file, version 1.0
-
-package ifneeded Itk @PACKAGE_VERSION@ [list load [file join $dir
"@PKG_LIB_FILE@"] Itk]
Deleted: brlcad/branches/extbuild/src/other/ext/itk3/pkg_mkIndex.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/itk3/pkg_mkIndex.cmake
2020-10-23 02:24:55 UTC (rev 77576)
+++ brlcad/branches/extbuild/src/other/ext/itk3/pkg_mkIndex.cmake
2020-10-23 02:27:23 UTC (rev 77577)
@@ -1,56 +0,0 @@
-#=============================================================================
-#
-# Copyright (c) 2010-2020 United States Government as represented by
-# the U.S. Army Research Laboratory.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# * The names of the authors may not be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#=============================================================================
-
-string(REPLACE "\\" "" TF_DIR ${TF_DIR})
-string(REPLACE "\\" "" INST_DIR ${INST_DIR})
-string(REPLACE "\\" "" WORKING_PKGFILE ${WORKING_PKGFILE})
-string(REPLACE "\\" "" INSTALL_PKGFILE ${INSTALL_PKGFILE})
-
-file(WRITE "${WORKING_PKGFILE}" "if {![package vsatisfies [package provide
Tcl] 8.6]} return\n")
-file(APPEND "${WORKING_PKGFILE}" "if {[string length [package provide Itcl]]
&& ![package vsatisfies [package provide Itcl] 3.4]} return\n")
-file(APPEND "${WORKING_PKGFILE}" "package ifneeded itk ${pkgversion} [list
load [file join $dir \"${TF_DIR}\" ${TF_NAME}] Itk]\n")
-file(APPEND "${WORKING_PKGFILE}" "package ifneeded Itk ${pkgversion} [list
load [file join $dir \"${TF_DIR}\" ${TF_NAME}] Itk]\n")
-
-
-file(WRITE "${INSTALL_PKGFILE}" "if {![package vsatisfies [package provide
Tcl] 8.6]} return\n")
-file(APPEND "${INSTALL_PKGFILE}" "if {[string length [package provide Itcl]]
&& ![package vsatisfies [package provide Itcl] 4.1]} return\n")
-file(APPEND "${INSTALL_PKGFILE}" "package ifneeded itk ${pkgversion} [list
load [file join $dir .. .. \"${INST_DIR}\" ${TF_NAME}] Itk]\n")
-file(APPEND "${INSTALL_PKGFILE}" "package ifneeded Itk ${pkgversion} [list
load [file join $dir .. .. \"${INST_DIR}\" ${TF_NAME}] Itk]\n")
-
-# Local Variables:
-# tab-width: 8
-# mode: cmake
-# indent-tabs-mode: t
-# End:
-# ex: shiftwidth=2 tabstop=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