46 lines
1.4 KiB
CMake
46 lines
1.4 KiB
CMake
# 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()
|