diff --git a/README.Unix.txt b/README.Unix.txt index 77b9b4390..442ebf4ca 100644 --- a/README.Unix.txt +++ b/README.Unix.txt @@ -34,7 +34,7 @@ README.Unix.txt - Building FLTK on Unix/Linux Systems ------------------------------------------------------------------- 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. + You must use CMake instead, see below and/or README.CMake.txt. ------------------------------------------------------------------- @@ -82,9 +82,8 @@ Open a shell and install some development software: sudo apt-get install g++ sudo apt-get install gdb sudo apt-get install git - sudo apt-get install make - sudo apt-get install cmake # install CMake... - sudo apt-get install autoconf # ...or autoconf (or both) + sudo apt-get install make # if used + sudo apt-get install cmake sudo apt-get install libx11-dev sudo apt-get install libglu1-mesa-dev sudo apt-get install libxft-dev @@ -295,7 +294,7 @@ Change the following instructions to fit your preferences. Since FLTK 1.5 the only build system (generator) used by FLTK is CMake. CMake can be used to create the build system of your choice, for instance -Makefiles, Ninja build files, Xcode or Visual Studio IDE projects etc.. +Makefiles, Ninja build files, Xcode, or Visual Studio IDE projects etc.. Note: The "classic" build system with autoconf, configure, and Makefiles is no longer available. diff --git a/README.Wayland.txt b/README.Wayland.txt index 08caed437..4e9f98fb1 100644 --- a/README.Wayland.txt +++ b/README.Wayland.txt @@ -222,7 +222,7 @@ The Wayland platform is known to work with Fedora version 35 or more recent. These packages are necessary to build the FLTK library, in addition to package groups listed in section 2.2 of file README.Unix.txt : -- autoconf + - wayland-devel - wayland-protocols-devel - cairo-devel @@ -245,6 +245,7 @@ Package installation command: sudo yum install The Wayland platform is known to work with FreeBSD version 13.1 and the Sway compositor. These packages are necessary to build the FLTK library and use the Sway compositor: + git autoconf pkgconf xorg urwfonts gnome glew seatd sway dmenu-wayland dmenu evdev-proto Package installation command: sudo pkg install diff --git a/README.txt b/README.txt index 1e14c43e4..e8bc87233 100644 --- a/README.txt +++ b/README.txt @@ -5,11 +5,11 @@ WHAT IS FLTK? The Fast Light Tool Kit is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11 or Wayland), Microsoft® Windows®, and macOS®. - FLTK provides modern GUI functionality without bloat and - supports 3D graphics via OpenGL® 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 on GitHub. + FLTK provides modern GUI functionality without bloat and supports + 3D graphics via OpenGL® 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 on GitHub. https://www.fltk.org/ https://github.com/fltk/fltk/ @@ -35,92 +35,31 @@ ON-LINE DOCUMENTATION 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. + Since FLTK 1.5.0 the only available 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. Use `cmake --help` to display the available generators + on your platform. - Please see README.CMake.txt for further information. + Please see also README.CMake.txt for further details. There are *many* + options to configure the build as you need. - 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 a nutshell: - Note: autoconf + configure + make is still supported in FLTK 1.4.x - but will be removed in FLTK 1.5.0 or any higher version. + $ cd /path/to/fltk + $ cmake . -B build + $ cmake --build build - In most cases you can just type "make". This will run configure - with the default (no) options and then compile everything. + These commands create the build folder 'build' inside your source tree, + build the library and all test programs. You may want to test the demo + programs by running `build/bin/test/demo`. - 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. + After successful tests you may install the library with the following + command, but please be aware that this will install FLTK in a system + directory for system-wide use. We don't recommend this unless you know + what you're doing. - 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 include: - - --help - display help and exit - --enable-cygwin - Enable the Cygwin DLL (Cygwin only) - --enable-debug - Enable debugging code & symbols - --disable-forms - Disable generation of the forms library - --disable-gl - Disable OpenGL support - --enable-shared - Enable generation of shared libraries - --enable-threads - Enable multithreading support - --enable-xft - Enable the Xft library (anti-aliased fonts) - --enable-pango - Draw text with the pango library - --disable-wayland - Force building for X11 only (no Wayland support) - --enable-x11 - Force building for X11 (macOS and Cygwin) - --disable-x11 - Force building for Wayland only (Linux/Unix) - --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] - - For more options please see './configure --help'. - - 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 (GitHub), - you'll need to generate an initial version of 'configure' - by running 'make makeinclude' or 'make clean' (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 + $ sudo cmake --install build # default: to /usr/local/... BUILDING FLTK UNDER MICROSOFT WINDOWS @@ -131,48 +70,69 @@ BUILDING FLTK UNDER MICROSOFT WINDOWS 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: + the Cygwin, MinGW, or MSYS2 tools, use CMake to create the build files + as described above. - ./configure ...options... + In most cases it's useful to install a binary CMake distribution from + https://cmake.org/download/ . + + Then execute `cmake-gui` and generate Visual Studio project files or any + other build files of your choice, e.g. "Unix Makefiles" for MinGW, but + note that there are other options as well. 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 + FLTK uses Doxygen for documentation, so you'll at least need doxygen installed for creating html docs, and LaTeX for creating PDF docs. + If you want to build the documentation, change directory to your build + folder, for instance + + cd /path/to/fltk/build + + To build the HTML or PDF documentation, use these CMake commands: + + cmake --build . --target html + cmake --build . --target pdf + + Note: instead of using the generic CMake commands above you can also + use equivalent commands of your build system, e.g. `make html` or + `ninja pdf`. + INTERNET RESOURCES - FLTK is available on the 'net in a bunch of locations: + FLTK is available on the internet 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] + - https://www.fltk.org/ - homepage + - https://github.com/fltk/fltk - source code and discussions + - https://www.fltk.org/bugs.php - info for reporting bugs + - https://www.fltk.org/software.php - download source code + - https://github.com/fltk/fltk/releases - source code and documentation + + Note that we don't provide pre-compiled (binary) distributions. Consult + the package manager of your (Linux, Unix, macOS) operating system. GENERAL QUESTIONS - To join the FLTK mailing list, go the following web page: + To join the FLTK mailing list, go to 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: + You can find detailed instructions on how you can register for the + mailing list (even w/o a Google account) at the bottom of this page: https://www.fltk.org/newsgroups.php + Since July 2024 we offer GitHub Discussions on our GitHub project page. + Use the 'Q&A' section for general questions on building and using FLTK. + + https://github.com/fltk/fltk/discussions/categories/q-a + REPORTING BUGS @@ -182,21 +142,25 @@ REPORTING BUGS https://groups.google.com/forum/#!forum/fltkgeneral - See paragraph GENERAL QUESTIONS above for more info. + or on GitHub Discussions (Q&A) as noted above: + + https://github.com/fltk/fltk/discussions/categories/q-a + + + See also paragraph GENERAL QUESTIONS above for more info. If you are sure you found a bug, please see the following page for - further information: + further information on how to report a bug: 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. macOS is a registered trademark of Apple - Computers, Inc. + 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. + macOS is a registered trademark of Apple Computers, Inc. COPYRIGHT