summaryrefslogtreecommitdiff
path: root/CMake/options.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'CMake/options.cmake')
-rw-r--r--CMake/options.cmake1098
1 files changed, 0 insertions, 1098 deletions
diff --git a/CMake/options.cmake b/CMake/options.cmake
deleted file mode 100644
index f005f8b0e..000000000
--- a/CMake/options.cmake
+++ /dev/null
@@ -1,1098 +0,0 @@
-#
-# Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org)
-# Originally written by Michael Surette
-#
-# Copyright 1998-2026 by Bill Spitzak and others.
-#
-# This library is free software. Distribution and use rights are outlined in
-# the file "COPYING" which should have been included with this file. If this
-# file is missing or damaged, see the license at:
-#
-# https://www.fltk.org/COPYING.php
-#
-# Please see the following page on how to report bugs and issues:
-#
-# https://www.fltk.org/bugs.php
-#
-
-#######################################################################
-# Important implementation note for FLTK developers
-#######################################################################
-#
-# *FIXME* In the current version of FLTK's CMake build files we're
-# using 'include_directories()' to define directories that must be
-# used in compile commands (typically "-Idirectories").
-#
-# include_directories() is a global command that affects *all* source
-# files in the current directory and all subdirectories. This can lead
-# to conflicts and should be replaced with target_include_directories()
-# which can be applied to particular targets and source files only.
-#
-# This could remove some of these potential build conflicts, for
-# instance if the bundled image libs and Cairo or Pango are used
-# together (Pango depends on Cairo and Cairo depends on libpng).
-# However, this is not a proper solution!
-#
-# That said, order of "-I..." switches matters, and therefore the
-# bundled libraries (png, jpeg, zlib) *must* appear before any other
-# include_directories() statements that might introduce conflicts.
-# Currently 'resources.cmake' is included before this file and thus
-# 'include_directories(${FREETYPE_PATH})' is executed before this
-# file but this doesn't matter.
-#
-# This *MUST* be fixed using target_include_directories() as
-# appropriate but this would need a major rework.
-#
-# Albrecht-S April 6, 2022
-#
-#######################################################################
-
-set(DEBUG_OPTIONS_CMAKE 0)
-if(DEBUG_OPTIONS_CMAKE)
- message(STATUS "[** options.cmake **]")
- fl_debug_var(WIN32)
- fl_debug_var(FLTK_LDLIBS)
-endif(DEBUG_OPTIONS_CMAKE)
-
-#######################################################################
-# options
-#######################################################################
-set(FLTK_OPTION_OPTIM ""
- CACHE STRING
- "custom optimization flags"
-)
-# *FIXME* add_definitions()
-add_definitions(${FLTK_OPTION_OPTIM})
-
-#######################################################################
-set(FLTK_ARCHFLAGS ""
- CACHE STRING
- "custom architecture flags"
-)
-# *FIXME* add_definitions()
-add_definitions(${FLTK_ARCHFLAGS})
-
-#######################################################################
-set(FLTK_ABI_VERSION ""
- CACHE STRING
- "FLTK ABI Version FL_ABI_VERSION: 1xxyy for 1.x.y (xx,yy with leading zeroes)"
-)
-# see also CMake/gen_config.cmake
-
-#######################################################################
-# Select MSVC (Visual Studio) Runtime: DLL (/MDx) or static (/MTx)
-# where x = 'd' for Debug builds, empty ('') for non-Debug builds.
-# Note: this might be handled better by the 'MSVC_RUNTIME_LIBRARY'
-# target property for each target rather than setting a global
-# CMake variable - but this version does the latter.
-# This also applies when using LLVM/clang on Windows (#1058).
-#######################################################################
-
-if(WIN32 AND NOT MINGW AND NOT MSYS)
- option(FLTK_MSVC_RUNTIME_DLL "use MSVC Runtime-DLL (/MDx)" ON)
- if(FLTK_MSVC_RUNTIME_DLL)
- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
- else()
- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
- endif()
-else(WIN32 AND NOT MINGW AND NOT MSYS)
- # suppress CMake warning if the user sets FLTK_MSVC_RUNTIME_DLL on other platforms
- if(DEFINED FLTK_MSVC_RUNTIME_DLL)
- unset(FLTK_MSVC_RUNTIME_DLL)
- unset(FLTK_MSVC_RUNTIME_DLL CACHE)
- endif()
-endif(WIN32 AND NOT MINGW AND NOT MSYS)
-
-#######################################################################
-
-if(APPLE)
- option(FLTK_BACKEND_X11 "use X11" OFF)
- if(CMAKE_OSX_SYSROOT)
- list(APPEND FLTK_CFLAGS "-isysroot ${CMAKE_OSX_SYSROOT}")
- endif(CMAKE_OSX_SYSROOT)
-elseif(UNIX)
- option(FLTK_BACKEND_X11 "use X11" ON)
-endif(APPLE)
-
-#######################################################################
-# Bundled Library Options
-#######################################################################
-
-if(WIN32 OR (APPLE AND NOT FLTK_BACKEND_X11))
- option(FLTK_USE_SYSTEM_LIBJPEG "use system libjpeg" OFF)
- option(FLTK_USE_SYSTEM_LIBPNG "use system libpng" OFF)
- option(FLTK_USE_SYSTEM_ZLIB "use system zlib" OFF)
-else()
- option(FLTK_USE_SYSTEM_LIBJPEG "use system libjpeg" ON)
- option(FLTK_USE_SYSTEM_LIBPNG "use system libpng" ON)
- option(FLTK_USE_SYSTEM_ZLIB "use system zlib" ON)
-endif()
-
-# Set default values of internal build options
-
-set(FLTK_USE_BUNDLED_JPEG FALSE)
-set(FLTK_USE_BUNDLED_PNG FALSE)
-set(FLTK_USE_BUNDLED_ZLIB FALSE)
-
-# Collect libraries to build fltk_images (starting empty)
-
-set(FLTK_IMAGE_LIBRARIES "")
-
-#######################################################################
-# Ensure that png and zlib are both system or both local for compatibility
-#######################################################################
-
-if(FLTK_USE_SYSTEM_ZLIB)
- find_package(ZLIB)
- if(NOT ZLIB_FOUND)
- set(FLTK_USE_BUNDLED_ZLIB TRUE)
- endif()
-else()
- set(FLTK_USE_BUNDLED_ZLIB TRUE)
-endif()
-
-if(FLTK_USE_SYSTEM_LIBPNG AND NOT FLTK_USE_BUNDLED_ZLIB)
- find_package(PNG)
- if(NOT PNG_FOUND)
- set(FLTK_USE_BUNDLED_PNG TRUE)
- set(FLTK_USE_BUNDLED_ZLIB TRUE)
- endif()
-else()
- set(FLTK_USE_BUNDLED_PNG TRUE)
- set(FLTK_USE_BUNDLED_ZLIB TRUE)
-endif()
-
-# Issue warnings if we deviate from the user's choice
-
-if(FLTK_USE_SYSTEM_LIBPNG AND FLTK_USE_BUNDLED_PNG)
- message(STATUS "System PNG or ZLIB not usable, falling back to local PNG for compatibility.")
-endif()
-
-if(FLTK_USE_SYSTEM_ZLIB AND FLTK_USE_BUNDLED_ZLIB)
- message(STATUS "System PNG or ZLIB not usable, falling back to local ZLIB for compatibility.")
-endif()
-
-#######################################################################
-# Bundled Compression Library : zlib
-#######################################################################
-
-if(FLTK_USE_BUNDLED_ZLIB)
-
- add_subdirectory(zlib)
-
- set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib)
-
- # FIXME - include_directories()
- include_directories(${ZLIB_INCLUDE_DIR})
-
-endif()
-
-set(HAVE_LIBZ 1)
-
-#######################################################################
-# Bundled Image Library : libpng
-#######################################################################
-
-if(FLTK_USE_BUNDLED_PNG)
-
- add_subdirectory(png)
- set(FLTK_PNG_LIBRARIES fltk::png)
- list(APPEND FLTK_IMAGE_LIBRARIES fltk::png)
-
- # Definitions for 'config.h' - do we still need this?
- # See also png/CMakeLists.txt (target_compile_definitions).
- # Note: config.h is generated by CMake (or configure in 1.4), hence
- # we support it in 1.4.x, but this may be changed in 1.5.0. (?)
-
- set(HAVE_PNG_H 1)
- set(HAVE_PNG_GET_VALID 1)
- set(HAVE_PNG_SET_TRNS_TO_ALPHA 1)
-
- # *FIXME* include_directories()
- include_directories(${FLTK_SOURCE_DIR}/png)
-
-else() # use system libpng and zlib
-
- set(FLTK_PNG_LIBRARIES ${PNG_LIBRARIES})
- list(APPEND FLTK_IMAGE_LIBRARIES ${PNG_LIBRARIES})
-
- # *FIXME* include_directories()
- include_directories(${PNG_INCLUDE_DIRS})
-
- set(_INCLUDE_SAVED ${CMAKE_REQUIRED_INCLUDES})
- list(APPEND CMAKE_REQUIRED_INCLUDES ${PNG_INCLUDE_DIRS})
-
- # Note: we do not check for <libpng/png.h> explicitly.
- # This is assumed to exist if we have PNG_FOUND and don't find <png.h>
-
- # FIXME - Force search by unsetting the chache variable. Maybe use
- # FIXME - another cache variable to check for option changes?
- # unset(HAVE_PNG_H CACHE) # force search
-
- check_include_file(png.h HAVE_PNG_H)
- mark_as_advanced(HAVE_PNG_H)
-
- set(CMAKE_REQUIRED_INCLUDES ${_INCLUDE_SAVED})
- unset(_INCLUDE_SAVED)
-
-endif()
-
-set(HAVE_LIBPNG 1)
-
-#######################################################################
-# Bundled Image Library : libjpeg
-#######################################################################
-
-if(FLTK_USE_SYSTEM_LIBJPEG)
- find_package(JPEG)
- if(NOT JPEG_FOUND)
- set(FLTK_USE_BUNDLED_JPEG TRUE)
- message(STATUS "cannot find system jpeg library - using built-in")
- endif()
-else()
- set(FLTK_USE_BUNDLED_JPEG TRUE)
-endif()
-
-if(FLTK_USE_BUNDLED_JPEG)
-
- add_subdirectory(jpeg)
- set(FLTK_JPEG_LIBRARIES fltk::jpeg)
- # list(APPEND FLTK_IMAGE_LIBRARIES fltk::jpeg)
-
- # *FIXME* include_directories
- include_directories(${FLTK_SOURCE_DIR}/jpeg)
-
-else()
-
- set(FLTK_JPEG_LIBRARIES ${JPEG_LIBRARIES})
- list(APPEND FLTK_IMAGE_LIBRARIES ${JPEG_LIBRARIES})
-
-endif()
-
-set(HAVE_LIBJPEG 1)
-
-#######################################################################
-
-if(UNIX)
- option(FLTK_INSTALL_LINKS "create backwards compatibility links" OFF)
- list(APPEND FLTK_LDLIBS -lm)
-
- if(NOT APPLE)
- option(FLTK_BACKEND_WAYLAND "support the Wayland backend" ON)
- endif(NOT APPLE)
-
- # Check Wayland requirements and set the result variable FLTK_USE_WAYLAND.
- # FLTK_USE_WAYLAND *must* be used *everywhere* else after these checks.
-
- if(FLTK_BACKEND_WAYLAND)
- message(STATUS "Checking Wayland requirements ...")
- set(FLTK_USE_WAYLAND FALSE) # assume Wayland not OK ...
-
- if(NOT PKG_CONFIG_FOUND)
- message(FATAL_ERROR "Option FLTK_BACKEND_WAYLAND requires pkg-config on the build host.")
- endif()
-
- pkg_check_modules(WLDCLIENT IMPORTED_TARGET wayland-client>=1.18)
- pkg_check_modules(WLDCURSOR IMPORTED_TARGET wayland-cursor)
- pkg_check_modules(WLDPROTO IMPORTED_TARGET wayland-protocols>=1.15)
- pkg_check_modules(XKBCOMMON IMPORTED_TARGET xkbcommon)
-
- if(WLDCLIENT_FOUND AND WLDCURSOR_FOUND AND WLDPROTO_FOUND AND XKBCOMMON_FOUND)
- set(FLTK_USE_WAYLAND TRUE) # OK, Wayland can be used
- message(STATUS "Checking Wayland requirements: OK")
- else()
- message(NOTICE "Checking Wayland requirements FAILED!")
- message(NOTICE " Not all required software modules for Wayland are present.")
- message(NOTICE " The Wayland backend was requested but can't be built.")
- message(NOTICE " Please check Wayland requirements (see above) or")
- message(NOTICE " set FLTK_BACKEND_WAYLAND=OFF to silence this warning.")
- endif()
- endif(FLTK_BACKEND_WAYLAND)
-
- if(FLTK_USE_WAYLAND)
- pkg_get_variable(PROTOCOLS wayland-protocols pkgdatadir)
- string(REPLACE "//" "/" PROTOCOLS ${PROTOCOLS})
- if(EXISTS ${PROTOCOLS}/staging/xdg-dialog/xdg-dialog-v1.xml)
- set(HAVE_XDG_DIALOG 1)
- message(STATUS "Found dev files for Wayland protocol 'XDG dialog windows'")
- else()
- set(HAVE_XDG_DIALOG 0)
- endif()
- if(EXISTS ${PROTOCOLS}/staging/cursor-shape/cursor-shape-v1.xml AND
- EXISTS ${PROTOCOLS}/stable/tablet/tablet-v2.xml)
- set(HAVE_CURSOR_SHAPE 1)
- message(STATUS "Found dev files for Wayland protocols 'Cursor shape' and 'Tablet'")
- message(STATUS " ==> option FLTK_USE_DBUS can be turned OFF if 'Cursor shape'-enabled wayland compositor is used.")
- else()
- set(HAVE_CURSOR_SHAPE 0)
- endif()
- if(FLTK_BACKEND_X11)
- include(FindX11)
- endif()
- if(FLTK_BACKEND_X11 AND X11_FOUND)
- set(FLTK_USE_X11 1) # build a hybrid Wayland/X11 library
- else()
- set(FLTK_USE_X11 0) # build a Wayland-only library
- endif()
- unset(FLTK_GRAPHICS_CAIRO CACHE)
- set(FLTK_GRAPHICS_CAIRO TRUE CACHE BOOL "all drawing to X11 windows uses Cairo")
- option(FLTK_USE_DBUS "use D-Bus - required to detect the cursor theme" ON)
- option(FLTK_USE_SYSTEM_LIBDECOR "use libdecor from the system" ON)
- set(USE_SYSTEM_LIBDECOR 1)
- unset(FLTK_USE_XRENDER CACHE)
- unset(FLTK_USE_XINERAMA CACHE)
- unset(FLTK_USE_XFT CACHE)
- unset(FLTK_USE_XCURSOR CACHE)
- unset(FLTK_USE_XFIXES CACHE)
- if(X11_FOUND)
- if(NOT X11_Xfixes_FOUND)
- message(WARNING "Install development headers for libXfixes (e.g., libxfixes-dev)")
- endif()
- set(HAVE_XFIXES 1)
- if(NOT X11_Xrender_FOUND)
- message(WARNING "Install development headers for libXrender (e.g., libxrender-dev)")
- endif()
- set(HAVE_XRENDER 1)
- if(NOT X11_Xft_FOUND)
- message(WARNING "Install development headers for libXft (e.g., libxft-dev)")
- endif()
- if(NOT X11_Xcursor_FOUND)
- message(WARNING "Install development headers for libXcursor (e.g., libxcursor-dev)")
- endif()
- set(HAVE_XCURSOR 1)
- if(NOT X11_Xinerama_FOUND)
- message(WARNING "Install development headers for libXinerama (e.g., libxinerama-dev)")
- endif()
- set(HAVE_XINERAMA 1)
- if(NOT (X11_Xfixes_FOUND AND X11_Xrender_FOUND AND X11_Xft_FOUND AND X11_Xcursor_FOUND
- AND X11_Xinerama_FOUND))
- message(FATAL_ERROR "*** Terminating: one or more required software package(s) missing.")
- endif()
- endif(X11_FOUND)
- unset(FLTK_USE_PANGO CACHE)
- set(FLTK_USE_PANGO TRUE CACHE BOOL "use lib Pango")
- if(FLTK_USE_SYSTEM_LIBDECOR)
- pkg_check_modules(SYSTEM_LIBDECOR IMPORTED_TARGET libdecor-0>=0.2.0 QUIET)
- if(NOT SYSTEM_LIBDECOR_FOUND)
- message(STATUS "Warning: system libdecor doesn't satisfy version ≥ 0.2.0,")
- message(STATUS " using bundled libdecor library instead.")
- set(USE_SYSTEM_LIBDECOR 0)
- else()
- pkg_get_variable(LIBDECOR_LIBDIR libdecor-0 libdir)
- set(LIBDECOR_PLUGIN_DIR ${LIBDECOR_LIBDIR}/libdecor/plugins-1)
- if(EXISTS ${LIBDECOR_PLUGIN_DIR} AND IS_DIRECTORY ${LIBDECOR_PLUGIN_DIR})
- set(LIBDECOR_PLUGIN_DIR "\"${LIBDECOR_PLUGIN_DIR}\"" )
- else()
- set(USE_SYSTEM_LIBDECOR 0)
- endif()
- endif(NOT SYSTEM_LIBDECOR_FOUND)
- else()
- set(USE_SYSTEM_LIBDECOR 0)
- endif(FLTK_USE_SYSTEM_LIBDECOR)
-
- if(USE_SYSTEM_LIBDECOR)
- set(FLTK_USE_LIBDECOR_GTK ON)
- else()
- option(FLTK_USE_LIBDECOR_GTK "Allow to use libdecor's GTK plugin" ON)
- endif(USE_SYSTEM_LIBDECOR)
-
- if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "FreeBSD")
- check_include_file(linux/input.h LINUX_INPUT_H)
- if(NOT LINUX_INPUT_H)
- message(FATAL_ERROR "Required include file 'linux/input.h' is missing. Please install package 'evdev-proto'")
- endif(NOT LINUX_INPUT_H)
- endif(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "FreeBSD")
-
- endif(FLTK_USE_WAYLAND)
-endif(UNIX)
-
-if(WIN32)
- option(FLTK_GRAPHICS_GDIPLUS "use GDI+ when possible for antialiased graphics" ON)
- if(FLTK_GRAPHICS_GDIPLUS)
- set(USE_GDIPLUS TRUE)
- if(NOT MSVC)
- list(APPEND FLTK_LDLIBS "-lgdiplus")
- endif(NOT MSVC)
- endif(FLTK_GRAPHICS_GDIPLUS)
-endif(WIN32)
-
-#######################################################################
-
-# find X11 libraries and headers
-set(PATH_TO_XLIBS)
-if(FLTK_BACKEND_X11)
- include(FindX11)
- if(X11_FOUND)
- set(FLTK_USE_X11 1)
- list(APPEND FLTK_LDLIBS -lX11)
- if(X11_Xext_FOUND)
- list(APPEND FLTK_LDLIBS -lXext)
- endif(X11_Xext_FOUND)
- get_filename_component(PATH_TO_XLIBS ${X11_X11_LIB} PATH)
- endif(X11_FOUND)
-endif()
-
-if(APPLE AND FLTK_BACKEND_X11)
- if(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 17.0.0)) # a.k.a. macOS version ≥ 10.13
- list(APPEND FLTK_CFLAGS "-D_LIBCPP_HAS_THREAD_API_PTHREAD")
- endif(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 17.0.0))
- # FIXME: include_directories(!)
- # FIXME: how can we implement "AFTER SYSTEM" ?
- include_directories(AFTER SYSTEM /opt/X11/include/freetype2)
- include_directories(AFTER SYSTEM /opt/X11/include) # for Xft.h
- if(PATH_TO_XLIBS)
- set(LDFLAGS "-L${PATH_TO_XLIBS} ${LDFLAGS}")
- endif(PATH_TO_XLIBS)
- if(X11_INCLUDE_DIR)
- set(TEMP_INCLUDE_DIR ${X11_INCLUDE_DIR})
- list(TRANSFORM TEMP_INCLUDE_DIR PREPEND "-I")
- list(APPEND FLTK_CFLAGS "${TEMP_INCLUDE_DIR}")
- endif(X11_INCLUDE_DIR)
-endif(APPLE AND FLTK_BACKEND_X11)
-
-#######################################################################
-option(FLTK_USE_POLL "use poll if available" OFF)
-mark_as_advanced(FLTK_USE_POLL)
-
-if(FLTK_USE_POLL)
- check_symbol_exists(poll "poll.h" USE_POLL)
-endif(FLTK_USE_POLL)
-
-#######################################################################
-option(FLTK_BUILD_SHARED_LIBS
- "Build shared libraries in addition to static libraries"
- OFF
-)
-
-#######################################################################
-
-option(FLTK_OPTION_PRINT_SUPPORT "allow print support" ON)
-option(FLTK_OPTION_FILESYSTEM_SUPPORT "allow file system support" ON)
-option(FLTK_OPTION_PEN_SUPPORT "include Pen/Tablet support" ON)
-
-option(FLTK_BUILD_FORMS "Build forms compatibility library" OFF)
-option(FLTK_BUILD_FLUID "Build FLUID" ON)
-option(FLTK_BUILD_FLTK_OPTIONS "Build fltk-options" ON)
-option(FLTK_BUILD_EXAMPLES "Build example programs" OFF)
-option(FLTK_BUILD_SCREENSHOTS "Build screenshot programs for docs" OFF)
-
-if(FLTK_IS_TOPLEVEL)
- option(FLTK_BUILD_TEST "Build test/demo programs" ON)
-else()
- option(FLTK_BUILD_TEST "Build test/demo programs" OFF)
-endif()
-
-
-# set variables to generate config.h or fl_config.h
-
-if(FLTK_BUILD_FORMS)
- set(FLTK_HAVE_FORMS 1)
-else()
- set(FLTK_HAVE_FORMS 0)
-endif()
-
-# Note: on some Windows build systems (notably "classic" MinGW 32-bit)
-# Pen/Tablet support is not available, hence we use try_compile() to
-# figure this out.
-#
-# CMake variables:
-# - FLTK_OPTION_PEN_SUPPORT: user option (cache; default ON/TRUE)
-# - PEN_DRIVER_SUPPORTED : Windows only; result of try_compile()
-# - FLTK_HAVE_PEN_SUPPORT : final result for building Pen/Tablet support,
-# also used to set config variable in config.h
-
-if(FLTK_OPTION_PEN_SUPPORT)
- if(WIN32)
- try_compile(PEN_DRIVER_SUPPORTED
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/CMake/pen-support.c
- )
- # fl_debug_var(PEN_DRIVER_SUPPORTED)
- if(PEN_DRIVER_SUPPORTED)
- set(FLTK_HAVE_PEN_SUPPORT 1)
- else()
- set(FLTK_HAVE_PEN_SUPPORT 0)
- endif()
- else(WIN32) # all other platforms
- set(FLTK_HAVE_PEN_SUPPORT 1)
- endif(WIN32)
-
- # generate a warning if Pen/Tablet support was requested but can't be compiled
-
- if(NOT FLTK_HAVE_PEN_SUPPORT)
- message(STATUS "WARNING: Pen/Tablet support requested (FLTK_OPTION_PEN_SUPPORT) but not available")
- message(STATUS " ... Pen/Tablet support has been disabled!")
- endif()
-
-else(FLTK_OPTION_PEN_SUPPORT) # option disabled by user
- set(FLTK_HAVE_PEN_SUPPORT 0)
-endif(FLTK_OPTION_PEN_SUPPORT)
-
-#######################################################################
-if(DOXYGEN_FOUND)
- option(FLTK_BUILD_HTML_DOCS "build html docs" ON)
- option(FLTK_INSTALL_HTML_DOCS "install html docs" OFF)
- option(FLTK_BUILD_FLUID_DOCS "build FLUID docs" OFF)
- option(FLTK_INSTALL_FLUID_DOCS "install FLUID docs" OFF)
-
- option(FLTK_INCLUDE_DRIVER_DOCS "include driver (developer) docs" OFF)
- mark_as_advanced(FLTK_INCLUDE_DRIVER_DOCS)
-
- if(LATEX_FOUND)
- option(FLTK_BUILD_PDF_DOCS "build pdf docs" ON)
- option(FLTK_INSTALL_PDF_DOCS "install pdf docs" OFF)
- endif(LATEX_FOUND)
-endif(DOXYGEN_FOUND)
-
-if(FLTK_BUILD_HTML_DOCS OR FLTK_BUILD_PDF_DOCS)
- add_subdirectory(documentation)
-endif(FLTK_BUILD_HTML_DOCS OR FLTK_BUILD_PDF_DOCS)
-
-if(FLTK_BUILD_FLUID_DOCS)
- add_subdirectory(fluid/documentation)
-endif(FLTK_BUILD_FLUID_DOCS)
-
-#######################################################################
-# Include optional Cairo support
-#######################################################################
-
-option(FLTK_OPTION_CAIRO_WINDOW "add support for Fl_Cairo_Window" OFF)
-option(FLTK_OPTION_CAIRO_EXT
- "use FLTK code instrumentation for Cairo extended use" OFF
-)
-
-set(FLTK_HAVE_CAIRO 0)
-set(FLTK_HAVE_CAIROEXT 0)
-
-if(FLTK_OPTION_CAIRO_WINDOW OR FLTK_OPTION_CAIRO_EXT)
-
- # On Windows we don't use pkg-config *if* FLTK_CAIRO_DIR is set
- # to prevent that CMake finds the system lib(s).
-
- if(WIN32 AND FLTK_CAIRO_DIR)
- set(PKG_CAIRO_FOUND FALSE)
- else()
- pkg_search_module(PKG_CAIRO cairo)
- endif()
-
- if(PKG_CAIRO_FOUND)
- set(FLTK_HAVE_CAIRO 1)
- if(FLTK_OPTION_CAIRO_EXT)
- set(FLTK_HAVE_CAIROEXT 1)
- endif(FLTK_OPTION_CAIRO_EXT)
-
- list(APPEND FLTK_BUILD_INCLUDE_DIRECTORIES ${PKG_CAIRO_INCLUDE_DIRS})
-
- # Cairo libs and flags for fltk-config
-
- # Hint: use either PKG_CAIRO_* or PKG_CAIRO_STATIC_* variables to
- # create the list of libraries used to link programs with Cairo
- # by running fltk-config --use-cairo --compile ...
- # Currently we're using the non-STATIC variables to link Cairo shared.
-
- set(CAIROLIBS)
- foreach(lib ${PKG_CAIRO_LIBRARIES})
- list(APPEND CAIROLIBS "-l${lib}")
- endforeach()
-
- string(REPLACE ";" " " CAIROLIBS "${CAIROLIBS}")
- string(REPLACE ";" " " CAIROFLAGS "${PKG_CAIRO_CFLAGS}")
-
- else(PKG_CAIRO_FOUND)
-
- if(NOT WIN32)
- message(STATUS "*** Cairo was requested but not found - please check your Cairo installation")
- message(STATUS "*** or disable options FLTK_OPTION_CAIRO_WINDOW and FLTK_OPTION_CAIRO_EXT.")
- message(FATAL_ERROR "*** Terminating: missing Cairo libs or headers.")
- endif()
-
- # Tweak Cairo includes / libs / paths for Windows (TEMPORARY solution).
- # Todo: find a better way to set the required variables and flags!
- # The current version was tested with 32-bit (MinGW) and 64-bit (Visual
- # Studio and MSYS2). The latter can also be used with the Cairo library
- # provided by MSYS2, but then the build depends on the MSYS2 installation.
- # AlbrechtS (05/2024)
-
- message(STATUS "--- Cairo not found: trying to find Cairo for Windows ...")
-
- if(CMAKE_SIZEOF_VOID_P STREQUAL "8")
- set(_cairo_suffix x64)
- else()
- set(_cairo_suffix x86)
- endif()
-
- find_library(FLTK_CAIRO_LIB cairo
- PATHS ${FLTK_CAIRO_DIR}
- PATH_SUFFIXES lib lib/${_cairo_suffix}
- NO_DEFAULT_PATH
- )
-
- if(NOT FLTK_CAIRO_DIR AND NOT FLTK_CAIRO_LIB)
- message(STATUS "--- Please set FLTK_CAIRO_DIR to point to the Cairo installation folder ...")
- message(STATUS " ... with files 'include/cairo.h' and 'lib/${_cairo_suffix}/cairo.lib'")
- message(STATUS "--- Example: cmake -DFLTK_CAIRO_DIR=\"C:/cairo-windows\" ...")
- message(STATUS "--- Note: this may be changed in the future.")
- message(FATAL_ERROR "*** Terminating: missing Cairo libs or headers.")
- endif()
-
- set(CAIROLIBS "-lcairo") # should be correct: needs cairo.lib
-
- # Simulate results of 'pkg_search_module (PKG_CAIRO cairo)' and more (above).
- # These variables will be used later
-
- set(PKG_CAIRO_LIBRARIES "cairo")
- set(PKG_CAIRO_INCLUDE_DIRS "${FLTK_CAIRO_DIR}/include")
- set(PKG_CAIRO_LIBRARY_DIRS "${FLTK_CAIRO_DIR}/lib/${_cairo_suffix}/")
-
- # FIXME - include_directories()
- include_directories(${PKG_CAIRO_INCLUDE_DIRS})
-
- set(FLTK_HAVE_CAIRO 1)
- if(FLTK_OPTION_CAIRO_EXT)
- set(FLTK_HAVE_CAIROEXT 1)
- endif(FLTK_OPTION_CAIRO_EXT)
-
- endif(PKG_CAIRO_FOUND)
-
- if(0) # 1 = DEBUG, 0 = no output
- message(STATUS "--- options.cmake: Cairo related variables ---")
- if(WIN32)
- fl_debug_var(FLTK_CAIRO_DIR)
- fl_debug_var(_cairo_suffix)
- endif()
- fl_debug_pkg(PKG_CAIRO cairo)
- message(STATUS "--- fltk-config/Cairo variables ---")
- fl_debug_var(FLTK_LDLIBS)
- fl_debug_var(CAIROFLAGS)
- fl_debug_var(CAIROLIBS)
- message(STATUS "--- End of Cairo related variables ---")
- endif() # 1 = DEBUG, ...
-
- unset(_cairo_suffix)
-
-endif(FLTK_OPTION_CAIRO_WINDOW OR FLTK_OPTION_CAIRO_EXT)
-
-#######################################################################
-
-option(FLTK_OPTION_SVG "read/write SVG image files" ON)
-
-if(FLTK_OPTION_SVG)
- set(FLTK_USE_SVG 1)
-else()
- set(FLTK_USE_SVG 0)
-endif(FLTK_OPTION_SVG)
-
-#######################################################################
-
-# FIXME: GLU libs have already been searched in resources.cmake
-
-set(HAVE_GL LIB_GL OR LIB_MesaGL)
-set(FLTK_USE_GL FALSE)
-
-if(HAVE_GL)
- option(FLTK_BUILD_GL "use OpenGL and build fltk_gl library" ON)
- if(FLTK_BUILD_GL)
- set(FLTK_USE_GL TRUE)
- endif()
-endif()
-
-if(FLTK_BUILD_GL)
- if(FLTK_USE_WAYLAND)
- pkg_check_modules(WLD_EGL IMPORTED_TARGET wayland-egl)
- pkg_check_modules(PKG_EGL IMPORTED_TARGET egl)
- if(FLTK_BACKEND_X11)
- pkg_check_modules(PKG_GL IMPORTED_TARGET gl)
- else()
- pkg_check_modules(PKG_GL IMPORTED_TARGET opengl)
- endif()
- pkg_check_modules(PKG_GLU IMPORTED_TARGET glu)
-
- if(NOT (WLD_EGL_FOUND AND PKG_EGL_FOUND AND PKG_GL_FOUND AND PKG_GLU_FOUND))
- message(STATUS "Modules 'wayland-egl, egl, gl (or opengl), and glu' are required to build for the Wayland backend.")
- message(FATAL_ERROR "*** Aborting ***")
- endif()
-
- endif(FLTK_USE_WAYLAND)
-
- if(FLTK_BACKEND_X11 OR FLTK_USE_WAYLAND)
- set(OPENGL_FOUND TRUE)
- if(FLTK_BACKEND_X11)
- find_library(OPENGL_LIB GL)
- else()
- find_library(OPENGL_LIB OpenGL)
- endif(FLTK_BACKEND_X11)
- get_filename_component(PATH_TO_GLLIB ${OPENGL_LIB} DIRECTORY)
- find_library(GLU_LIB GLU)
- get_filename_component(PATH_TO_GLULIB ${GLU_LIB} DIRECTORY)
- set(OPENGL_LIBRARIES -L${PATH_TO_GLULIB} -L${PATH_TO_GLLIB})
- if(APPLE)
- # FIXME: we should find a better way to resolve this issue:
- # with GL, must use XQuartz libX11 else "Insufficient GL support"
- set(OPENGL_LIBRARIES ${OPENGL_LIBRARIES} -lX11)
- endif(APPLE)
- set(OPENGL_LIBRARIES ${OPENGL_LIBRARIES} -lGLU)
- if(FLTK_BACKEND_X11)
- set(OPENGL_LIBRARIES ${OPENGL_LIBRARIES} -lGL)
- else()
- set(OPENGL_LIBRARIES ${OPENGL_LIBRARIES} -lOpenGL)
- endif(FLTK_BACKEND_X11)
- find_path(OPENGL_INCLUDE_DIR NAMES GL/gl.h OpenGL/gl.h HINTS ${X11_INCLUDE_DIR})
- unset(HAVE_GL_GLU_H CACHE)
- find_file(HAVE_GL_GLU_H GL/glu.h PATHS ${X11_INCLUDE_DIR})
- else()
- find_package(OpenGL)
- if(APPLE)
- set(HAVE_GL_GLU_H ${HAVE_OPENGL_GLU_H})
- endif(APPLE)
- endif(FLTK_BACKEND_X11 OR FLTK_USE_WAYLAND)
-else(FLTK_BUILD_GL)
- set(OPENGL_FOUND FALSE)
- set(HAVE_GL FALSE)
- set(HAVE_GL_GLU_H FALSE)
- set(HAVE_GLXGETPROCADDRESSARB FALSE)
-endif(FLTK_BUILD_GL)
-
-mark_as_advanced(OPENGL_LIB) # internal cache variable, not relevant for users
-
-# FIXME: the following is necessary because this variable may have been removed
-# from the cache above. It has been marked "advanced" before in resources.cmake.
-mark_as_advanced(HAVE_GL_GLU_H)
-
-# Note: GLLIBS is a CMake 'list' and is used exclusively to generate fltk-config !
-
-# FIXME, this should be improved!
-# We should probably deduct this from OPENGL_LIBRARIES but it turned
-# out to be difficult since FindOpenGL seems to return different
-# syntax depending on the platform (and maybe also CMake version).
-# Hence we use the following code...
-
-set(GLLIBS)
-set(FLTK_GL_FOUND FALSE)
-
-if(OPENGL_FOUND)
- set(FLTK_GL_FOUND TRUE)
- find_path(FLTK_OPENGL_GLU_INCLUDE_DIR NAMES GL/glu.h OpenGL/glu.h HINTS ${OPENGL_INCLUDE_DIR} ${X11_INCLUDE_DIR})
- set(CMAKE_REQUIRED_INCLUDES ${OPENGL_INCLUDE_DIR}/GL ${FLTK_OPENGL_GLU_INCLUDE_DIR})
-
- if(WIN32)
- list(APPEND GLLIBS -lglu32 -lopengl32)
- elseif(APPLE AND NOT FLTK_BACKEND_X11)
- list(APPEND GLLIBS "-framework OpenGL")
- elseif(FLTK_USE_WAYLAND)
- foreach(_lib WLD_EGL PKG_EGL PKG_GLU PKG_GL)
- list(APPEND GLLIBS ${${_lib}_LDFLAGS})
- endforeach(_lib )
- else()
- list(APPEND GLLIBS -lGLU -lGL)
- endif(WIN32)
-
- if (FLTK_BACKEND_X11)
- # check if function glXGetProcAddressARB exists
- set(TEMP_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
- set(CMAKE_REQUIRED_LIBRARIES ${OPENGL_LIBRARIES})
- check_symbol_exists(glXGetProcAddressARB "glx.h" HAVE_GLXGETPROCADDRESSARB)
- set(CMAKE_REQUIRED_LIBRARIES ${TEMP_REQUIRED_LIBRARIES})
- unset(TEMP_REQUIRED_LIBRARIES)
- else()
- unset(HAVE_GLXGETPROCADDRESSARB CACHE)
- endif(FLTK_BACKEND_X11)
-endif(OPENGL_FOUND)
-
-#######################################################################
-option(FLTK_OPTION_LARGE_FILE "enable large file support" ON)
-
-if(FLTK_OPTION_LARGE_FILE)
- if(NOT MSVC)
- add_definitions(-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64)
- list(APPEND FLTK_CFLAGS -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64)
- endif(NOT MSVC)
-endif(FLTK_OPTION_LARGE_FILE)
-
-#######################################################################
-# Create an option whether we want to check for pthreads.
-# We must not do it on Windows unless we run under Cygwin, since we
-# always use native threads on Windows (even if libpthread is available).
-
-# Note: HAVE_PTHREAD_H has already been determined in resources.cmake
-# before this file is included (or set to 0 for WIN32).
-
-if(WIN32 AND NOT CYGWIN)
- # set(HAVE_PTHREAD_H 0) # (see resources.cmake)
- set(FLTK_USE_PTHREADS FALSE)
-else()
- option(FLTK_USE_PTHREADS "use multi-threading with pthreads" ON)
-endif(WIN32 AND NOT CYGWIN)
-
-# initialize more variables
-set(USE_THREADS 0)
-set(HAVE_PTHREAD 0)
-set(FLTK_PTHREADS_FOUND FALSE)
-
-if(FLTK_USE_PTHREADS)
-
- include(FindThreads)
-
- if(Threads_FOUND)
- add_definitions("-D_THREAD_SAFE -D_REENTRANT")
- set(USE_THREADS 1)
- set(FLTK_THREADS_FOUND TRUE)
- endif(Threads_FOUND)
-
- if(CMAKE_USE_PTHREADS_INIT AND NOT WIN32)
- set(HAVE_PTHREAD 1)
- if(NOT APPLE)
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread")
- endif(NOT APPLE)
- list(APPEND FLTK_LDLIBS -lpthread)
- list(APPEND FLTK_CFLAGS -D_THREAD_SAFE -D_REENTRANT)
- set(FLTK_PTHREADS_FOUND TRUE)
- else()
- set(HAVE_PTHREAD 0)
- set(HAVE_PTHREAD_H 0)
- set(FLTK_PTHREADS_FOUND FALSE)
- endif(CMAKE_USE_PTHREADS_INIT AND NOT WIN32)
-
-else(FLTK_USE_PTHREADS)
-
- set(HAVE_PTHREAD_H 0)
-
-endif(FLTK_USE_PTHREADS)
-
-set(debug_threads 0) # set to 1 to show debug info
-if(debug_threads)
- message("")
- message(STATUS "options.cmake: set debug_threads to 0 to disable the following info:")
- fl_debug_var(FLTK_USE_PTHREADS)
- fl_debug_var(HAVE_PTHREAD)
- fl_debug_var(HAVE_PTHREAD_H)
- fl_debug_var(FLTK_THREADS_FOUND)
- fl_debug_var(CMAKE_EXE_LINKER_FLAGS)
- message(STATUS "options.cmake: end of debug_threads info.")
-endif(debug_threads)
-unset(debug_threads)
-
-
-#######################################################################
-if(X11_Xinerama_FOUND)
- option(FLTK_USE_XINERAMA "use lib Xinerama" ON)
-endif(X11_Xinerama_FOUND)
-
-if(FLTK_USE_XINERAMA)
- set(HAVE_XINERAMA ${X11_Xinerama_FOUND})
- list(APPEND FLTK_BUILD_INCLUDE_DIRECTORIES ${X11_Xinerama_INCLUDE_PATH})
- list(APPEND FLTK_LDLIBS -lXinerama)
- set(FLTK_XINERAMA_FOUND TRUE)
-else()
- set(FLTK_XINERAMA_FOUND FALSE)
-endif(FLTK_USE_XINERAMA)
-
-#######################################################################
-if(X11_Xfixes_FOUND)
- option(FLTK_USE_XFIXES "use lib Xfixes" ON)
-endif(X11_Xfixes_FOUND)
-
-if(FLTK_USE_XFIXES)
- set(HAVE_XFIXES ${X11_Xfixes_FOUND})
- list(APPEND FLTK_BUILD_INCLUDE_DIRECTORIES ${X11_Xfixes_INCLUDE_PATH})
- list(APPEND FLTK_LDLIBS -lXfixes)
- set(FLTK_XFIXES_FOUND TRUE)
-else()
- set(FLTK_XFIXES_FOUND FALSE)
-endif(FLTK_USE_XFIXES)
-
-#######################################################################
-if(X11_Xcursor_FOUND)
- option(FLTK_USE_XCURSOR "use lib Xcursor" ON)
-endif(X11_Xcursor_FOUND)
-
-if(FLTK_USE_XCURSOR)
- set(HAVE_XCURSOR ${X11_Xcursor_FOUND})
- list(APPEND FLTK_BUILD_INCLUDE_DIRECTORIES ${X11_Xcursor_INCLUDE_PATH})
- list(APPEND FLTK_LDLIBS -lXcursor)
- set(FLTK_XCURSOR_FOUND TRUE)
-else()
- set(FLTK_XCURSOR_FOUND FALSE)
-endif(FLTK_USE_XCURSOR)
-
-#######################################################################
-if(X11_Xft_FOUND)
- option(FLTK_USE_PANGO "use lib Pango" OFF)
- if(NOT FLTK_USE_WAYLAND)
- option(FLTK_GRAPHICS_CAIRO "all drawing to X11 windows uses Cairo" OFF)
- endif(NOT FLTK_USE_WAYLAND)
- if(NOT FLTK_GRAPHICS_CAIRO)
- option(FLTK_USE_XFT "use lib Xft" ON)
- endif()
-endif(X11_Xft_FOUND)
-
-# test option compatibility: Cairo for Xlib requires Pango
-if(FLTK_GRAPHICS_CAIRO)
- unset(FLTK_USE_PANGO CACHE)
- set(FLTK_USE_PANGO TRUE CACHE BOOL "use lib Pango")
-endif(FLTK_GRAPHICS_CAIRO)
-
-if(FLTK_USE_X11 AND FLTK_USE_PANGO AND NOT FLTK_GRAPHICS_CAIRO)
- set(USE_PANGOXFT true)
-endif()
-
-# test option compatibility: PangoXft requires Xft
-if(USE_PANGOXFT)
- if(NOT X11_Xft_FOUND)
- message(STATUS "PangoXft requires Xft but Xft library or headers could not be found.")
- message(STATUS "Please install Xft development files and try again or disable FLTK_USE_PANGO.")
- message(FATAL_ERROR "*** Aborting ***")
- else()
- if(NOT FLTK_USE_XFT)
- message(STATUS "PangoXft requires Xft but usage of Xft was disabled.")
- message(STATUS "Please enable FLTK_USE_XFT and try again or disable FLTK_USE_PANGO.")
- message(FATAL_ERROR "*** Aborting ***")
- endif(NOT FLTK_USE_XFT)
- endif(NOT X11_Xft_FOUND)
-endif(USE_PANGOXFT)
-
-#######################################################################
-if((X11_Xft_FOUND OR NOT USE_PANGOXFT) AND FLTK_USE_PANGO)
- if(NOT PKG_CONFIG_FOUND)
- message(FATAL_ERROR "Option FLTK_USE_PANGO requires availability of pkg-config on the build machine.")
- endif(NOT PKG_CONFIG_FOUND)
- pkg_check_modules(CAIRO IMPORTED_TARGET cairo)
- if(USE_PANGOXFT)
- pkg_check_modules(PANGOXFT IMPORTED_TARGET pangoxft)
- endif(USE_PANGOXFT)
- pkg_check_modules(PANGOCAIRO IMPORTED_TARGET pangocairo)
-
- if((PANGOXFT_FOUND OR NOT USE_PANGOXFT) AND PANGOCAIRO_FOUND AND CAIRO_FOUND)
- if(USE_PANGOXFT)
- list(APPEND FLTK_BUILD_INCLUDE_DIRECTORIES ${PANGOXFT_INCLUDE_DIRS})
- else()
- list(APPEND FLTK_BUILD_INCLUDE_DIRECTORIES ${PANGOCAIRO_INCLUDE_DIRS})
- endif(USE_PANGOXFT)
- list(APPEND FLTK_BUILD_INCLUDE_DIRECTORIES ${CAIRO_INCLUDE_DIRS})
-
- set(USE_PANGO TRUE)
-
- # add required libraries to fltk-config ...
- if(USE_PANGOXFT)
- list(APPEND FLTK_LDLIBS ${PANGOXFT_LDFLAGS})
- endif(USE_PANGOXFT)
- list(APPEND FLTK_LDLIBS ${PANGOCAIRO_LDFLAGS})
-
- endif((PANGOXFT_FOUND OR NOT USE_PANGOXFT) AND PANGOCAIRO_FOUND AND CAIRO_FOUND)
-
- if(USE_PANGO AND (FLTK_GRAPHICS_CAIRO OR FLTK_USE_WAYLAND))
- set(FLTK_USE_CAIRO 1)
- # fl_debug_var(FLTK_USE_CAIRO)
- endif()
-
-endif((X11_Xft_FOUND OR NOT USE_PANGOXFT) AND FLTK_USE_PANGO)
-
-if(FLTK_USE_WAYLAND)
-
- # Note: Disable FLTK_USE_LIBDECOR_GTK to get cairo titlebars rather than GTK
- if(FLTK_USE_LIBDECOR_GTK AND NOT USE_SYSTEM_LIBDECOR)
- pkg_check_modules(GTK IMPORTED_TARGET gtk+-3.0)
- if(GTK_FOUND)
- list(APPEND FLTK_BUILD_INCLUDE_DIRECTORIES ${GTK_INCLUDE_DIRS})
- list(APPEND FLTK_LDLIBS ${GTK_LDFLAGS})
- else()
- message(WARNING "Installation of the development files for the GTK library "
- "(e.g., libgtk-3-dev) is recommended when using the gnome desktop.")
- endif(GTK_FOUND)
- endif(FLTK_USE_LIBDECOR_GTK AND NOT USE_SYSTEM_LIBDECOR)
-
-endif()
-
-if(FLTK_USE_XFT)
- set(USE_XFT X11_Xft_FOUND)
- list(APPEND FLTK_LDLIBS -lXft)
- set(FLTK_XFT_FOUND TRUE)
- if(APPLE AND FLTK_BACKEND_X11)
- find_library(LIB_fontconfig fontconfig "/opt/X11/lib")
- endif()
-else()
- set(FLTK_XFT_FOUND FALSE)
-endif(FLTK_USE_XFT)
-
-#######################################################################
-if(X11_Xrender_FOUND)
- option(FLTK_USE_XRENDER "use lib Xrender" ON)
-endif(X11_Xrender_FOUND)
-
-if(FLTK_USE_XRENDER)
- set(HAVE_XRENDER ${X11_Xrender_FOUND})
- if(HAVE_XRENDER)
- list(APPEND FLTK_BUILD_INCLUDE_DIRECTORIES ${X11_Xrender_INCLUDE_PATH})
- list(APPEND FLTK_LDLIBS -lXrender)
- set(FLTK_XRENDER_FOUND TRUE)
- else(HAVE_XRENDER)
- set(FLTK_XRENDER_FOUND FALSE)
- endif(HAVE_XRENDER)
-else(FLTK_USE_XRENDER)
- set(FLTK_XRENDER_FOUND FALSE)
-endif(FLTK_USE_XRENDER)
-
-#######################################################################
-set(FL_NO_PRINT_SUPPORT FALSE)
-if(X11_FOUND AND NOT FLTK_OPTION_PRINT_SUPPORT)
- set(FL_NO_PRINT_SUPPORT TRUE)
-endif(X11_FOUND AND NOT FLTK_OPTION_PRINT_SUPPORT)
-#######################################################################
-
-#######################################################################
-set(FL_CFG_NO_FILESYSTEM_SUPPORT TRUE)
-if(FLTK_OPTION_FILESYSTEM_SUPPORT)
- set(FL_CFG_NO_FILESYSTEM_SUPPORT FALSE)
-endif(FLTK_OPTION_FILESYSTEM_SUPPORT)
-#######################################################################
-
-#######################################################################
-option(CMAKE_SUPPRESS_REGENERATION "suppress rules to re-run CMake on rebuild" OFF)
-mark_as_advanced(CMAKE_SUPPRESS_REGENERATION)
-
-#######################################################################
-# Clean up ...
-
-# *** FIXME *** Do we need all these variables ?
-
-list(REMOVE_DUPLICATES FLTK_BUILD_INCLUDE_DIRECTORIES)
-list(REMOVE_DUPLICATES FLTK_IMAGE_INCLUDE_DIRECTORIES)
-list(REMOVE_DUPLICATES FLTK_IMAGE_LIBRARIES)
-
-#######################################################################
-# Debugging ...
-
-if(DEBUG_OPTIONS_CMAKE)
- message(STATUS "") # empty line
- fl_debug_var(WIN32)
- fl_debug_var(LIBS)
- fl_debug_var(GLLIBS)
- fl_debug_var(FLTK_LDLIBS)
- fl_debug_var(OPENGL_FOUND)
- fl_debug_var(OPENGL_INCLUDE_DIR)
- fl_debug_var(OPENGL_LIBRARIES)
- fl_debug_var(CMAKE_MSVC_RUNTIME_LIBRARY)
- message("--- bundled libraries ---")
- fl_debug_var(FLTK_USE_SYSTEM_LIBJPEG)
- fl_debug_var(FLTK_USE_SYSTEM_LIBPNG)
- fl_debug_var(FLTK_USE_SYSTEM_ZLIB)
- fl_debug_var(FLTK_USE_BUNDLED_JPEG)
- fl_debug_var(FLTK_USE_BUNDLED_PNG)
- fl_debug_var(FLTK_USE_BUNDLED_ZLIB)
-
- message(STATUS "--- *FIXME* include directories ---")
- fl_debug_var(FLTK_BUILD_INCLUDE_DIRECTORIES)
- fl_debug_var(FLTK_IMAGE_INCLUDE_DIRECTORIES)
-
- message("--- X11 ---")
- fl_debug_var(X11_FOUND)
- fl_debug_var(X11_INCLUDE_DIR)
- fl_debug_var(X11_LIBRARIES)
- fl_debug_var(X11_X11_LIB)
- fl_debug_var(X11_X11_INCLUDE_PATH)
- fl_debug_var(X11_Xft_INCLUDE_PATH)
- fl_debug_var(X11_Xft_LIB)
- fl_debug_var(X11_Xft_FOUND)
- fl_debug_var(PATH_TO_XLIBS)
- message(STATUS "[** end of options.cmake **]")
-endif(DEBUG_OPTIONS_CMAKE)
-unset(DEBUG_OPTIONS_CMAKE)