summaryrefslogtreecommitdiff
path: root/CMake
AgeCommit message (Collapse)Author
2023-08-28CMake: Make compile definitions 'FL_LIBRARY' and 'FL_DLL' privateAlbrecht Schlosser
... so they are not inherited by consumers of the library. Remove 'add_definitions(-DFL_LIBRARY)' from src/CMakeLists.txt This is not necessary, see CMake/fl_add_library.cmake Don't set obsolete property 'CLEAN_DIRECT_OUTPUT' which was removed in CMake 2.8.0.
2023-08-26CMake: fix formatting, add more debug outputAlbrecht Schlosser
2023-04-30Allow building Wayland platform without dbus - cont'd (#726)ManoloFLTK
CMake-based building without dbus is made possible
2023-04-02Fix "recipe for target '../../src/xdg-decoration-protocol.c' failed" (#704)ManoloFLTK
2023-03-09CMake: build shared libs with OPTION_CAIROEXT (issue #250)Albrecht Schlosser
- 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.
2023-02-28Fix fltk-config --use-images with local image libs (#689)Albrecht Schlosser
CMake only: replace wrong variable names with correct ones. Affected were all image libraries (jpeg, png) and zlib. These variables had been renamed in an earlier commit when lots of CMake code had been rewritten.
2023-02-06Remove usage of __APPLE_QUARTZ__ (#673)ManoloFLTK
2023-02-02Fix position() methods that shadow Fl_Widget::position()Matthias Melcher
* `FL_DEPRECATED` macro to mark `position()` method that shadow `Fl_Widget::position()` #69 (#666)
2023-02-02Allow cmake -DOPTION_APPLE_X11=On without -U__APPLE__ManoloFLTK
2023-01-21Move global FLTK options into new app fltk-admin (#560)Matthias Melcher
2023-01-01Make sure that zlib and png are both local or system (#621)Matthias Melcher
Autoconf syncs png and zlib configuration Cmake png zlib selection
2022-12-16Derive Fl_Zenity_Native_File_Chooser_Driver from Fl_Kdialog_Native_…ManoloFLTK
Also add Fl::option(OPTION_FNFC_USES_ZENITY)
2022-12-16Add Zenity-based file chooser based on the KDialog one (HugLifeTiZ)Trent McPheron
If available, it is used on Linux regardless of the current desktop because it offers free XDG portal integration, which means it picks the correct file chooser on all desktops, and allows for meaningful file selection in sandbox environments like Flatpak.
2022-12-13 Fix for "Build on FreeBSD fails: linux/input.h not found" (#584)ManoloFLTK
2022-11-24CMake build for Wayland: check for presence of required GL-related softwareManoloFLTK
2022-11-24CMake building: improve messages about necessary software packagesManoloFLTK
2022-11-23CMake build for Wayland/X11 hybrid: check for libx???-dev packagesManoloFLTK
2022-11-23Fix whitespace (trailing spaces)Albrecht Schlosser
2022-11-23Have OPTION_USE_WAYLAND / --enable-wayland set to ON by defaultManoloFLTK
2022-11-23Wayland+CMake: stop forcing GTK_FOUND to 0ManoloFLTK
This removes the cause of this developer's message # FIXME: This needs to be redesigned! Forcing GTK_FOUND to 0 (NO) is a bad # FIXME: idea because there could be unwanted side effects. AlbrechtS
2022-11-18CMake+Wayland: check for presence of required software modulesManoloFLTK
Also, remove hardcoded path to wayland-protocols when CMake version ≥ 3.4
2022-11-13Make building Fluid optional. (#539)Matthias Melcher
2022-11-11CMake: improve debug macrosAlbrecht Schlosser
2022-11-08Wayland + CMake: fix generated fltk-config that lacked -lX11ManoloFLTK
2022-10-16macOS + homebrew: restore building with CMake's OPTION_APPLE_X11ManoloFLTK
These option combinations work: -DOPTION_APPLE_X11 -DOPTION_APPLE_X11 -DOPTION_USE_CAIRO But -DOPTION_APPLE_X11 -DOPTION_USE_PANGO is not possible because homebrew doesn't provide the pangoxft package.
2022-09-09New OPTION_WAYLAND_ONLY for CMake to build pure Wayland platform.ManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-05-21Wayland under FreeBSD: detect <GL/glu.h> and fix LIBDECOR_PLUGIN_DIR.ManoloFLTK
2022-04-07Reorder CMake build options for better order of include directoriesAlbrecht Schlosser
This is only one minor step to remove issues of some CMake options that can cause conflicting include directories ("-I..." switches). See implementation note in CMake/options.cmake.
2022-04-05CMake: Restore removed HAVE_LIBPNG settingAlbrecht Schlosser
This was removed unintentionally.
2022-04-04Remove obsolete config variable 'HAVE_LIBPNG_PNG_H'Albrecht Schlosser
This variable has never been used in the code. Configure and CMake look for a *working* libpng (HAVE_PNG) and set variable HAVE_PNG_H if the header <png.h> can be included. The alternative to include <libpng/png.h> is always used in the #else clause and doesn't need its own config variable. Configure and CMake log what they find, hence this extra variable is not necessary.
2022-04-03Build and use fluid-cmd on Windows for .fl files (#224, #293)Albrecht Schlosser
On Windows fluid.exe is a "GUI" program and does not allow console output which can be a problem in automated builds. In Visual Studio the fluid GUI program would pop up console windows when generating .cxx and .h files from .fl files. The new (additional) fluid-cmd.exe is built as console application for users that need it and it is used in the FLTK build process on Windows to convert the .fl files.
2022-04-03Improve libpng header search (notably on macOS)Albrecht Schlosser
Fix usage of internal cache variables so users can switch between system and builtin libpng reliably.
2022-03-26CMake: Don't install man pages of game programs (issue #23)Albrecht Schlosser
I decided not to install the man pages for consistency because we don't install the executable programs. The instructions are commented out only so they can be activated easily if this will be changed, i.e. if we decide to install the test/game programs in the future. Closes #23
2022-03-26CMake: Remove obsolete platform dependent instructionsAlbrecht Schlosser
The intended effect (building a Windows "GUI" application), is correctly achieved using the "WIN32" option of add_executable() selectively where appropriate rather than setting this platform specific option for *all* (Windows) executables when using GNU compilers (MinGW, MSYS2, Cygwin, ...).
2022-03-26CMake/MSVC: limit "/utf-8" to VS 2015 and later (PR #415)Albrecht Schlosser
According to PR #415 this switch was added in Visual Studio 2015 Update 3. However, version "1900" does not distinguish updates, hence Visual Studio 2015 up to Update 2 may fail to compile with this addition. Installing the updates would obviously fix this.
2022-03-26Add UTF-8 encoding support in setup.cmake for MSVC (PR #415)ZJUGKC
The source files are all encoded by UTF-8 without BOM. This will raise warnings and errors when compiling by the MSVC with some active code pages (ACP). The file `test/ask.cxx` contains such characters with UTF-8 encoding. Adding `/utf-8` here is equivalent to specifying `/source-charset:utf-8 /execution-charset:utf-8`, and all warnings and errors are removed.
2022-03-25CMake: add missing variable initializationAlbrecht Schlosser
Although CMake uses previously undefined variables like empty strings it could happen that variables set in the calling context by other projects initialized some variables with unexpected values. Example: FLTK_LIBRARIES could have been initialized by previous execution of 'find_package(FLTK ...)' in a project using FLTK
2022-03-22Restore CMake build with OPTION_USE_GL=0ManoloFLTK
2022-03-13CMake: Improve fltk-config generationAlbrecht Schlosser
- set executable permissions on MinGW and more platforms - add missing link libraries - improve code formatting (indent) - mark some variables as advanced - simplify search for glib-2.0
2022-03-13Fix CMake version test in setup.cmakeAlbrecht Schlosser
Note: CMake operator 'VERSION_GREATER_EQUAL' was added in CMake 3.7 but we allow 3.2.3
2022-03-13CMake/Windows (MSVC): remove confusing CMake warningAlbrecht Schlosser
The Visual Studio generator does often not find GL/glu.h and locale.h although these headers are in the Visual Studio SDK. The warning has been changed to "info" and the unnecessary and sometimes confusing recommendation to rerun CMake has been removed.
2022-03-13CMake: Improve configuration summary, add fl_debug_pkg macroAlbrecht Schlosser
fl_debug_pkg(...) can be used to display CMake variables set by executing pkg_check_modules(). This is for CMake debugging only. The CMake configuration summary displays configuration options of Wayland, Pango, Xft, and Cairo configuration.
2022-03-07CMake/MinGW/MSYS2: fix building examples with libglew32 (#226)Albrecht Schlosser
CMake/resources.cmake: add NAMES option to find_library examples/CMakeLists.txt: fix linking libGLEW/libglew32
2022-03-04Add the Wayland platform to FLTK 1.4ManoloFLTK
2022-01-23Remove experimental platforms Android, Pico, SDL (PR #376)Albrecht Schlosser
... as discussed in fltk.coredev: "FLTK 1.4.0 release schedule" https://groups.google.com/g/fltkcoredev/c/PDbHTRpXVh0/m/JqboexZ_AwAJ
2021-12-20CMake: export Cairo include directories (issue #350)Albrecht Schlosser
If a user project is built using a FLTK library generated by CMake with Cairo support then the CMake variable FLTK_INCLUDE_DIRECTORIES now includes the required Cairo include directories.
2021-12-18Generate FL/fl_config.h rather than FL/abi-version.hAlbrecht Schlosser
... as discussed in fltk.coredev in thread "RFC: introduce public config header <FL/fl_config.h>", see: https://groups.google.com/g/fltkcoredev/c/xLCs1AIXMVo/m/MHZpQggzAQAJ - Rename abi-version.h to fl_config.h, rename input files, update dependencies, .gitignore, CMake, configure and Makefiles. - Include Cairo options in FL/fl_config.h - Rename FLTK_USE_CAIRO to FLTK_HAVE_CAIROEXT for consistency. - Include <FL/fl_config.h> in config.h and wherever necessary, fix include order (move FL/Fl.H to the top) and more. - Move USE_X11 to fl_config.h and rename to FLTK_USE_X11 - Do not include <config.h> in Cairo demo program which is no longer required in Cairo programs since FLTK 1.4.0
2021-12-18Remove unused and outdated demo, update dependenciesAlbrecht Schlosser
- remove test/connect.cxx - fix typos in comments in a related android file - update dependencies
2021-12-08Fix for issue #278 - continued : add CMake OPTION_USE_KDIALOGManoloFLTK
Use of the kdialog command by class Fl_Naive_File_Chooser can now be turned off at build-time through CMake OPTION_USE_KDIALOG. If building via configure + make, set #define USE_KDIALOG to 0 in config.h before make.