Commit Graph

40 Commits

Author SHA1 Message Date
Albrecht Schlosser
e9feef99fa Update README.CMake.txt for building X11 specific programs
Clarify different ways to disable Wayland in executable programs
designed to use X11 specific code w/o further changes.
2024-05-11 17:29:26 +02:00
ManoloFLTK
ffd06dd9eb Fix README.Wayland about libdecor-related packages 2024-05-09 11:54:22 +02:00
ManoloFLTK
e4f18c6e3c Documentation: bundled libdecor symbols are pefixed by "fl_" 2024-04-27 07:27:57 +02:00
ManoloFLTK
e6957fc2f5 Allow libdecor package version ≥ 0.2.0 with FLTK_USE_SYSTEM_LIBDECOR 2024-04-18 19:32:47 +02:00
ManoloFLTK
82bd0b6652 Have FLTK use libdecor at version > 0.2.2
- it's no longer necessary to take care of the change in the layout of "struct libdecor"
between versions ≤ 0.2.2 and > 0.2.2 of libdecor
- version > 0.2.2 contains MR131, that is, it defines LIBDECOR_WINDOW_STATE_RESIZING
so the hack to emulate it is no longer  necessary
- CMake option FLTK_USE_SYSTEM_LIBDECOR now requires libdecor version > 0.2.2
to be activated, otherwise the bundled libdecor is used
- what will be the libdecor version after 0.2.2 (0.2.3? 0.3.0?) is not known as of today
2024-03-15 12:21:38 +01:00
ManoloFLTK
cfcafaa2c8 Add details when FLTK_BACKEND_X11=off is used 2024-03-13 17:31:06 +01:00
Albrecht Schlosser
fd5cd80935 Introduce "Modern CMake" in FLTK
This is a big commit and there are too many changes to list them all.
The main changes are:

- rename all CMake build options to 'FLTK_*'
- export library targets with namespace (prefix) 'fltk::'
- standardize shared library target names with suffix '-shared'
- set public build properties on libraries for consumers
- document library names and aliases in README.CMake.txt
- document changes in "Migrating Code from FLTK 1.3 to 1.4"
- partial backwards compatibility for old user projects

Included but not directly related changes:

- fix Windows (Visual Studio) DLL build
- add CMake function fl_debug_target() to show target properties
- don't build test programs if FLTK is a subproject
- internal: reformat CMake code: remove space before '('

Thanks to Matthias and Manolo for their help, testing, and feeback.
2024-02-07 18:37:34 +01:00
Albrecht Schlosser
007e37d897 Ensure that exporting 'fl_disable_wayland' works
... with cmake_minimum_required(VERSION 3.4) or higher. This version
sets CMP0065 to 'NEW' which by default inhibits exporting global
symbols from executable programs.

