# Tcl/Tk GUI support option(FUN_WITH_TCLTK "Enable Tcl/Tk GUI support" OFF) set(TCL_INCLUDE_DIRS "") set(TCL_LINK_LIBS "") if(FUN_WITH_TCLTK) add_definitions(-DFUN_WITH_TCLTK) find_package(PkgConfig QUIET) if(PKG_CONFIG_FOUND) pkg_check_modules(TCL QUIET tcl) pkg_check_modules(TK QUIET tk) endif() if(TCL_FOUND OR TK_FOUND) if(TCL_FOUND) list(APPEND TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS} ${TCL_INCLUDE_DIRS}) list(APPEND TCL_LINK_LIBS ${TCL_LINK_LIBS} ${TCL_LIBRARIES}) endif() if(TK_FOUND) list(APPEND TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS} ${TK_INCLUDE_DIRS}) list(APPEND TCL_LINK_LIBS ${TCL_LINK_LIBS} ${TK_LIBRARIES}) endif() else() find_path(TCL_INCLUDE_DIR tcl.h PATH_SUFFIXES tcl8.7 tcl8.6 include) find_library(TCL_LIB NAMES tcl8.7 tcl8.6 tcl) find_library(TK_LIB NAMES tk8.7 tk8.6 tk) if(TCL_INCLUDE_DIR) list(APPEND TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIR}) endif() if(TCL_LIB) list(APPEND TCL_LINK_LIBS ${TCL_LIB}) endif() if(TK_LIB) list(APPEND TCL_LINK_LIBS ${TK_LIB}) endif() if(APPLE) # macOS frameworks often unnecessary when using Homebrew tcl/tk elseif(WIN32) list(APPEND TCL_LINK_LIBS user32 gdi32 comctl32) else() find_package(X11 QUIET) if(X11_FOUND) list(APPEND TCL_INCLUDE_DIRS ${X11_INCLUDE_DIR}) list(APPEND TCL_LINK_LIBS ${X11_LIBRARIES}) endif() endif() endif() endif()