diff --git a/CMake/fl_create_example.cmake b/CMake/fl_create_example.cmake index 303b5ea41..77fb24d0b 100644 --- a/CMake/fl_create_example.cmake +++ b/CMake/fl_create_example.cmake @@ -1,8 +1,8 @@ # -# A macro used by the CMake build system for the Fast Light Tool Kit (FLTK). -# Written by Michael Surette +# A function used by the CMake build system for the Fast Light Tool Kit (FLTK). +# Originally written by Michael Surette # -# Copyright 1998-2020 by Bill Spitzak and others. +# Copyright 1998-2023 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 @@ -17,7 +17,7 @@ ################################################################################ # -# macro CREATE_EXAMPLE - Create a test/demo (example) program +# function CREATE_EXAMPLE - Create a test/demo (example) program # # Input: # @@ -119,13 +119,13 @@ function (CREATE_EXAMPLE NAME SOURCES LIBRARIES) set_target_properties (${TARGET_NAME} PROPERTIES OUTPUT_NAME ${NAME}) target_link_libraries (${TARGET_NAME} ${LIBRARIES}) - # we must link all programs with fltk_cairo if option CAIROEXT is enabled + # we must link all programs with cairo if option CAIROEXT is enabled if (FLTK_HAVE_CAIROEXT) - target_link_libraries (${TARGET_NAME} fltk_cairo cairo) + target_link_libraries (${TARGET_NAME} ${PKG_CAIRO_LIBRARIES}) endif () - if (FLTK_HAVE_CAIRO) - fl_target_link_directories (${TARGET_NAME} PRIVATE "${PKG_CAIRO_LIBRARY_DIRS}") + if (FLTK_HAVE_CAIRO AND PKG_CAIRO_LIBRARY_DIRS) + fl_target_link_directories (${TARGET_NAME} PUBLIC ${PKG_CAIRO_LIBRARY_DIRS}) endif () if (USE_GDIPLUS) # can only be true on Windows diff --git a/CMake/options.cmake b/CMake/options.cmake index e0235236d..392cb5cd6 100644 --- a/CMake/options.cmake +++ b/CMake/options.cmake @@ -412,19 +412,8 @@ if (OPTION_CAIRO OR OPTION_CAIROEXT) if (OPTION_CAIROEXT) set (FLTK_HAVE_CAIROEXT 1) endif (OPTION_CAIROEXT) - add_subdirectory (cairo) - - if (0) - fl_debug_var (PKG_CAIRO_INCLUDE_DIRS) - fl_debug_var (PKG_CAIRO_CFLAGS) - fl_debug_var (PKG_CAIRO_LIBRARIES) - fl_debug_var (PKG_CAIRO_LIBRARY_DIRS) - fl_debug_var (PKG_CAIRO_STATIC_INCLUDE_DIRS) - fl_debug_var (PKG_CAIRO_STATIC_CFLAGS) - fl_debug_var (PKG_CAIRO_STATIC_LIBRARIES) - fl_debug_var (PKG_CAIRO_STATIC_LIBRARY_DIRS) - endif() + ### FIXME ### include_directories (${PKG_CAIRO_INCLUDE_DIRS}) # Cairo libs and flags for fltk-config @@ -442,16 +431,67 @@ if (OPTION_CAIRO OR OPTION_CAIROEXT) string (REPLACE ";" " " CAIROLIBS "${CAIROLIBS}") string (REPLACE ";" " " CAIROFLAGS "${PKG_CAIRO_CFLAGS}") - # fl_debug_var (FLTK_LDLIBS) - # fl_debug_var (CAIROFLAGS) - # fl_debug_var (CAIROLIBS) + else (PKG_CAIRO_FOUND) + + if (NOT MSVC) + message (STATUS "*** Cairo was requested but not found - please check your cairo installation") + message (STATUS "*** or disable options OPTION_CAIRO and OPTION_CAIRO_EXT.") + message (FATAL_ERROR "*** Terminating: missing Cairo libs or headers.") + endif () + + # Tweak Cairo includes / libs / paths for Visual Studio (TEMPORARY solution). + # Todo: find a better way to set the required variables and flags! + # AlbrechtS 03/2023 + + message (STATUS "--- Cairo not found: trying to find Cairo for MSVC ...") + + if (NOT FLTK_CAIRO_DIR) + message (STATUS "--- Please set FLTK_CAIRO_DIR to point at the Cairo installation folder ...") + message (STATUS " ... with files 'include/cairo.h' and 'lib/x64/cairo.lib'") + message (STATUS "--- Example: cmake -DFLTK_CAIRO_DIR=\"C:/cairo-windows\" ...") + message (STATUS "--- Note: this will be changed in the future; currently only 64-bit supported") + 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/x64/") + + ### FIXME ### + include_directories (${PKG_CAIRO_INCLUDE_DIRS}) + + set (FLTK_HAVE_CAIRO 1) + if (OPTION_CAIROEXT) + set (FLTK_HAVE_CAIROEXT 1) + endif (OPTION_CAIROEXT) - else () - message (STATUS "*** Cairo was requested but not found - please check your cairo installation") - message (STATUS "*** or disable options OPTION_CAIRO and OPTION_CAIRO_EXT.") - message (FATAL_ERROR "*** Terminating: missing Cairo libs or headers.") endif (PKG_CAIRO_FOUND) + if (0) # 1 = DEBUG, 0 = no output + message (STATUS "--- options.cmake: Cairo related variables ---") + if (MSVC) + fl_debug_var (FLTK_CAIRO_DIR) + endif (MSVC) + fl_debug_var (PKG_CAIRO_INCLUDE_DIRS) + fl_debug_var (PKG_CAIRO_CFLAGS) + fl_debug_var (PKG_CAIRO_LIBRARIES) + fl_debug_var (PKG_CAIRO_LIBRARY_DIRS) + fl_debug_var (PKG_CAIRO_STATIC_INCLUDE_DIRS) + fl_debug_var (PKG_CAIRO_STATIC_CFLAGS) + fl_debug_var (PKG_CAIRO_STATIC_LIBRARIES) + fl_debug_var (PKG_CAIRO_STATIC_LIBRARY_DIRS) + 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, ... + endif (OPTION_CAIRO OR OPTION_CAIROEXT) ####################################################################### diff --git a/CMakeLists.txt b/CMakeLists.txt index 19d7b09c3..f00237a35 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,7 +102,17 @@ endif (debug_build) unset (debug_build) ####################################################################### -# build the FLTK libraries +# Build a dummy ("empty") Cairo library for backwards compatibility. +# This should be removed some time after 1.4.0 was released, maybe +# in FLTK 1.4.1, 1.4.2, 1.5.0, or whatever the next minor release is. +####################################################################### + +if (FLTK_HAVE_CAIRO) + add_subdirectory (cairo) +endif () + +####################################################################### +# build the standard FLTK libraries ####################################################################### add_subdirectory(src) @@ -129,11 +139,13 @@ endif (FLTK_BUILD_FLTK_OPTIONS) # install.cmake creates these files for an installed FLTK # these two would only differ in paths, so common variables are set here ####################################################################### + include (CMake/variables.cmake) ####################################################################### # final config and export ####################################################################### + include (CMake/export.cmake) configure_file ( @@ -157,6 +169,7 @@ endif (FLTK_BUILD_EXAMPLES) ####################################################################### # installation ####################################################################### + include (CMake/install.cmake) ####################################################################### @@ -221,15 +234,15 @@ else () endif () if (FLTK_BUILD_FLUID) - message (STATUS "FLUID will be built in ${CMAKE_CURRENT_BINARY_DIR}/bin/fluid") + message (STATUS "FLUID will be built in ${CMAKE_CURRENT_BINARY_DIR}/bin/fluid") else () - message (STATUS "FLUID will not be built (set FLTK_BUILD_FLUID=ON to build)") + message (STATUS "FLUID will not be built (set FLTK_BUILD_FLUID=ON to build)") endif () if (FLTK_BUILD_FLTK_OPTIONS) - message (STATUS "fltk-options will be built in ${CMAKE_CURRENT_BINARY_DIR}/bin/fltk-options") + message (STATUS "fltk-options will be built in ${CMAKE_CURRENT_BINARY_DIR}/bin/fltk-options") else () - message (STATUS "fltk-options will not be built (set FLTK_BUILD_FLTK_OPTIONS=ON to build)") + message (STATUS "fltk-options will not be built (set FLTK_BUILD_FLTK_OPTIONS=ON to build)") endif () if (FLTK_BUILD_TEST) @@ -243,21 +256,21 @@ else () endif () if (FLTK_USE_BUILTIN_JPEG) - message (STATUS "Image Libraries: JPEG = Builtin") + message (STATUS "Image Libraries: JPEG = Builtin") else () - message (STATUS "Image Libraries: JPEG = System") + message (STATUS "Image Libraries: JPEG = System") endif () if (FLTK_USE_BUILTIN_PNG) - message (STATUS " PNG = Builtin") + message (STATUS " PNG = Builtin") else () - message (STATUS " PNG = System") + message (STATUS " PNG = System") endif () if (FLTK_USE_BUILTIN_ZLIB) - message (STATUS " ZLIB = Builtin") + message (STATUS " ZLIB = Builtin") else () - message (STATUS " ZLIB = System") + message (STATUS " ZLIB = System") endif () if (UNIX AND NOT (APPLE AND NOT OPTION_APPLE_X11)) diff --git a/FL/Fl_Cairo.H b/FL/Fl_Cairo.H index 29496f0b9..431679541 100644 --- a/FL/Fl_Cairo.H +++ b/FL/Fl_Cairo.H @@ -1,7 +1,7 @@ // -// Main header file for the Fast Light Tool Kit (FLTK). +// Main Cairo header file for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2021 by Bill Spitzak and others. +// Copyright 1998-2022 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 @@ -14,74 +14,88 @@ // https://www.fltk.org/bugs.php // -/* \file - Handling transparently platform dependent cairo include files +/** \file Fl_Cairo.H + Cairo is currently supported for the following platforms: + Windows, macOS, Unix/Linux (X11 + Wayland). + + \note In FLTK 1.3.x this header file (Fl_Cairo.H) included the platform + specific Cairo headers. This is no longer true since 1.4.0. + + This header file is platform agnostic. If you need platform specific Cairo + headers you need to #include them in your source file. + + To use FLTK's builtin Cairo support you need to \#include \ + \b before you include any other FLTK header which is officially required anyway. + Since FLTK 1.4.0 the preprocessor constants \p FLTK_HAVE_CAIRO and/or + \p FLTK_HAVE_CAIROEXT are defined in \ by including \. */ #ifndef FL_CAIRO_H -# define FL_CAIRO_H +#define FL_CAIRO_H -# include // build configuration +#include # ifdef FLTK_HAVE_CAIRO -// Cairo is currently supported for the following platforms: -// Win32, Apple Quartz, X11 - -# include - # include /** - \addtogroup group_cairo - @{ + \addtogroup group_cairo + @{ */ /** - Contains all the necessary info on the current cairo context. - A private internal & unique corresponding object is created to - permit cairo context state handling while keeping it opaque. - For internal use only. - \note Only available when configure has the --enable-cairo or - --enable-cairoext option or one or both of the CMake options - OPTION_CAIRO or OPTION_CAIROEXT is set (ON) + Contains all the necessary info on the current cairo context. + A private internal & unique corresponding object is created to + permit cairo context state handling while keeping it opaque. + For internal use only. + \note Only available when configure has the --enable-cairo or + --enable-cairoext option or one or both of the CMake options + OPTION_CAIRO or OPTION_CAIROEXT is set (ON) */ class FL_EXPORT Fl_Cairo_State { public: - Fl_Cairo_State() : cc_(0), own_cc_(false), autolink_(false), window_(0), gc_(0) {} + Fl_Cairo_State() + : cc_(0) + , own_cc_(false) + , autolink_(false) + , window_(0) + , gc_(0) {} - // access attributes - cairo_t* cc() const {return cc_;} ///< Gets the current cairo context - bool autolink() const {return autolink_;} ///< Gets the autolink option. See Fl::cairo_autolink_context(bool) - /** Sets the current cairo context. + // access attributes + cairo_t *cc() const { return cc_; } ///< Gets the current cairo context + bool autolink() const { return autolink_; } ///< Gets the autolink option. See Fl::cairo_autolink_context(bool) + /** Sets the current cairo context. - \p own == \e true (the default) indicates that the cairo context \p c - will be deleted by FLTK internally when another cc is set later. + \p own == \e true (the default) indicates that the cairo context \p c + will be deleted by FLTK internally when another cc is set later. - \p own == \e false indicates cc deletion is handled externally - by the user program. - */ - void cc(cairo_t* c, bool own=true) { - if (cc_ && own_cc_) cairo_destroy(cc_); - cc_=c; - if (!cc_) window_=0; - own_cc_=own; - } - void autolink(bool b); ///< Sets the autolink option, only available with --enable-cairoext - void window(void* w) {window_=w;} ///< Sets the window \p w to keep track on - void* window() const {return window_;} ///< Gets the last window attached to a cc - void gc(void* c) {gc_=c;} ///< Sets the gc \p c to keep track on - void* gc() const {return gc_;} ///< Gets the last gc attached to a cc + \p own == \e false indicates cc deletion is handled externally + by the user program. + */ + void cc(cairo_t *c, bool own = true) { + if (cc_ && own_cc_) + cairo_destroy(cc_); + cc_ = c; + if (!cc_) + window_ = 0; + own_cc_ = own; + } + void autolink(bool b); ///< Sets the autolink option, only available with --enable-cairoext + void window(void *w) { window_ = w; } ///< Sets the window \p w to keep track on + void *window() const { return window_; } ///< Gets the last window attached to a cc + void gc(void *c) { gc_ = c; } ///< Sets the gc \p c to keep track on + void *gc() const { return gc_; } ///< Gets the last gc attached to a cc private: - cairo_t * cc_; // contains the unique autoupdated cairo context - bool own_cc_; // indicates whether we must delete the cc, useful for internal cleanup - bool autolink_; // false by default, prevents the automatic cairo mapping on fltk windows - // for custom cairo implementations. - void* window_, *gc_; // for keeping track internally of last win+gc treated + cairo_t *cc_; // contains the unique autoupdated cairo context + bool own_cc_; // indicates whether we must delete the cc, useful for internal cleanup + bool autolink_; // false by default, prevents the automatic cairo mapping on fltk windows + // for custom cairo implementations. + void *window_, *gc_; // for keeping track internally of last win+gc treated }; /** @} */ -# endif // FLTK_HAVE_CAIRO +#endif // FLTK_HAVE_CAIRO #endif // FL_CAIRO_H diff --git a/FL/Fl_Cairo_Window.H b/FL/Fl_Cairo_Window.H index 0816adee3..65a8d5eeb 100644 --- a/FL/Fl_Cairo_Window.H +++ b/FL/Fl_Cairo_Window.H @@ -1,7 +1,7 @@ // -// Cairo Window header file for the Fast Light Tool Kit (FLTK). +// Cairo window header file for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2021 by Bill Spitzak and others. +// Copyright 1998-2023 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 @@ -15,7 +15,7 @@ // /* \file - Fl_Cairo_Window Handling transparently a FLTK window incorporating a cairo draw callback. + Fl_Cairo_Window, an FLTK window incorporating a Cairo draw callback. */ #ifndef FL_CAIRO_WINDOW_H @@ -26,7 +26,7 @@ # ifdef FLTK_HAVE_CAIRO // Cairo is currently supported for the following platforms: -// Win32, Apple Quartz, X11 +// Win32, Apple Quartz, X11, Wayland # include # include @@ -36,11 +36,11 @@ */ /** - This defines a FLTK window with cairo support. + This defines an FLTK window with Cairo support. - This class overloads the virtual draw() method for you, - so that the only thing you have to do is to provide your cairo code. - All cairo context handling is achieved transparently. + This class overloads the virtual draw() method for you, + so that the only thing you have to do is to provide your Cairo code. + All Cairo context handling is achieved transparently. The default coordinate system for cairo drawing commands within Fl_Cario_Window is FLTK's coordinate system, where the `x,y,w,h` values are releative to the @@ -79,7 +79,7 @@ CMake option OPTION_CAIRO or configure --enable-cairo. \note You can alternatively define your custom cairo FLTK window, - and thus at least override the draw() method to provide custom cairo + and thus at least override the draw() method to provide custom Cairo support. In this case you will probably use Fl::cairo_make_current(Fl_Window*) to attach a context to your window. You should do it only when your window is the current window. \see Fl_Window::current() @@ -93,7 +93,7 @@ public: : Fl_Double_Window(X, Y, W, H, L), draw_cb_(0) {} protected: - /** Overloaded to provide cairo callback support */ + /** Overloaded to provide Cairo callback support */ void draw() FL_OVERRIDE { Fl_Double_Window::draw(); if (draw_cb_) { // call the Cairo draw callback @@ -101,18 +101,19 @@ protected: if (!Fl::cairo_autolink_context()) Fl::cairo_make_current(this); draw_cb_(this, Fl::cairo_cc()); - // flush cairo drawings: necessary at least for Windows + // flush Cairo drawings: necessary at least for Windows cairo_surface_t *s = cairo_get_target(Fl::cairo_cc()); cairo_surface_flush(s); } } public: - /** This defines the cairo draw callback prototype that you must further */ + /** The Cairo draw callback prototype you need to implement. */ typedef void (*cairo_draw_cb) (Fl_Cairo_Window* self, cairo_t* def); + /** - You must provide a draw callback which will implement your cairo rendering. - This method will permit you to set your cairo callback to \p cb. + You must provide a draw callback that implements your Cairo rendering. + This method permits you to set your Cairo callback to \p cb. */ void set_draw_cb(cairo_draw_cb cb) { draw_cb_ = cb; } private: diff --git a/Makefile b/Makefile index 7dbb8ac8f..b31cc4df8 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # # Top-level Makefile for the Fast Light Tool Kit (FLTK). # -# Copyright 1998-2021 by Bill Spitzak and others. +# Copyright 1998-2023 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 @@ -113,7 +113,7 @@ native-dist: epm -v -f native fltk etags: - etags FL/*.H FL/*.h src/*.cxx src/*.c src/*.h src/xutf8/*.h src/xutf8/*.c cairo/*.cxx fluid/*.h fluid/*.cxx fltk-options/*.cxx test/*.h test/*.cxx + etags FL/*.H FL/*.h src/*.cxx src/*.c src/*.h src/xutf8/*.h src/xutf8/*.c cairo/*.c fluid/*.h fluid/*.cxx test/*.h test/*.cxx # # Run the clang.llvm.org static code analysis tool on the C sources. diff --git a/cairo/CMakeLists.txt b/cairo/CMakeLists.txt index 1bb784362..f031d674f 100644 --- a/cairo/CMakeLists.txt +++ b/cairo/CMakeLists.txt @@ -1,22 +1,39 @@ +# +# CMakeLists.txt to build a dummy Cairo library for the FLTK project using CMake +# +# Copyright 1998-2023 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 +# -include_directories (${PKG_CAIRO_INCLUDE_DIRS}) +######################################################################## +# Note: since FLTK 1.4.0 Fl_Cairo_Window support [1] is included in +# libfltk and libfltk_cairo is no longer necessary. This directory is +# used to build an "empty" dummy library for backwards compatibility, +# just in case users expect it to exist. +# ---------------------------------------------------------------------- +# The entire 'cairo' folder will be removed in a later FLTK release. +######################################################################## -# source files for cairo -set (cairo_SRCS Fl_Cairo.cxx) +# Build dummy fltk_cairo library + +set (cairo_SRCS cairo_dummy.c) -####################################################################### FL_ADD_LIBRARY (fltk_cairo STATIC "${cairo_SRCS}") -####################################################################### -# Build shared library (optional) -####################################################################### +# Build shared dummy library (optional) if (OPTION_BUILD_SHARED_LIBS) FL_ADD_LIBRARY (fltk_cairo SHARED "${cairo_SRCS}") - target_link_libraries (fltk_cairo_SHARED fltk_SHARED ${PKG_CAIRO_LIBRARIES}) - fl_target_link_directories (fltk_cairo_SHARED PRIVATE "${PKG_CAIRO_LIBRARY_DIRS}") + target_link_libraries (fltk_cairo_SHARED fltk_SHARED) endif (OPTION_BUILD_SHARED_LIBS) - -####################################################################### diff --git a/cairo/Makefile b/cairo/Makefile index 3d7f79ec5..a7ca58af5 100644 --- a/cairo/Makefile +++ b/cairo/Makefile @@ -1,8 +1,8 @@ # -# CAIRO library makefile for the Fast Light Toolkit (FLTK). +# Dummy Cairo Library Makefile for the Fast Light Toolkit (FLTK). # # Copyright 1997-2009 by Easy Software Products. -# Copyright 2010-2021 by Bill Spitzak and others. +# Copyright 2010-2023 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 @@ -15,6 +15,15 @@ # https://www.fltk.org/bugs.php # +######################################################################## +# Note: since FLTK 1.4.0 Fl_Cairo_Window support [1] is included in +# libfltk and libfltk_cairo is no longer necessary. This directory is +# used to build an "empty" dummy library for backwards compatibility, +# just in case users expect it to exist. +# ---------------------------------------------------------------------- +# The entire 'cairo' folder will be removed in a later FLTK release. +######################################################################## + # Note: see ../configure.in and/or ../makeinclude for definition of # FL_VERSION (x.y.z), FL_ABI_VERSION (x.y.0), and FL_DSO_VERSION (x.y) @@ -24,8 +33,8 @@ include ../makeinclude # # Object files... # -CAIROCPPFILES = Fl_Cairo.cxx -CAIROOBJECTS = $(CAIROCPPFILES:.cxx=.o) +CAIROCFILES = cairo_dummy.c +CAIROOBJECTS = $(CAIROCFILES:.c=.o) # # Make all of the targets... @@ -89,7 +98,7 @@ mgwfltknox_cairo-$(FL_DSO_VERSION).dll: $(CAIROLIBNAME) ../src/mgwfltknox-$(FL_D clean: -$(RM) *.o *.dll.a core.* *~ *.bak *.bck -$(RM) $(CAIROOBJECTS) $(CAIROLIBNAME) $(CAIRODSONAME) \ - libfltk_cairo.so src/libfltk_cairo.sl src/libfltk_cairo.dylib + libfltk_cairo.so src/libfltk_cairo.sl src/libfltk_cairo.dylib # # Install everything... @@ -163,8 +172,8 @@ uninstall: $(CAIROOBJECTS): ../makeinclude -depend: $(CAIROCPPFILES) - makedepend -Y -I.. -f makedepend -w 20 $(CAIROCPPFILES) +depend: $(CAIROCFILES) + makedepend -Y -I.. -f makedepend -w 20 $(CAIROCFILES) echo "# DO NOT DELETE THIS LINE -- make depend depends on it." > makedepend.tmp echo "" >> makedepend.tmp grep '^[a-zA-Z]' makedepend | ( LC_ALL=C sort -u -f >> makedepend.tmp; ) diff --git a/cairo/cairo_dummy.c b/cairo/cairo_dummy.c new file mode 100644 index 000000000..afa47504b --- /dev/null +++ b/cairo/cairo_dummy.c @@ -0,0 +1,28 @@ +/* + Dummy C file to build the dummy Cairo library for the FLTK project. + + Copyright 2023 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 +*/ + +/* + Note: since FLTK 1.4.0 Fl_Cairo_Window support is included in + libfltk and libfltk_cairo is no longer necessary. This directory is + used to build an "empty" dummy library for backwards compatibility, + just in case users expect it to exist. + + The entire 'cairo' folder will be removed in a later FLTK release. +*/ + +int fl_cairo_dummy() { + return 0; +} diff --git a/cairo/makedepend b/cairo/makedepend index 8734674b2..99be05b37 100644 --- a/cairo/makedepend +++ b/cairo/makedepend @@ -1,19 +1,2 @@ # DO NOT DELETE THIS LINE -- make depend depends on it. -Fl_Cairo.o: ../FL/Enumerations.H -Fl_Cairo.o: ../FL/Fl.H -Fl_Cairo.o: ../FL/fl_attr.h -Fl_Cairo.o: ../FL/Fl_Bitmap.H -Fl_Cairo.o: ../FL/Fl_Cairo.H -Fl_Cairo.o: ../FL/fl_casts.H -Fl_Cairo.o: ../FL/fl_config.h -Fl_Cairo.o: ../FL/Fl_Export.H -Fl_Cairo.o: ../FL/Fl_Group.H -Fl_Cairo.o: ../FL/Fl_Image.H -Fl_Cairo.o: ../FL/fl_types.h -Fl_Cairo.o: ../FL/fl_utf8.h -Fl_Cairo.o: ../FL/Fl_Widget.H -Fl_Cairo.o: ../FL/Fl_Window.H -Fl_Cairo.o: ../FL/platform.H -Fl_Cairo.o: ../FL/platform_types.h -Fl_Cairo.o: ../FL/x11.H diff --git a/configure.ac b/configure.ac index 292829ceb..41b054ab5 100644 --- a/configure.ac +++ b/configure.ac @@ -86,7 +86,7 @@ AC_SUBST(OPTIM) dnl Other options AC_ARG_ENABLE([cairo], AS_HELP_STRING([--enable-cairo], [add support for Fl_Cairo_Window])) -AC_ARG_ENABLE([cairoext], AS_HELP_STRING([--enable-cairoext], [use FLTK code instrumentation for cairo extended use])) +AC_ARG_ENABLE([cairoext], AS_HELP_STRING([--enable-cairoext], [use FLTK code instrumentation for Cairo extended use])) AC_ARG_ENABLE([cp936], AS_HELP_STRING([--enable-cp936], [turn on CP936])) AS_IF([test x$enable_cp936 = xyes], [ @@ -235,7 +235,7 @@ AS_IF([test x$enable_cairoext = xyes], [ LIBS="$CAIROLIBS $LIBS" LINKFLTK="$LINKFLTK $LINKFLTKCAIRO" ], [ - AC_MSG_ERROR([Cairo requested but not available.]) + AC_MSG_ERROR([Cairo requested but not found.]) ]) ], [test x$enable_cairo = xyes], [ AS_IF([$PKGCONFIG --exists cairo], [ @@ -247,7 +247,7 @@ AS_IF([test x$enable_cairoext = xyes], [ LINKFLTKCAIRO="../lib/libfltk_cairo.a" FLTKCAIROOPTION="-L ../cairo -lfltk_cairo$SHAREDSUFFIX" ], [ - AC_MSG_ERROR([Cairo requested but not available.]) + AC_MSG_ERROR([Cairo requested but not found.]) ]) ]) diff --git a/documentation/Doxyfile.in b/documentation/Doxyfile.in index 181de6494..6f3975464 100644 --- a/documentation/Doxyfile.in +++ b/documentation/Doxyfile.in @@ -570,7 +570,6 @@ INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/advanced.dox INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/unicode.dox INPUT += @FLTK_SOURCE_DIR@/FL INPUT += @FLTK_SOURCE_DIR@/src -INPUT += @FLTK_SOURCE_DIR@/cairo INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/enumerations.dox INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/glut.dox INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/forms.dox diff --git a/fltk-config.in b/fltk-config.in index bd3eacec7..c82d8067c 100644 --- a/fltk-config.in +++ b/fltk-config.in @@ -261,8 +261,8 @@ if test x$use_images = xyes; then fi if test x$use_cairo = xyes -a $FLTK_HAVE_CAIRO = 1; then - LDLIBS="-lfltk_cairo$SHAREDSUFFIX $CAIROLIBS $LDLIBS" - LDSTATIC="$libdir/libfltk_cairo.a $CAIROLIBS $LDSTATIC" + LDLIBS="$CAIROLIBS $LDLIBS" + LDSTATIC="$CAIROLIBS $LDSTATIC" fi LDLIBS="$DSOLINK $LDFLAGS $libs $LDLIBS" @@ -390,10 +390,6 @@ if test "$echo_libs" = "yes"; then USELIBS="$libdir/libfltk_gl.a $USELIBS" fi - if test x$use_cairo = xyes; then - USELIBS="$libdir/libfltk_cairo.a $USELIBS" - fi - if test x$use_images = xyes; then USELIBS="$libdir/libfltk_images.a $USELIBS" diff --git a/fltk-options/CMakeLists.txt b/fltk-options/CMakeLists.txt index 7f289ab92..96c61773c 100644 --- a/fltk-options/CMakeLists.txt +++ b/fltk-options/CMakeLists.txt @@ -51,11 +51,7 @@ else () endif () -# we must link all programs with fltk_cairo if option CAIROEXT is enabled -if (FLTK_HAVE_CAIROEXT) - list (APPEND FLTK_OPTIONS_LIBS fltk_cairo cairo) -endif (FLTK_HAVE_CAIROEXT) - +# we must link fltk-optons with cairo if option CAIRO is enabled if (FLTK_HAVE_CAIRO) fl_target_link_directories (fltk-options PRIVATE "${PKG_CAIRO_LIBRARY_DIRS}") endif (FLTK_HAVE_CAIRO) diff --git a/fluid/CMakeLists.txt b/fluid/CMakeLists.txt index a9aac0019..ab891a67c 100644 --- a/fluid/CMakeLists.txt +++ b/fluid/CMakeLists.txt @@ -1,7 +1,7 @@ # # CMakeLists.txt to build fluid for the FLTK project using CMake (www.cmake.org) # -# Copyright 1998-2022 by Bill Spitzak and others. +# Copyright 1998-2023 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 @@ -114,13 +114,12 @@ else () endif () -# we must link all programs with fltk_cairo if option CAIROEXT is enabled -if (FLTK_HAVE_CAIROEXT) - list (APPEND FLUID_LIBS fltk_cairo cairo) -endif (FLTK_HAVE_CAIROEXT) - +# we must link fluid with Cairo if OPTION_CAIRO is enabled if (FLTK_HAVE_CAIRO) - fl_target_link_directories (fluid PRIVATE "${PKG_CAIRO_LIBRARY_DIRS}") + target_include_directories (fluid PRIVATE ${PKG_CAIRO_INCLUDE_DIRS}) + if (PKG_CAIRO_LIBRARY_DIRS) + fl_target_link_directories (fluid PRIVATE ${PKG_CAIRO_LIBRARY_DIRS}) + endif () endif (FLTK_HAVE_CAIRO) if (USE_GDIPLUS) # can only be true on Windows @@ -137,11 +136,27 @@ if (WIN32) list (APPEND FLUID_TARGETS fluid-cmd) add_executable (fluid-cmd ${CPPFILES} ${HEADERFILES}) target_link_libraries (fluid-cmd ${FLUID_LIBS}) - if (FLTK_HAVE_CAIRO) - fl_target_link_directories (fluid-cmd PRIVATE "${PKG_CAIRO_LIBRARY_DIRS}") - endif (FLTK_HAVE_CAIRO) -endif () + # we must link fluid-cmd with Cairo if OPTION_CAIRO is enabled (same as above) + if (FLTK_HAVE_CAIRO) + target_include_directories (fluid-cmd PRIVATE ${PKG_CAIRO_INCLUDE_DIRS}) + if (PKG_CAIRO_LIBRARY_DIRS) + fl_target_link_directories (fluid-cmd PRIVATE ${PKG_CAIRO_LIBRARY_DIRS}) + endif () + endif (FLTK_HAVE_CAIRO) +endif (WIN32) + +# Build fluid-shared (experimental) + +if (OPTION_BUILD_SHARED_LIBS) + list (APPEND FLUID_TARGETS fluid-shared) + add_executable (fluid-shared ${CPPFILES} ${HEADERFILES}) + if (MSVC) + target_link_libraries (fluid-shared fltk_SHARED) + else () + target_link_libraries (fluid-shared fltk_images_SHARED) + endif (MSVC) +endif () # install fluid GUI and commandline tool @@ -164,7 +179,7 @@ if (APPLE AND (NOT OPTION_APPLE_X11)) # ## set_target_properties (fluid PROPERTIES RESOURCE ${ICON_PATH}) # install fluid GUI and commandline tools - #install (TARGETS fluid DESTINATION "/Applications") + # install (TARGETS fluid DESTINATION "/Applications") # install command line tool install (PROGRAMS $ DESTINATION ${FLTK_BINDIR}) @@ -180,7 +195,7 @@ else() ARCHIVE DESTINATION ${FLTK_LIBDIR} ) - endif (APPLE AND (NOT OPTION_APPLE_X11)) +endif (APPLE AND (NOT OPTION_APPLE_X11)) # install desktop files diff --git a/fluid/makedepend b/fluid/makedepend index 5c5583a14..8e2b8361f 100644 --- a/fluid/makedepend +++ b/fluid/makedepend @@ -220,6 +220,72 @@ CodeEditor.o: ../FL/Fl_Widget.H CodeEditor.o: ../FL/platform_types.h CodeEditor.o: CodeEditor.h CodeEditor.o: StyleParse.h +custom_widgets.o: ../config.h +custom_widgets.o: ../FL/Enumerations.H +custom_widgets.o: ../FL/filename.H +custom_widgets.o: ../FL/Fl.H +custom_widgets.o: ../FL/fl_attr.h +custom_widgets.o: ../FL/Fl_Bitmap.H +custom_widgets.o: ../FL/Fl_Box.H +custom_widgets.o: ../FL/Fl_Browser_.H +custom_widgets.o: ../FL/Fl_Button.H +custom_widgets.o: ../FL/Fl_Cairo.H +custom_widgets.o: ../FL/fl_casts.H +custom_widgets.o: ../FL/Fl_Check_Button.H +custom_widgets.o: ../FL/Fl_Choice.H +custom_widgets.o: ../FL/fl_config.h +custom_widgets.o: ../FL/Fl_Device.H +custom_widgets.o: ../FL/Fl_Double_Window.H +custom_widgets.o: ../FL/fl_draw.H +custom_widgets.o: ../FL/Fl_Export.H +custom_widgets.o: ../FL/Fl_Graphics_Driver.H +custom_widgets.o: ../FL/Fl_Group.H +custom_widgets.o: ../FL/Fl_Image.H +custom_widgets.o: ../FL/Fl_Input.H +custom_widgets.o: ../FL/Fl_Input_.H +custom_widgets.o: ../FL/Fl_Input_Choice.H +custom_widgets.o: ../FL/Fl_Light_Button.H +custom_widgets.o: ../FL/Fl_Menu_.H +custom_widgets.o: ../FL/Fl_Menu_Button.H +custom_widgets.o: ../FL/Fl_Menu_Item.H +custom_widgets.o: ../FL/Fl_Pixmap.H +custom_widgets.o: ../FL/Fl_Plugin.H +custom_widgets.o: ../FL/Fl_Preferences.H +custom_widgets.o: ../FL/Fl_Rect.H +custom_widgets.o: ../FL/Fl_Return_Button.H +custom_widgets.o: ../FL/Fl_RGB_Image.H +custom_widgets.o: ../FL/Fl_Scrollbar.H +custom_widgets.o: ../FL/Fl_Shortcut_Button.H +custom_widgets.o: ../FL/Fl_Slider.H +custom_widgets.o: ../FL/Fl_String.H +custom_widgets.o: ../FL/fl_string_functions.h +custom_widgets.o: ../FL/Fl_Tabs.H +custom_widgets.o: ../FL/Fl_Text_Buffer.H +custom_widgets.o: ../FL/Fl_Text_Display.H +custom_widgets.o: ../FL/Fl_Text_Editor.H +custom_widgets.o: ../FL/Fl_Tile.H +custom_widgets.o: ../FL/fl_types.h +custom_widgets.o: ../FL/fl_utf8.h +custom_widgets.o: ../FL/Fl_Valuator.H +custom_widgets.o: ../FL/Fl_Value_Input.H +custom_widgets.o: ../FL/Fl_Widget.H +custom_widgets.o: ../FL/Fl_Window.H +custom_widgets.o: ../FL/platform.H +custom_widgets.o: ../FL/platform_types.h +custom_widgets.o: ../FL/x11.H +custom_widgets.o: ../src/flstring.h +custom_widgets.o: code.h +custom_widgets.o: CodeEditor.h +custom_widgets.o: custom_widgets.h +custom_widgets.o: factory.h +custom_widgets.o: fluid.h +custom_widgets.o: Fl_Type.h +custom_widgets.o: Fl_Widget_Type.h +custom_widgets.o: Fl_Window_Type.h +custom_widgets.o: pixmaps.h +custom_widgets.o: StyleParse.h +custom_widgets.o: widget_browser.h +custom_widgets.o: widget_panel.h ExternalCodeEditor_UNIX.o: ../FL/Enumerations.H ExternalCodeEditor_UNIX.o: ../FL/filename.H ExternalCodeEditor_UNIX.o: ../FL/Fl.H @@ -722,6 +788,7 @@ Fl_Menu_Type.o: ../FL/Fl_Scheme.H Fl_Menu_Type.o: ../FL/Fl_Scheme_Choice.H Fl_Menu_Type.o: ../FL/Fl_Scrollbar.H Fl_Menu_Type.o: ../FL/Fl_Shared_Image.H +Fl_Menu_Type.o: ../FL/Fl_Shortcut_Button.H Fl_Menu_Type.o: ../FL/Fl_Simple_Terminal.H Fl_Menu_Type.o: ../FL/Fl_Slider.H Fl_Menu_Type.o: ../FL/Fl_Spinner.H @@ -740,6 +807,7 @@ Fl_Menu_Type.o: ../FL/platform_types.h Fl_Menu_Type.o: ../src/flstring.h Fl_Menu_Type.o: alignment_panel.h Fl_Menu_Type.o: code.h +Fl_Menu_Type.o: custom_widgets.h Fl_Menu_Type.o: file.h Fl_Menu_Type.o: fluid.h Fl_Menu_Type.o: Fluid_Image.h @@ -849,6 +917,7 @@ Fl_Widget_Type.o: ../FL/Fl_Scheme_Choice.H Fl_Widget_Type.o: ../FL/Fl_Scroll.H Fl_Widget_Type.o: ../FL/Fl_Scrollbar.H Fl_Widget_Type.o: ../FL/Fl_Shared_Image.H +Fl_Widget_Type.o: ../FL/Fl_Shortcut_Button.H Fl_Widget_Type.o: ../FL/fl_show_colormap.H Fl_Widget_Type.o: ../FL/Fl_Simple_Terminal.H Fl_Widget_Type.o: ../FL/Fl_Slider.H @@ -873,6 +942,7 @@ Fl_Widget_Type.o: ../src/flstring.h Fl_Widget_Type.o: alignment_panel.h Fl_Widget_Type.o: code.h Fl_Widget_Type.o: CodeEditor.h +Fl_Widget_Type.o: custom_widgets.h Fl_Widget_Type.o: ExternalCodeEditor_UNIX.h Fl_Widget_Type.o: file.h Fl_Widget_Type.o: fluid.h @@ -935,6 +1005,7 @@ Fl_Window_Type.o: ../FL/Fl_Scheme.H Fl_Window_Type.o: ../FL/Fl_Scheme_Choice.H Fl_Window_Type.o: ../FL/Fl_Scrollbar.H Fl_Window_Type.o: ../FL/Fl_Shared_Image.H +Fl_Window_Type.o: ../FL/Fl_Shortcut_Button.H Fl_Window_Type.o: ../FL/Fl_Simple_Terminal.H Fl_Window_Type.o: ../FL/Fl_Slider.H Fl_Window_Type.o: ../FL/Fl_Spinner.H @@ -959,6 +1030,7 @@ Fl_Window_Type.o: ../src/flstring.h Fl_Window_Type.o: alignment_panel.h Fl_Window_Type.o: code.h Fl_Window_Type.o: CodeEditor.h +Fl_Window_Type.o: custom_widgets.h Fl_Window_Type.o: factory.h Fl_Window_Type.o: file.h Fl_Window_Type.o: fluid.h @@ -1019,6 +1091,7 @@ function_panel.o: ../FL/Fl_Window.H function_panel.o: ../FL/platform_types.h function_panel.o: code.h function_panel.o: CodeEditor.h +function_panel.o: custom_widgets.h function_panel.o: factory.h function_panel.o: fluid.h function_panel.o: Fl_Type.h @@ -1290,6 +1363,7 @@ widget_panel.o: ../FL/Fl_Rect.H widget_panel.o: ../FL/Fl_Return_Button.H widget_panel.o: ../FL/Fl_RGB_Image.H widget_panel.o: ../FL/Fl_Scrollbar.H +widget_panel.o: ../FL/Fl_Shortcut_Button.H widget_panel.o: ../FL/Fl_Slider.H widget_panel.o: ../FL/Fl_Tabs.H widget_panel.o: ../FL/Fl_Text_Buffer.H @@ -1305,6 +1379,7 @@ widget_panel.o: ../FL/Fl_Window.H widget_panel.o: ../FL/platform_types.h widget_panel.o: code.h widget_panel.o: CodeEditor.h +widget_panel.o: custom_widgets.h widget_panel.o: Fl_Type.h widget_panel.o: Fl_Widget_Type.h widget_panel.o: pixmaps.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 40671d392..741d1f5b8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -172,6 +172,10 @@ set (CPPFILES screen_xywh.cxx ) +if (FLTK_HAVE_CAIRO) # OPTION_CAIRO or OPTION_CAIROEXT + list (APPEND CPPFILES Fl_Cairo.cxx) +endif () + # find all header files in source directory file (GLOB HEADER_FILES @@ -616,6 +620,10 @@ if (HAVE_XRENDER) list (APPEND OPTIONAL_LIBS ${X11_Xrender_LIB}) endif (HAVE_XRENDER) +if (FLTK_HAVE_CAIRO) # OPTION_CAIRO or OPTION_CAIROEXT + list (APPEND OPTIONAL_LIBS ${PKG_CAIRO_LIBRARIES}) +endif() + if (USE_PANGO) ### FIXME ### This needs to use the PKG_* variables directly list (APPEND OPTIONAL_LIBS ${HAVE_LIB_PANGO} ${HAVE_LIB_PANGOCAIRO}) @@ -694,6 +702,10 @@ endif (UNIX AND OPTION_USE_WAYLAND) FL_ADD_LIBRARY (fltk STATIC "${STATIC_FILES}") target_link_libraries (fltk ${OPTIONAL_LIBS}) +if (FLTK_HAVE_CAIRO) + fl_target_link_directories (fltk PUBLIC "${PKG_CAIRO_LIBRARY_DIRS}") +endif() + ####################################################################### FL_ADD_LIBRARY (fltk_forms STATIC "${FORMS_FILES}") @@ -738,7 +750,8 @@ endif (OPENGL_FOUND) if (OPTION_BUILD_SHARED_LIBS AND NOT MSVC) FL_ADD_LIBRARY (fltk SHARED "${SHARED_FILES}") - target_link_libraries (fltk_SHARED ${OPTIONAL_LIBS}) + target_link_libraries (fltk_SHARED ${OPTIONAL_LIBS} ${PKG_CAIRO_LIBRARIES}) + fl_target_link_directories (fltk_SHARED PUBLIC "${PKG_CAIRO_LIBRARY_DIRS}") ################################################################### diff --git a/cairo/Fl_Cairo.cxx b/src/Fl_Cairo.cxx similarity index 100% rename from cairo/Fl_Cairo.cxx rename to src/Fl_Cairo.cxx diff --git a/src/Makefile b/src/Makefile index 4e20b3e56..c025ff1d3 100644 --- a/src/Makefile +++ b/src/Makefile @@ -26,6 +26,7 @@ CPPFILES = \ Fl_Browser_load.cxx \ Fl_Box.cxx \ Fl_Button.cxx \ + Fl_Cairo.cxx \ Fl_Chart.cxx \ Fl_Check_Browser.cxx \ Fl_Check_Button.cxx \ @@ -452,7 +453,7 @@ $(LIBNAME): $(OBJECTS) libfltk.so.$(FL_DSO_VERSION): $(OBJECTS) echo $(DSOCOMMAND) $@ ... - $(DSOCOMMAND) $@ $(OBJECTS) $(LDLIBS) + $(DSOCOMMAND) $@ $(OBJECTS) $(LDLIBS) $(CAIROLIBS) $(RM) libfltk.so $(LN) libfltk.so.$(FL_DSO_VERSION) libfltk.so @@ -468,7 +469,7 @@ libfltk.$(FL_DSO_VERSION).dylib: $(OBJECTS) -install_name $(libdir)/$@ \ -current_version $(FL_VERSION) \ -compatibility_version $(FL_DSO_VERSION).0 \ - $(OBJECTS) $(LDLIBS) + $(OBJECTS) $(LDLIBS) $(CAIROLIBS) $(RM) libfltk.dylib $(LN) libfltk.$(FL_DSO_VERSION).dylib libfltk.dylib diff --git a/src/makedepend b/src/makedepend index 74f3f2d87..bd259df7b 100644 --- a/src/makedepend +++ b/src/makedepend @@ -1279,6 +1279,23 @@ Fl_Button.o: ../FL/fl_utf8.h Fl_Button.o: ../FL/Fl_Widget.H Fl_Button.o: ../FL/Fl_Window.H Fl_Button.o: ../FL/platform_types.h +Fl_Cairo.o: ../FL/Enumerations.H +Fl_Cairo.o: ../FL/Fl.H +Fl_Cairo.o: ../FL/fl_attr.h +Fl_Cairo.o: ../FL/Fl_Bitmap.H +Fl_Cairo.o: ../FL/Fl_Cairo.H +Fl_Cairo.o: ../FL/fl_casts.H +Fl_Cairo.o: ../FL/fl_config.h +Fl_Cairo.o: ../FL/Fl_Export.H +Fl_Cairo.o: ../FL/Fl_Group.H +Fl_Cairo.o: ../FL/Fl_Image.H +Fl_Cairo.o: ../FL/fl_types.h +Fl_Cairo.o: ../FL/fl_utf8.h +Fl_Cairo.o: ../FL/Fl_Widget.H +Fl_Cairo.o: ../FL/Fl_Window.H +Fl_Cairo.o: ../FL/platform.H +Fl_Cairo.o: ../FL/platform_types.h +Fl_Cairo.o: ../FL/x11.H Fl_Chart.o: ../config.h Fl_Chart.o: ../FL/Enumerations.H Fl_Chart.o: ../FL/Fl.H @@ -2313,6 +2330,7 @@ Fl_Help_View.o: ../FL/Fl_RGB_Image.H Fl_Help_View.o: ../FL/Fl_Scrollbar.H Fl_Help_View.o: ../FL/Fl_Shared_Image.H Fl_Help_View.o: ../FL/Fl_Slider.H +Fl_Help_View.o: ../FL/Fl_String.H Fl_Help_View.o: ../FL/fl_string_functions.h Fl_Help_View.o: ../FL/fl_types.h Fl_Help_View.o: ../FL/fl_utf8.h @@ -3219,6 +3237,7 @@ Fl_Preferences.o: ../FL/fl_config.h Fl_Preferences.o: ../FL/Fl_Export.H Fl_Preferences.o: ../FL/Fl_Plugin.H Fl_Preferences.o: ../FL/Fl_Preferences.H +Fl_Preferences.o: ../FL/Fl_String.H Fl_Preferences.o: ../FL/fl_string_functions.h Fl_Preferences.o: ../FL/fl_types.h Fl_Preferences.o: ../FL/fl_utf8.h @@ -3613,6 +3632,22 @@ fl_shortcut.o: ../FL/platform_types.h fl_shortcut.o: flstring.h fl_shortcut.o: Fl_Screen_Driver.H fl_shortcut.o: Fl_System_Driver.H +Fl_Shortcut_Button.o: ../config.h +Fl_Shortcut_Button.o: ../FL/Enumerations.H +Fl_Shortcut_Button.o: ../FL/Fl.H +Fl_Shortcut_Button.o: ../FL/fl_attr.h +Fl_Shortcut_Button.o: ../FL/Fl_Button.H +Fl_Shortcut_Button.o: ../FL/Fl_Cairo.H +Fl_Shortcut_Button.o: ../FL/fl_casts.H +Fl_Shortcut_Button.o: ../FL/fl_config.h +Fl_Shortcut_Button.o: ../FL/fl_draw.H +Fl_Shortcut_Button.o: ../FL/Fl_Export.H +Fl_Shortcut_Button.o: ../FL/Fl_Shortcut_Button.H +Fl_Shortcut_Button.o: ../FL/fl_types.h +Fl_Shortcut_Button.o: ../FL/fl_utf8.h +Fl_Shortcut_Button.o: ../FL/Fl_Widget.H +Fl_Shortcut_Button.o: ../FL/platform_types.h +Fl_Shortcut_Button.o: flstring.h fl_show_colormap.o: ../config.h fl_show_colormap.o: ../FL/Enumerations.H fl_show_colormap.o: ../FL/Fl.H @@ -3691,6 +3726,7 @@ Fl_Spinner.o: ../FL/Fl_Rect.H Fl_Spinner.o: ../FL/Fl_Repeat_Button.H Fl_Spinner.o: ../FL/Fl_Spinner.H Fl_Spinner.o: ../FL/Fl_Widget.H +Fl_String.o: ../FL/Fl_Export.H Fl_String.o: ../FL/Fl_String.H fl_string_functions.o: ../FL/Enumerations.H fl_string_functions.o: ../FL/filename.H @@ -4929,6 +4965,7 @@ gl_start.o: Fl_Gl_Window_Driver.H numericsort.o: ../FL/filename.H numericsort.o: ../FL/fl_config.h numericsort.o: ../FL/Fl_Export.H +numericsort.o: ../FL/fl_utf8.h numericsort.o: ../FL/platform_types.h print_button.o: ../FL/Enumerations.H print_button.o: ../FL/Fl.H diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b6bc2c303..6fb3b5105 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -197,7 +197,7 @@ endif (OPENGL_FOUND) # Cairo demo - must also be built w/o Cairo (displays a message box) if (FLTK_HAVE_CAIRO) - CREATE_EXAMPLE (cairo_test cairo_test.cxx "fltk_cairo;fltk;cairo") + CREATE_EXAMPLE (cairo_test cairo_test.cxx "fltk;cairo") else () CREATE_EXAMPLE (cairo_test cairo_test.cxx fltk) endif (FLTK_HAVE_CAIRO) @@ -257,7 +257,7 @@ if (OPTION_BUILD_SHARED_LIBS) endif (OPENGL_FOUND) if (FLTK_HAVE_CAIRO) - CREATE_EXAMPLE (cairo_test-shared cairo_test.cxx "fltk_cairo_SHARED;fltk_SHARED;cairo") + CREATE_EXAMPLE (cairo_test-shared cairo_test.cxx "fltk_SHARED;cairo") endif () endif (MSVC) # (not MSVC) diff --git a/test/Makefile b/test/Makefile index 2a5ea0980..96f8d36ae 100644 --- a/test/Makefile +++ b/test/Makefile @@ -682,5 +682,5 @@ shape$(EXEEXT): shape.o cairo_test$(EXEEXT): cairo_test.o echo Linking $@... - $(CXX) $(ARCHFLAGS) $(CXXFLAGS) $(CAIROFLAGS) $(LDFLAGS) -o $@ cairo_test.o $(LINKFLTK) $(LINKFLTKCAIRO) $(GLDLIBS) + $(CXX) $(ARCHFLAGS) $(CXXFLAGS) $(CAIROFLAGS) $(LDFLAGS) -o $@ cairo_test.o $(LINKFLTK) $(CAIROLIBS) $(GLDLIBS) $(OSX_ONLY) ../fltk-config --post $@ diff --git a/test/makedepend b/test/makedepend index 23dac2f28..323339151 100644 --- a/test/makedepend +++ b/test/makedepend @@ -2643,6 +2643,7 @@ twowin.o: ../FL/platform_types.h unittests.o: ../FL/Enumerations.H unittests.o: ../FL/filename.H unittests.o: ../FL/Fl.H +unittests.o: ../FL/fl_ask.H unittests.o: ../FL/fl_attr.h unittests.o: ../FL/Fl_Bitmap.H unittests.o: ../FL/Fl_Box.H @@ -2666,8 +2667,12 @@ unittests.o: ../FL/Fl_Preferences.H unittests.o: ../FL/Fl_Rect.H unittests.o: ../FL/Fl_RGB_Image.H unittests.o: ../FL/Fl_Scrollbar.H +unittests.o: ../FL/Fl_Simple_Terminal.H unittests.o: ../FL/Fl_Slider.H +unittests.o: ../FL/Fl_String.H unittests.o: ../FL/fl_string_functions.h +unittests.o: ../FL/Fl_Text_Buffer.H +unittests.o: ../FL/Fl_Text_Display.H unittests.o: ../FL/fl_types.h unittests.o: ../FL/fl_utf8.h unittests.o: ../FL/Fl_Valuator.H @@ -2768,6 +2773,38 @@ unittest_complex_shapes.o: ../FL/Fl_Widget.H unittest_complex_shapes.o: ../FL/Fl_Window.H unittest_complex_shapes.o: ../FL/platform_types.h unittest_complex_shapes.o: unittests.h +unittest_core.o: ../FL/Enumerations.H +unittest_core.o: ../FL/Fl.H +unittest_core.o: ../FL/fl_attr.h +unittest_core.o: ../FL/Fl_Bitmap.H +unittest_core.o: ../FL/Fl_Cairo.H +unittest_core.o: ../FL/fl_casts.H +unittest_core.o: ../FL/fl_config.h +unittest_core.o: ../FL/Fl_Device.H +unittest_core.o: ../FL/Fl_Double_Window.H +unittest_core.o: ../FL/fl_draw.H +unittest_core.o: ../FL/Fl_Export.H +unittest_core.o: ../FL/Fl_Graphics_Driver.H +unittest_core.o: ../FL/Fl_Group.H +unittest_core.o: ../FL/Fl_Image.H +unittest_core.o: ../FL/Fl_Pixmap.H +unittest_core.o: ../FL/Fl_Plugin.H +unittest_core.o: ../FL/Fl_Preferences.H +unittest_core.o: ../FL/Fl_Rect.H +unittest_core.o: ../FL/Fl_RGB_Image.H +unittest_core.o: ../FL/Fl_Scrollbar.H +unittest_core.o: ../FL/Fl_Simple_Terminal.H +unittest_core.o: ../FL/Fl_Slider.H +unittest_core.o: ../FL/Fl_String.H +unittest_core.o: ../FL/Fl_Text_Buffer.H +unittest_core.o: ../FL/Fl_Text_Display.H +unittest_core.o: ../FL/fl_types.h +unittest_core.o: ../FL/fl_utf8.h +unittest_core.o: ../FL/Fl_Valuator.H +unittest_core.o: ../FL/Fl_Widget.H +unittest_core.o: ../FL/Fl_Window.H +unittest_core.o: ../FL/platform_types.h +unittest_core.o: unittests.h unittest_fast_shapes.o: ../config.h unittest_fast_shapes.o: ../FL/Enumerations.H unittest_fast_shapes.o: ../FL/Fl.H