Revision: 75899
http://sourceforge.net/p/brlcad/code/75899
Author: starseeker
Date: 2020-05-23 20:07:12 +0000 (Sat, 23 May 2020)
Log Message:
-----------
Optionally check platform system graphics for Tcl/Tk
Modified Paths:
--------------
brlcad/trunk/misc/CMake/FindTCL.cmake
brlcad/trunk/src/other/CMakeLists.txt
Modified: brlcad/trunk/misc/CMake/FindTCL.cmake
===================================================================
--- brlcad/trunk/misc/CMake/FindTCL.cmake 2020-05-23 18:39:22 UTC (rev
75898)
+++ brlcad/trunk/misc/CMake/FindTCL.cmake 2020-05-23 20:07:12 UTC (rev
75899)
@@ -275,6 +275,49 @@
PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
)
+# IFF we have TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check that the
+# windowing system matches the specified type
+if (NOT "${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 "${TK_SYSTEM_GRAPHICS}")
+ set(TCL_LIBRARY "" CACHE STRING "Graphics system mismatch"
FORCE)
+ set(TCL_STUB_LIBRARY "" CACHE STRING "Graphics system mismatch"
FORCE)
+ set(TK_LIBRARY "" CACHE STRING "Graphics system mismatch" FORCE)
+ set(TK_STUB_LIBRARY "" CACHE STRING "Graphics system mismatch"
FORCE)
+ set(TCL_FOUND FALSE CACHE BOOL "Graphics system mismatch" FORCE)
+ set(TK_FOUND FALSE CACHE BOOL "Graphics system mismatch" FORCE)
+ set(TCLTK_FOUND FALSE CACHE BOOL "Graphics system mismatch"
FORCE)
+ set(TCLSH_FOUND FALSE CACHE BOOL "Graphics system mismatch"
FORCE)
+ set(TCL_LIBRARY "" CACHE STRING "Graphics system mismatch"
FORCE)
+ set(TCL_INCLUDE_PATH "" CACHE STRING "Graphics system mismatch"
FORCE)
+ set(TCL_TCLSH "" CACHE STRING "Graphics system mismatch" FORCE)
+ set(TK_LIBRARY "" CACHE STRING "Graphics system mismatch" FORCE)
+ set(TK_INCLUDE_PATH "" CACHE STRING "Graphics system mismatch"
FORCE)
+ set(TK_WISH "" CACHE STRING "Graphics system mismatch" FORCE)
+ set(TCL_STUB_LIBRARY "" CACHE STRING "Graphics system mismatch"
FORCE)
+ set(TK_STUB_LIBRARY "" CACHE STRING "Graphics system mismatch"
FORCE)
+ set(TTK_STUB_LIBRARY "" CACHE STRING "Graphics system mismatch"
FORCE)
+ endif (NOT "${WSYS}" STREQUAL "${TK_SYSTEM_GRAPHICS}")
+endif (NOT "${TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET
"${TK_WISH}")
+
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL
Modified: brlcad/trunk/src/other/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/CMakeLists.txt 2020-05-23 18:39:22 UTC (rev
75898)
+++ brlcad/trunk/src/other/CMakeLists.txt 2020-05-23 20:07:12 UTC (rev
75899)
@@ -413,6 +413,11 @@
")
if(BRLCAD_ENABLE_AQUA)
set(TK_ENABLE_AQUA ON CACHE STRING "BRL-CAD setting to enable AQUA" FORCE)
+ set(TK_SYSTEM_GRAPHICS "aqua" CACHE STRING "Tk system graphics type" FORCE)
+else(BRLCAD_ENABLE_AQUA)
+ if (BRLCAD_ENABLE_X11)
+ set(TK_SYSTEM_GRAPHICS "x11" CACHE STRING "Tk system graphics type" FORCE)
+ endif (BRLCAD_ENABLE_X11)
endif(BRLCAD_ENABLE_AQUA)
THIRD_PARTY_TCL_PACKAGE(Tk tk "${TCL_TCLSH}" "tcl"
"BRLCAD_ENABLE_TK;BRLCAD_LEVEL2" "tk" tk_ALIASES tk_DESCRIPTION)
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