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

Reply via email to