Update README and configure related stuff for 1.5.0

- remove configure stuff from more README files
- move documentation/README.txt to README.documentation.txt
This commit is contained in:
Albrecht Schlosser 2025-03-08 17:08:54 +01:00
parent 0941f0600a
commit 347d35a8c0
6 changed files with 46 additions and 58 deletions

View File

@ -32,10 +32,9 @@ README.Unix.txt - Building FLTK on Unix/Linux Systems
-------------------------------------------------------------------
Note: usage of autotools, configure, and the included Makefiles
to build the FLTK library is deprecated since FLTK 1.4 and will
be removed in the next minor version (1.5).
Please consider using CMake instead, see README.CMake.txt.
Note: usage of autotools, configure, and included Makefiles to
build the FLTK library is no longer available since FLTK 1.5.0.
You must use CMake instead, see README.CMake.txt.
-------------------------------------------------------------------
@ -187,15 +186,11 @@ To update to the latest version, just `cd` into the fltk directory and type
git pull
If you have installed JPEG and PNG libraries from pkgsrc, configure your
environment as follows so that the FLTK configure script can find them:
environment as follows so that CMake can find them:
export CPPFLAGS="-I/usr/pkg/include"
export LDFLAGS="-L/usr/pkg/lib"
To install GNU autoconf from pkgsrc:
cd /usr/pkgsrc/devel/autoconf
bmake install
2.4 OpenSuSE

View File

@ -34,10 +34,10 @@ CJK text-input methods, as well as dead and compose keys are supported.
2 Wayland Support for FLTK
==========================
On Linux and FreeBSD systems, the FLTK library is by default configured so FLTK apps
do all their windowing through the Wayland protocol, all their graphics with
Cairo or EGL, and all text-drawing with Pango. If no Wayland compositor is
available at run-time, FLTK apps fall back to using X11 for windowing.
On Linux and FreeBSD systems, the FLTK library is by default configured so FLTK
apps do all their windowing through the Wayland protocol, all their graphics
withCairo or EGL, and all text-drawing with Pango. If no Wayland compositor
is available at run-time, FLTK apps fall back to using X11 for windowing.
Cairo and Pango remain used for graphics and text, respectively.
Environment variable FLTK_BACKEND can be used to control whether Wayland or
@ -122,12 +122,12 @@ On Linux and FreeBSD systems equipped with the adequate software packages
hybrid library. On systems lacking all or part of Wayland-required packages,
the default building procedure produces a X11-based library.
Use "-D FLTK_BACKEND_WAYLAND=OFF" with CMake or "configure --disable-wayland"
to build FLTK for the X11 library when the default would build for Wayland.
Use "-D FLTK_BACKEND_WAYLAND=OFF" with CMake to build FLTK for the X11
library when the default would build for Wayland.
CMake option FLTK_BACKEND_X11=OFF or configure argument "--disable-x11" can
be used to produce a Wayland-only library which can be useful, e.g., when
cross-compiling for systems that lack X11 headers and libraries.
CMake option FLTK_BACKEND_X11=OFF can be used to produce a Wayland-only
library which can be useful, e.g., when cross-compiling for systems that
lack X11 headers and libraries.
The FLTK Wayland platform uses a library called libdecor which handles window decorations
(i.e., titlebars, shade). On very recent Linux distributions (e.g., Debian trixie)

View File

