summaryrefslogtreecommitdiff
path: root/src/Makefile
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2023-03-09 13:21:49 +0200
committerAlbrecht Schlosser <albrechts.fltk@online.de>2023-03-09 17:34:05 +0100
commit5175192755e57d1d7016253d48f34f9d0c2c0832 (patch)
tree6262a13668d6ea56067910b024516c60305e374e /src/Makefile
parente32d4bcab990c2648bbcf550d115a5393c3f50e2 (diff)
CMake: build shared libs with OPTION_CAIROEXT (issue #250)
- remove separate libfltk_cairo to avoid cyclic dependencies, but - keep a dummy libfltk_cairo in 1.4.0 for backwards compatibility - move cairo/Fl_Cairo.cxx to src/Fl_Cairo.cxx - add preliminary Cairo support for Visual Studio (MSVC) Static linking is not affected by this change, but users building with hand-made Makefiles will have to remove libfltk_cairo starting with FLTK 1.4.0. The dummy library can be linked for backwards compatibility but it will be removed later (in 1.4.x or 1.5.0). The shared FLTK library libfltk.{so|dylib|dll|..} depends on libcairo if and only if FLTK is built with one of the Cairo options. This has always been the case for OPTION_CAIROEXT but is now also true if only OPTION_CAIRO is selected, i.e. FLTK programs linked with a Cairo enabled shared FLTK library will also be linked with libcairo. The same is true for configure options --enable-cairo and --enable-cairoext, respectively. Preliminary Cairo support for MSVC now detects a Cairo installation using the CMake variable FLTK_CAIRO_DIR which must be set by the user. Note that this feature is temporary and may be changed in the future for a better and more comfortable version.
Diffstat (limited to 'src/Makefile')
-rw-r--r--src/Makefile5
1 files changed, 3 insertions, 2 deletions
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