mirror of https://github.com/fltk/fltk
201 lines
7.2 KiB
Plaintext
201 lines
7.2 KiB
Plaintext
README - Fast Light Tool Kit (FLTK) Version 1.4.0
|
|
-------------------------------------------------
|
|
|
|
WHAT IS FLTK?
|
|
|
|
The Fast Light Tool Kit is a cross-platform C++ GUI toolkit for
|
|
UNIX(r)/Linux(r) (X11 or Wayland), Microsoft(r) Windows(r), and
|
|
macOS(r). FLTK provides modern GUI functionality without the bloat
|
|
and supports 3D graphics via OpenGL(r) and its built-in GLUT
|
|
emulation. It was originally developed by Mr. Bill Spitzak and is
|
|
currently maintained by a small group of developers across
|
|
the world with a central repository in the US.
|
|
|
|
|
|
LICENSING
|
|
|
|
FLTK comes with complete free source code. FLTK is available
|
|
under the terms of the GNU Library General Public License.
|
|
Contrary to popular belief, it can be used in commercial
|
|
software! (Even Bill Gates could use it.)
|
|
|
|
|
|
ON-LINE DOCUMENTATION
|
|
|
|
The documentation in HTML and PDF forms can be created by
|
|
Doxygen from the source files. HTML and PDF versions of this
|
|
documentation is also available from the FLTK web site at:
|
|
|
|
https://www.fltk.org/documentation.php
|
|
|
|
|
|
BUILDING AND INSTALLING FLTK UNDER UNIX AND macOS
|
|
|
|
Beginning with FLTK 1.4 the main and recommended build system
|
|
is CMake. CMake is a "build system generator" and can be used
|
|
to create Makefile's, Ninja build files, Xcode (macOS),
|
|
Visual Studio (Windows) IDE files and many more.
|
|
|
|
Please see README.CMake.txt for further information.
|
|
|
|
Alternatively FLTK can be built with autoconf + make, the
|
|
build system used in FLTK 1.3 and earlier versions. Please
|
|
be aware that the following information may be outdated
|
|
because it is no longer actively maintained.
|
|
|
|
In most cases you can just type "make". This will run configure
|
|
with the default (no) options and then compile everything.
|
|
|
|
FLTK uses GNU autoconf to configure itself for your UNIX
|
|
platform. The main things that the configure script will
|
|
look for are the X11, OpenGL (or Mesa), and JPEG header and
|
|
library files. Make sure that they are in the standard
|
|
include/library locations. If they aren't you need to
|
|
define the CFLAGS, CXXFLAGS, and LDFLAGS environment
|
|
variables.
|
|
|
|
If you aren't using "gcc", "g++", "c++", or "CC" for your
|
|
C++ compiler, you'll also need to set the CXX environment
|
|
variable. Similarly, if you aren't using "gcc" or "cc" for
|
|
your C compiler you'll need to set the CC environment variable.
|
|
|
|
You can run configure yourself to get the exact setup you
|
|
need. Type "./configure <options>". Options include:
|
|
|
|
--enable-cygwin - Enable the Cygwin libraries (Windows)
|
|
--enable-debug - Enable debugging code & symbols
|
|
--disable-gl - Disable OpenGL support
|
|
--enable-shared - Enable generation of shared libraries
|
|
--enable-threads - Enable multithreading support
|
|
--enable-xdbe - Enable the X double-buffer extension
|
|
--enable-xft - Enable the Xft library (anti-aliased fonts)
|
|
--enable-pango - Draw text with the pango library
|
|
--enable-wayland - Use the Wayland system for handling windows
|
|
|
|
--bindir=/path - Set the location for executables
|
|
[default = /usr/local/bin]
|
|
--libdir=/path - Set the location for libraries
|
|
[default = /usr/local/lib]
|
|
--includedir=/path - Set the location for include files.
|
|
[default = /usr/local/include]
|
|
--prefix=/dir - Set the directory prefix for files
|
|
[default = /usr/local]
|
|
|
|
When the configure script is done you can just run the
|
|
"make" command. This will build the library, FLUID tool, and
|
|
all of the test programs.
|
|
|
|
To install the library, become root and type "make
|
|
install". This will copy the "fluid" executable to
|
|
"bindir", the header files to "includedir", and the library
|
|
files to "libdir".
|
|
|
|
To install additional files and icons to be used by the main
|
|
desktop environments such as KDE, GNOME and XFCE, you will also
|
|
need to run "make install-desktop" as root.
|
|
|
|
|
|
GIT USERS
|
|
|
|
If you've just checked out a fresh copy of FLTK from GIT,
|
|
you'll need to generate an initial version of 'configure'
|
|
by running 'make makeinclude' (we don't include a copy
|
|
of configure in git).
|
|
|
|
|
|
MAKE TARGETS
|
|
|
|
make -- builds the library + test programs (does not install)
|
|
make install -- builds and installs
|
|
make clean -- clean for a rebuild
|
|
make distclean -- like 'clean', but also removes docs, configure, fltk-config
|
|
( cd src; make ) -- builds just the fltk libraries
|
|
|
|
|
|
BUILDING FLTK UNDER MICROSOFT WINDOWS
|
|
|
|
There are two ways to build FLTK under Microsoft Windows.
|
|
The first is to use CMake to create the Visual C++ project files
|
|
in your favorite development directory, then build FLTK with
|
|
Visual Studio.
|
|
|
|
The second method is to use a GNU-based development tool.
|
|
To build with the Cygwin or MinGW tools, use the supplied
|
|
configure script as specified in the UNIX section above:
|
|
|
|
sh configure ...options...
|
|
|
|
See README.Windows.txt and README.CMake.txt for more info.
|
|
|
|
|
|
BUILDING HTML DOCUMENTATION
|
|
|
|
If you want to build the HTML documentation:
|
|
|
|
( cd documentation && make html )
|
|
|
|
If you want to build the PDF documentation:
|
|
|
|
( cd documentation && make pdf )
|
|
|
|
FLTK uses doxygen for documentation, so you'll at least need doxygen
|
|
installed for creating html docs, and LaTeX for creating PDF docs.
|
|
|
|
|
|
INTERNET RESOURCES
|
|
|
|
FLTK is available on the 'net in a bunch of locations:
|
|
|
|
- WWW: https://www.fltk.org/
|
|
https://www.fltk.org/bugs.php [for reporting bugs]
|
|
https://www.fltk.org/software.php [source code]
|
|
|
|
|
|
GENERAL QUESTIONS
|
|
|
|
To join the FLTK mailing list, go the following web page:
|
|
|
|
https://groups.google.com/forum/#!forum/fltkgeneral
|
|
|
|
You can find detailed instructions how you can register for the mailing
|
|
list (even w/o a Google mail address) at the bottom of this page:
|
|
|
|
https://www.fltk.org/newsgroups.php
|
|
|
|
|
|
REPORTING BUGS
|
|
|
|
If you are new to FLTK, or have general questions about how to use FLTK,
|
|
or aren't sure if you found a bug, please ask first on the fltk.general
|
|
group forum at:
|
|
|
|
https://groups.google.com/forum/#!forum/fltkgeneral
|
|
|
|
See paragraph GENERAL QUESTIONS above for more info.
|
|
|
|
If you are sure you found a bug, please see the following page for
|
|
further information:
|
|
|
|
https://www.fltk.org/bugs.php
|
|
|
|
|
|
TRADEMARKS
|
|
|
|
Microsoft and Windows are registered trademarks of Microsoft
|
|
Corporation. UNIX is a registered trademark of the X/Open
|
|
Group, Inc. OpenGL is a registered trademark of Silicon
|
|
Graphics, Inc. Mac OS is a registered trademark of Apple
|
|
Computers, Inc.
|
|
|
|
|
|
COPYRIGHT
|
|
|
|
FLTK is copyright 1998-2023 by Bill Spitzak and others,
|
|
see the CREDITS file for more info.
|
|
|
|
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 file is missing or damaged, see the license at:
|
|
|
|
https://www.fltk.org/COPYING.php
|