summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt233
-rw-r--r--src/Makefile2
2 files changed, 131 insertions, 104 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b7597f74c..d3ef3940c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -173,7 +173,7 @@ list (APPEND HEADER_FILES
${CMAKE_CURRENT_BINARY_DIR}/../config.h
)
-set (GL_HEADER_FILES) # FIXME: not (yet?) defined
+set (GL_HEADER_FILES) # FIXME: not (yet?) defined
if ((USE_X11 OR USE_SDL) AND NOT OPTION_PRINT_SUPPORT)
set (PSFILES
@@ -221,6 +221,7 @@ if (USE_X11)
drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx
)
endif (USE_XFT)
+
set (DRIVER_HEADER_FILES
drivers/Posix/Fl_Posix_System_Driver.H
drivers/X11/Fl_X11_Screen_Driver.H
@@ -294,7 +295,7 @@ elseif (ANDROID)
# Android
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set (DRIVER_FILES
drivers/Android/Fl_Android_Application.cxx
@@ -361,7 +362,7 @@ set (CPPFILES
${DRIVER_FILES}
)
-set (FLCPPFILES
+set (FORMS_FILES
forms_compatibility.cxx
forms_bitmap.cxx
forms_free.cxx
@@ -453,15 +454,15 @@ if (WIN32)
endif (WIN32)
if (APPLE AND (NOT OPTION_APPLE_X11) AND (NOT OPTION_APPLE_SDL))
- set (MMFILES
- Fl_cocoa.mm
- drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm
- Fl_Native_File_Chooser_MAC.mm
- Fl_MacOS_Sys_Menu_Bar.mm
- )
+ set (MMFILES
+ Fl_cocoa.mm
+ drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm
+ Fl_Native_File_Chooser_MAC.mm
+ Fl_MacOS_Sys_Menu_Bar.mm
+ )
else()
- set (MMFILES
- )
+ set (MMFILES
+ )
endif (APPLE AND (NOT OPTION_APPLE_X11) AND (NOT OPTION_APPLE_SDL))
@@ -475,7 +476,7 @@ list (APPEND SHARED_FILES ${HEADER_FILES} ${DRIVER_HEADER_FILES})
set (STATIC_FILES ${SHARED_FILES})
if (WIN32)
- list (APPEND STATIC_FILES fl_call_main.c)
+ list (APPEND STATIC_FILES fl_call_main.c)
endif (WIN32)
add_definitions(-DFL_LIBRARY)
@@ -487,162 +488,188 @@ add_definitions(-DFL_LIBRARY)
set (OPTIONAL_LIBS)
if (LIB_dl)
- list (APPEND OPTIONAL_LIBS ${LIB_dl})
+ list (APPEND OPTIONAL_LIBS ${LIB_dl})
endif (LIB_dl)
if (USE_THREADS)
- list (APPEND OPTIONAL_LIBS ${CMAKE_THREAD_LIBS_INIT})
+ list (APPEND OPTIONAL_LIBS ${CMAKE_THREAD_LIBS_INIT})
endif (USE_THREADS)
if (USE_X11)
- list (APPEND OPTIONAL_LIBS ${X11_LIBRARIES})
+ list (APPEND OPTIONAL_LIBS ${X11_LIBRARIES})
endif (USE_X11)
if (USE_SDL)
- list (APPEND OPTIONAL_LIBS ${SDL2_LIBRARY})
-endif(USE_SDL)
+ list (APPEND OPTIONAL_LIBS ${SDL2_LIBRARY})
+endif (USE_SDL)
if (WIN32)
- list (APPEND OPTIONAL_LIBS comctl32 ws2_32)
+ list (APPEND OPTIONAL_LIBS comctl32 ws2_32)
endif (WIN32)
if (FLTK_HAVE_CAIRO)
- list (APPEND OPTIONAL_LIBS fltk_cairo ${PKG_CAIRO_LIBRARIES})
+ list (APPEND OPTIONAL_LIBS fltk_cairo ${PKG_CAIRO_LIBRARIES})
ENDif (FLTK_HAVE_CAIRO)
if (HAVE_XINERAMA)
- list (APPEND OPTIONAL_LIBS ${X11_Xinerama_LIB})
+ list (APPEND OPTIONAL_LIBS ${X11_Xinerama_LIB})
endif (HAVE_XINERAMA)
if (HAVE_XFIXES)
- list (APPEND OPTIONAL_LIBS ${X11_Xfixes_LIB})
+ list (APPEND OPTIONAL_LIBS ${X11_Xfixes_LIB})
endif (HAVE_XFIXES)
if (HAVE_XCURSOR)
- list (APPEND OPTIONAL_LIBS ${X11_Xcursor_LIB})
+ list (APPEND OPTIONAL_LIBS ${X11_Xcursor_LIB})
endif (HAVE_XCURSOR)
if (HAVE_XRENDER)
- list (APPEND OPTIONAL_LIBS ${X11_Xrender_LIB})
+ list (APPEND OPTIONAL_LIBS ${X11_Xrender_LIB})
endif (HAVE_XRENDER)
if (USE_PANGO)
list (APPEND OPTIONAL_LIBS ${HAVE_LIB_PANGO} ${HAVE_LIB_PANGOXFT})
- if(NOT APPLE)
- list (APPEND OPTIONAL_LIBS ${HAVE_LIB_GOBJECT} )
- endif(NOT APPLE)
-endif(USE_PANGO)
+ if (NOT APPLE)
+ list (APPEND OPTIONAL_LIBS ${HAVE_LIB_GOBJECT} )
+ endif (NOT APPLE)
+endif (USE_PANGO)
if (USE_XFT)
- list (APPEND OPTIONAL_LIBS ${X11_Xft_LIB})
- if (LIB_fontconfig)
- list (APPEND OPTIONAL_LIBS ${LIB_fontconfig})
- endif (LIB_fontconfig)
+ list (APPEND OPTIONAL_LIBS ${X11_Xft_LIB})
+ if (LIB_fontconfig)
+ list (APPEND OPTIONAL_LIBS ${LIB_fontconfig})
+ endif (LIB_fontconfig)
endif (USE_XFT)
#######################################################################
-FL_ADD_LIBRARY(fltk STATIC "${STATIC_FILES}")
-target_link_libraries(fltk ${OPTIONAL_LIBS})
+FL_ADD_LIBRARY (fltk STATIC "${STATIC_FILES}")
+target_link_libraries (fltk ${OPTIONAL_LIBS})
#######################################################################
-FL_ADD_LIBRARY(fltk_forms STATIC "${FLCPPFILES}")
-target_link_libraries(fltk_forms fltk)
+FL_ADD_LIBRARY (fltk_forms STATIC "${FORMS_FILES}")
+target_link_libraries (fltk_forms fltk)
#######################################################################
-FL_ADD_LIBRARY(fltk_images STATIC "${IMGCPPFILES}")
-target_link_libraries(fltk_images fltk)
+FL_ADD_LIBRARY (fltk_images STATIC "${IMGCPPFILES}")
+target_link_libraries (fltk_images fltk)
if (OPTION_USE_SYSTEM_LIBJPEG)
- target_link_libraries(fltk_images ${FLTK_JPEG_LIBRARIES})
+ target_link_libraries (fltk_images ${FLTK_JPEG_LIBRARIES})
else()
- target_link_libraries(fltk_images fltk_jpeg)
+ target_link_libraries (fltk_images fltk_jpeg)
endif (OPTION_USE_SYSTEM_LIBJPEG)
if (OPTION_USE_SYSTEM_ZLIB)
- target_link_libraries(fltk_images ${FLTK_ZLIB_LIBRARIES})
+ target_link_libraries (fltk_images ${FLTK_ZLIB_LIBRARIES})
else()
- target_link_libraries(fltk_images fltk_z)
+ target_link_libraries (fltk_images fltk_z)
endif (OPTION_USE_SYSTEM_ZLIB)
if (OPTION_USE_SYSTEM_LIBPNG)
- target_link_libraries(fltk_images ${FLTK_PNG_LIBRARIES})
+ target_link_libraries (fltk_images ${FLTK_PNG_LIBRARIES})
else()
- target_link_libraries(fltk_images fltk_png)
+ target_link_libraries (fltk_images fltk_png)
endif (OPTION_USE_SYSTEM_LIBPNG)
#######################################################################
if (OPENGL_FOUND)
- FL_ADD_LIBRARY(fltk_gl STATIC "${GLCPPFILES};${GL_HEADER_FILES};${GL_DRIVER_HEADER_FILES}")
- target_link_libraries(fltk_gl fltk ${OPENGL_LIBRARIES})
+ FL_ADD_LIBRARY (fltk_gl STATIC "${GLCPPFILES};${GL_HEADER_FILES};${GL_DRIVER_HEADER_FILES}")
+ target_link_libraries (fltk_gl fltk ${OPENGL_LIBRARIES})
endif (OPENGL_FOUND)
#######################################################################
# Build shared libraries (optional)
#######################################################################
+# Shared libraries, part 1: everything except Visual Studio (MSVC)
+#######################################################################
+
+if (OPTION_BUILD_SHARED_LIBS AND NOT MSVC)
+
+ FL_ADD_LIBRARY (fltk SHARED "${SHARED_FILES}")
+ target_link_libraries (fltk_SHARED ${OPTIONAL_LIBS})
+
+ ###################################################################
+
+ FL_ADD_LIBRARY (fltk_forms SHARED "${FORMS_FILES}")
+ target_link_libraries (fltk_forms_SHARED fltk_SHARED)
+
+ ###################################################################
+
+ FL_ADD_LIBRARY (fltk_images SHARED "${IMGCPPFILES}")
+ target_link_libraries (fltk_images_SHARED fltk_SHARED)
+
+ if (OPTION_USE_SYSTEM_LIBJPEG)
+ target_link_libraries (fltk_images_SHARED ${FLTK_JPEG_LIBRARIES})
+ else()
+ target_link_libraries (fltk_images_SHARED fltk_jpeg_SHARED)
+ endif (OPTION_USE_SYSTEM_LIBJPEG)
+
+ if (OPTION_USE_SYSTEM_LIBPNG)
+ target_link_libraries (fltk_images_SHARED ${FLTK_PNG_LIBRARIES})
+ else()
+ target_link_libraries (fltk_images_SHARED fltk_png_SHARED)
+ endif (OPTION_USE_SYSTEM_LIBPNG)
+
+ if (OPTION_USE_SYSTEM_ZLIB)
+ target_link_libraries (fltk_images_SHARED ${FLTK_ZLIB_LIBRARIES})
+ else()
+ target_link_libraries (fltk_images_SHARED fltk_z_SHARED)
+ endif (OPTION_USE_SYSTEM_ZLIB)
+
+ ###################################################################
+
+ if (OPENGL_FOUND)
+ FL_ADD_LIBRARY (fltk_gl SHARED "${GLCPPFILES};${GL_HEADER_FILES};${GL_DRIVER_HEADER_FILES}")
+ target_link_libraries (fltk_gl_SHARED fltk_SHARED ${OPENGL_LIBRARIES})
+ endif (OPENGL_FOUND)
+
+endif (OPTION_BUILD_SHARED_LIBS AND NOT MSVC)
+
+#######################################################################
+# Shared libraries, part 2: Visual Studio (MSVC)
+#######################################################################
-# Note to devs: As of 08 Aug 2016 we can build shared libs (dlls)
-# under Windows with Visual Studio (MSVC) but we can't link for instance
-# fltk_images_SHARED with fltk_SHARED - we have to use fltk, i.e. the
-# "static" object library instead. I don't know how to fix this, but
-# at least we can build shared libraries (dlls) with Visual Studio.
+# Note to devs: As of June 2020 we can't build separate shared libs (DLL's)
+# under Windows with Visual Studio (MSVC) but we can build one big DLL
+# that comprises all FLTK and optional PNG, JPEG, and ZLIB libs.
# AlbrechtS
-if (OPTION_BUILD_SHARED_LIBS)
-
- FL_ADD_LIBRARY(fltk SHARED "${SHARED_FILES}")
- target_link_libraries(fltk_SHARED ${OPTIONAL_LIBS})
-
- ###################################################################
-
- FL_ADD_LIBRARY(fltk_forms SHARED "${FLCPPFILES}")
- if (MSVC)
- target_link_libraries(fltk_forms_SHARED fltk)
- else ()
- target_link_libraries(fltk_forms_SHARED fltk_SHARED)
- endif (MSVC)
-
- ###################################################################
-
- FL_ADD_LIBRARY(fltk_images SHARED "${IMGCPPFILES}")
- if (MSVC)
- target_link_libraries(fltk_images_SHARED fltk)
- else ()
- target_link_libraries(fltk_images_SHARED fltk_SHARED)
- endif (MSVC)
-
- if (OPTION_USE_SYSTEM_LIBJPEG)
- target_link_libraries(fltk_images_SHARED ${FLTK_JPEG_LIBRARIES})
- else()
- target_link_libraries(fltk_images_SHARED fltk_jpeg_SHARED)
- endif (OPTION_USE_SYSTEM_LIBJPEG)
-
- if (OPTION_USE_SYSTEM_LIBPNG)
- target_link_libraries(fltk_images_SHARED ${FLTK_PNG_LIBRARIES})
- else()
- target_link_libraries(fltk_images_SHARED fltk_png_SHARED)
- endif (OPTION_USE_SYSTEM_LIBPNG)
-
- if (OPTION_USE_SYSTEM_ZLIB)
- target_link_libraries(fltk_images_SHARED ${FLTK_ZLIB_LIBRARIES})
- else()
- target_link_libraries(fltk_images_SHARED fltk_z_SHARED)
- endif (OPTION_USE_SYSTEM_ZLIB)
-
- ###################################################################
-
- if (OPENGL_FOUND)
- FL_ADD_LIBRARY(fltk_gl SHARED "${GLCPPFILES};${GL_HEADER_FILES};${GL_DRIVER_HEADER_FILES}")
- if (MSVC)
- target_link_libraries(fltk_gl_SHARED fltk ${OPENGL_LIBRARIES})
- else ()
- target_link_libraries(fltk_gl_SHARED fltk_SHARED ${OPENGL_LIBRARIES})
- endif (MSVC)
- endif (OPENGL_FOUND)
-
-endif (OPTION_BUILD_SHARED_LIBS)
+if (OPTION_BUILD_SHARED_LIBS AND MSVC)
+
+ set (SOURCES ${SHARED_FILES} ${FORMS_FILES} ${IMGCPPFILES})
+ if (OPENGL_FOUND)
+ list (APPEND SOURCES ${GLCPPFILES} ${GL_HEADER_FILES} ${GL_DRIVER_HEADER_FILES})
+ endif (OPENGL_FOUND)
+
+ FL_ADD_LIBRARY (fltk SHARED "${SOURCES}")
+ target_link_libraries (fltk_SHARED ${OPTIONAL_LIBS})
+
+ if (OPTION_USE_SYSTEM_LIBJPEG)
+ target_link_libraries (fltk_SHARED ${FLTK_JPEG_LIBRARIES})
+ else()
+ target_link_libraries (fltk_SHARED fltk_jpeg_SHARED)
+ endif (OPTION_USE_SYSTEM_LIBJPEG)
+
+ if (OPTION_USE_SYSTEM_LIBPNG)
+ target_link_libraries (fltk_SHARED ${FLTK_PNG_LIBRARIES})
+ else()
+ target_link_libraries (fltk_SHARED fltk_png_SHARED)
+ endif (OPTION_USE_SYSTEM_LIBPNG)
+
+ if (OPTION_USE_SYSTEM_ZLIB)
+ target_link_libraries (fltk_SHARED ${FLTK_ZLIB_LIBRARIES})
+ else()
+ target_link_libraries (fltk_SHARED fltk_z_SHARED)
+ endif (OPTION_USE_SYSTEM_ZLIB)
+
+ if (OPENGL_FOUND)
+ target_link_libraries (fltk_SHARED ${OPENGL_LIBRARIES})
+ endif (OPENGL_FOUND)
+
+endif (OPTION_BUILD_SHARED_LIBS AND MSVC)
#######################################################################
diff --git a/src/Makefile b/src/Makefile
index 0cbde688f..bb4b6af79 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -14,7 +14,7 @@
# https://www.fltk.org/bugs.php
#
-# Note: see ../configure.in and/or ../makeinclude for definition of
+# Note: see ../configure.ac and/or ../makeinclude for definition of
# FL_VERSION (x.y.z), FL_ABI_VERSION (x.y.0), and FL_DSO_VERSION (x.y)
CPPFILES = \