@ -1,5 +1,6 @@
README.txt (documentation)
---------------------------
README.documentation.txt
------------------------
Documentation is available in HTML and PDF format built using 'doxygen'
since FLTK 1.3. The documentation must be generated in a separate step
or downloaded from FLTK's software download pages. The documentation can
@ -7,10 +8,11 @@ also be accessed online.
To read the docs after downloading or generating them, open the files:
documentation/html/index.html
documentation/fltk.pdf
build/documentation/html/index.html
build/documentation/fltk.pdf
with your browser or PDF viewer, respectively.
Note that 'build' represents your CMake build folder.
Online Documentation (Latest Release):
@ -55,9 +57,9 @@ did with the source tarball.
Generation of Documentation (Common Part):
------------------------------------------
To generate the documentation yourself you should have Doxygen
version 1.8 or later. Recommended version as of this writing
(October 2023) is 1.9.8 or later.
Older Doxygen versions than 1.8 may or may not work.
version 1.9.8 or later. Recommended version as of this writing
(March 2025) is 1.12.0 or later.
Older Doxygen versions than 1.9 may or may not work.
Full documentation generation is supported only on Unix/Linux
platforms that provide a POSIX compatible shell (e.g. 'bash') and
@ -82,15 +84,6 @@ them. You may need to install additional fonts and other sub-packages
for the PDF version to be generated correctly.
Generation of Documentation with autoconf (configure) + make:
-------------------------------------------------------------
Use "make html" in the documentation directory to generate the HTML
documentation, or "make pdf" to generate the PDF version. "make docs"
generates both versions in one step (as would do "make clean html pdf").
To read the HTML or PDF docs, see above.
Generation of Documentation with CMake:
---------------------------------------
We assume that you use an out-of-source build as recommended.

View File

@ -1,7 +1,7 @@
//
// Windows-specific code for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2024 by Bill Spitzak and others.
// Copyright 1998-2025 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
@ -105,8 +105,8 @@ extern void fl_cleanup_pens(void);
// MSVC 2010 can't find round() although <math.h> is included above,
// which is surprising because ceil() works fine.
// We could (should?) probably add configure/CMake feature tests for
// round() and ceil() rather than depending on MSVC version numbers.
// We could (should?) probably add CMake feature tests for round()
// and ceil() rather than depending on MSVC version numbers.
// AlbrechtS, 02/2010 - Note: we don't know about MSVC 2012 - 2015, see
// https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros

View File

@ -1,7 +1,7 @@
HOW TO CREATE A NEW UNIT TEST
-----------------------------
1) Create your new test/unittest_xxx.cxx file (or use an existing one)
1) Create your new test/unittest_xxx.cxx file (or copy an existing one)
2) In your new cxx file, define a class derived from Fl_Group
for your test (e.g. Ut_Test_Foo).
@ -50,30 +50,30 @@ HOW TO CREATE A NEW UNIT TEST
3) Add an entry anywhere to the enum {} at the top of the unittests.h file. Example:
enum {
UT_TEST_ABOUT = 0,
UT_TEST_POINTS,
...
UT_TEST_FOO, <-- ADD YOUR TEST CLASS NAME IN ALL CAPS
...
};
enum {
UT_TEST_ABOUT = 0,
UT_TEST_POINTS,
...
UT_TEST_FOO, <-- ADD YOUR TEST CLASS NAME IN ALL CAPS
...
};
4) Add your new unittest_xxx.cxx file to:
a) test/CMakeLists.txt -- cmake needs this
b) test/Makefile -- configure needs this (?)
test/CMakeLists.txt -- cmake needs this
You should then be able to use cmake to create a build directory that
builds with your new test. e.g.
You should then be able to use cmake to create a build directory that
builds with your new test. e.g.
mkdir build
cmake ..
mkdir build
cd build
cmake ..
..and from there, you should be able to go through the common
edit/make/run development cycle:
..and from there, you should be able to go through the common
edit/make/run development cycle:
make -j 4 <-- should build bin/test/unittests with your test
bin/test/unittests <-- run unittests to check your work
make -j 4 <-- should build bin/test/unittests with your test
bin/test/unittests <-- run unittests to check your work
5) That's it!

View File

@ -6,7 +6,7 @@
// This demo show the different boxtypes. Note that some
// boxtypes are not appropriate for some objects
//
// Copyright 1998-2023 by Bill Spitzak and others.
// Copyright 1998-2025 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
@ -186,8 +186,8 @@ int main(int argc, char *argv[]) {
int main(int argc, char **argv) {
fl_message_title("This program needs the Forms compatibility library");
fl_message(
"Please configure FLTK with Forms enabled (--enable-forms)\n"
"or the CMake option FLTK_BUILD_FORMS=ON.");
"Please configure FLTK with Forms enabled, i.e.\n"
"use the CMake option FLTK_BUILD_FORMS=ON.");
return 0;
}
#endif // (FLTK_HAVE_FORMS)