For details see CMake policy CMP0065 and README.Wayland.txt.
2023-12-21 19:13:49 +01:00
ManoloFLTK
f72748bb45 Wayland: make OPTION_USE_SYSTEM_LIBDECOR ON by default
This commit makes the default FLTK build setting use libdecor
as packaged in Linux when the build system contains packages
libdecor-0-dev and libdecor-0-plugin-1-gtk in version ≥ 0.2.0.
Otherwise, FLTK uses the bundled version of libdecor.
This includes situations where package libdecor-0-dev is
present in an earlier version.
2023-12-02 09:28:08 +01:00
ManoloFLTK
d9fa2c6082 Wayland.dox: add info about the xdg decoration protocol
Also, use KWin to name the KDE desktop's Wayland compositor.
2023-07-28 15:27:38 +02:00
ManoloFLTK
c4f8de44c2 Wayland: add info about CSD and SSD modes and LIBDECOR_FORCE_CSD 2023-07-23 17:08:40 +02:00
ManoloFLTK
cdd1566cf9 Allow building Wayland platform without dbus (#726)
This commit supports configure-based builds without the dbus-dev package;
CMake-based builds are expected to be changed in further commit.
2023-04-30 18:41:49 +02:00
ManoloFLTK
0ba4e39edd Add minor details to README.Wayland.txt 2023-04-04 09:59:28 +02:00
ManoloFLTK
81f1ddad1d Add details about what version of Ubuntu is required for Wayland 2023-04-02 16:15:58 +02:00
ManoloFLTK
9f9e584919 Wayland Fl_Copy_Surface and Fl::copy() issues (#707) - cont'd 2023-03-24 16:56:25 +01:00
ManoloFLTK
1a8d6662ce osissues.dox: add "The Wayland/X11 hybrid library" 2023-03-21 10:43:53 +01:00
ManoloFLTK
eeb9267e6e Wayland: add support for multiple high or low DPI displays 2023-03-13 10:38:28 +01:00
ManoloFLTK
b5793feb51 Wayland doc: detail how to be compatible with macOS+XQuartz 2023-02-15 06:41:49 +01:00
ManoloFLTK
0e3acd27fb Add information about Wayland support by FLTK on the RaspberryPi 2022-12-13 15:22:24 +01:00
ManoloFLTK
79e26cf19a Package libxinerama-dev is required for the Wayland platform 2022-12-12 17:31:06 +01:00
ManoloFLTK
314f464cd5 README.Wayland.txt: list required packages besides those in README.Unix.txt 2022-11-24 12:14:30 +01:00
ManoloFLTK
0ba051994a Have OPTION_USE_WAYLAND / --enable-wayland set to ON by default 2022-11-23 06:17:31 +01:00
ManoloFLTK
4b945a3086 Wayland/X11 hybrid: use "bool fl_disable_wayland;" declaration. 2022-11-05 19:47:37 +01:00
Albrecht Schlosser
7b4125338b Update README files for Unix and Wayland platforms
README.Unix.txt: reorganize distributions, add packages to
  prerequisites, and more.

README.Wayland.txt: update title style, minor changes
2022-10-21 19:04:03 +02:00
ManoloFLTK
b37576aa55 New configure setting "--enable-wayland --disable-x11" to build pure Wayland platform. 2022-09-10 07:44:23 +02:00
ManoloFLTK
c720aae515 Make hybrid Wayland/X11 platform. 2022-08-29 12:15:32 +02:00
ManoloFLTK
c94f8fa693 Wayland: update known limitation about minimum window width. 2022-06-08 16:41:08 +02:00
ManoloFLTK
6add57d4bd Wayland under FreeBSD: use package evdev-proto which brings linux/input.h 2022-06-06 15:32:54 +02:00
ManoloFLTK
8028fc3cfc More about FreeBSD support in README.Wayland.txt 2022-05-24 11:41:00 +02:00
ManoloFLTK
7805a3a663 Minor changes in FreeBSD-related text. 2022-05-22 20:10:16 +02:00
ManoloFLTK
de91a92e67 Wayland under FreeBSD: add support for CMake-based builds. 2022-05-20 17:46:05 +02:00
ManoloFLTK
6686d2bfa9 Wayland platform: add support of FreeBSD version 13.1 2022-05-19 17:18:53 +02:00
ManoloFLTK
aa8c2a71c0 Package gnome-session-wayland is just a transitional package. 2022-04-07 17:14:47 +02:00
Albrecht Schlosser
e91d65cd2f Fix whitespace errors (no code changes) 2022-03-31 16:00:11 +02:00
ManoloFLTK
4c854dbbc3 Remove unnecessary libEGL-devel Fedora package from requirements list. 2022-03-23 09:03:12 +01:00
ManoloFLTK
94d2f81daa Add autoconf for configure-based builds. 2022-03-22 16:24:26 +01:00
ManoloFLTK
ffbc66321c Add Wayland build recipe for Fedora. 2022-03-22 08:16:42 +01:00
ManoloFLTK
4966107238 Add note that Wayland apps cannot be notified of clipboard changes. 2022-03-14 07:52:25 +01:00
ManoloFLTK
f66c142bbe Wayland: activate min window size to get feedback about impact on users 2022-03-05 08:35:33 +01:00
ManoloFLTK
3718effc43 Add the Wayland platform to FLTK 1.4 2022-03-04 15:41:00 +01:00