Update two README files for 1.5.0
- remove configure related stuff - improve documentation in these files
This commit is contained in:
parent
26ff0df6cf
commit
43e24a7541
@ -1,5 +1,5 @@
|
||||
README.Cairo.txt - Cairo Window Support for FLTK
|
||||
----------------------------------------------------
|
||||
-------------------------------------------------
|
||||
|
||||
|
||||
CONTENTS
|
||||
@ -38,25 +38,22 @@ use the class Fl_Cairo_Window which sets up a Cairo context so the user
|
||||
progam can call Cairo drawing calls in their own drawing callback.
|
||||
|
||||
CMake option name: FLTK_OPTION_CAIRO_WINDOW
|
||||
Configure option : --enable-cairo
|
||||
|
||||
Since FLTK 1.3 the library can also be configured to provide a Cairo context
|
||||
in all subclasses of Fl_Window. This is called "extended" Cairo support.
|
||||
in all subclasses of Fl_Window. This is called "extended" Cairo support and
|
||||
is not recommended for general use.
|
||||
|
||||
CMake option name: FLTK_OPTION_CAIRO_EXT
|
||||
Configure option : --enable-cairoext
|
||||
|
||||
These two options provide users with an interface to use Cairo to draw
|
||||
into FLTK windows. FLTK does not use Cairo for rendering its own graphics
|
||||
with these two options. Both options must be enabled explicitly.
|
||||
|
||||
|
||||
Since FLTK 1.4 the new Wayland platform uses Cairo for all drawings.
|
||||
Under X11 drawing with Cairo rather than Xlib is a build option.
|
||||
The old "Fl_Cairo_Window support" is still available on all platforms.
|
||||
|
||||
CMake option name: FLTK_GRAPHICS_CAIRO
|
||||
Configure option : --enable-usecairo
|
||||
|
||||
Full Cairo drawing is provided on Unix/Linux platforms. It is always used if
|
||||
Wayland (FLTK_BACKEND_WAYLAND) is enabled during the build. It is optional
|
||||
@ -97,10 +94,10 @@ drawing by itself (FLTK_GRAPHICS_CAIRO).
|
||||
to automatically making possible the use of a Cairo context
|
||||
in any FLTK window.
|
||||
|
||||
This feature must be enabled with 'configure --enable-cairoext' or the
|
||||
CMake option FLTK_OPTION_CAIRO_EXT:BOOL=ON (Default: OFF).
|
||||
This feature must be enabled explicitly with the CMake option
|
||||
FLTK_OPTION_CAIRO_EXT:BOOL=ON (Default: OFF).
|
||||
|
||||
(4) A new Cairo demo that is available in the test subdirectory.
|
||||
(4) A Cairo demo program in the test subdirectory.
|
||||
|
||||
For more details, please have a look to the doxygen documentation,
|
||||
in the Modules section.
|
||||
@ -122,7 +119,8 @@ on the various supported operating systems.
|
||||
sudo apt install libcairo2-dev
|
||||
|
||||
Then build fltk using the Cairo support option using:
|
||||
cmake -G "Unix Makefiles" -D FLTK_OPTION_CAIRO_WINDOW:BOOL=ON -S <fltk_dir> -B <your_build_dir>
|
||||
|
||||
cmake -G "Unix Makefiles" -D FLTK_OPTION_CAIRO_WINDOW=ON -S <fltk_dir> -B <your_build_dir>
|
||||
cd <your_build_dir>
|
||||
make
|
||||
|
||||
@ -134,26 +132,8 @@ on the various supported operating systems.
|
||||
|
||||
sudo yum install cairo-devel
|
||||
|
||||
..and then rebuild FLTK:
|
||||
..and then rebuild FLTK (see above for CMake command and options).
|
||||
|
||||
make distclean
|
||||
./configure --enable-cairo
|
||||
make
|
||||
|
||||
If you get this error:
|
||||
|
||||
[..]
|
||||
Linking cairo_test...
|
||||
/usr/bin/ld: cannot find -lpixman-1
|
||||
collect2: ld returned 1 exit status
|
||||
make[1]: *** [cairo_test] Error 1
|
||||
|
||||
..remove "-lpixman-1" from FLTK's makeinclude file, i.e. change this line:
|
||||
|
||||
-CAIROLIBS = -lcairo -lpixman-1
|
||||
+CAIROLIBS = -lcairo
|
||||
|
||||
..then another 'make' should finish the build without errors.
|
||||
You should be able to then run the test/cairo_test program.
|
||||
|
||||
According to the Cairo site, "For Debian and Debian derivatives including
|
||||
@ -166,12 +146,9 @@ on the various supported operating systems.
|
||||
as well.
|
||||
|
||||
As of Feb 2021 (FLTK 1.4.0) dependencies like pixman-1 will be detected by
|
||||
configure or CMake automatically using pkg-config.
|
||||
CMake automatically using pkg-config.
|
||||
|
||||
Note 1: CMake builds *require* the use of pkg-config.
|
||||
|
||||
Note 2: As of Feb 2021 autoconf/configure/make builds require pkg-config
|
||||
as well.
|
||||
Note: builds with Cairo and/or Wayland *require* pkg-config.
|
||||
|
||||
|
||||
3.2 Windows
|
||||
@ -181,11 +158,12 @@ on the various supported operating systems.
|
||||
|
||||
3.3 macOS
|
||||
----------
|
||||
As under Linux you can use both build options, i.e. autoconf/make or CMake
|
||||
to build FLTK with Cairo support. One option is to install Homebrew and
|
||||
add the required libraries with `brew install ...'. It is always required
|
||||
to install the "Xcode commandline tools" but a full installation of Xcode
|
||||
is not necessary. If you choose to use Xcode you can generate the Xcode
|
||||
As under Linux you can use CMake to build FLTK with Cairo support.
|
||||
|
||||
One option is to install Homebrew and add the required libraries with
|
||||
`brew install ...'. It is always required to install the "Xcode
|
||||
commandline tools" but a full installation of Xcode is not necessary.
|
||||
If you choose to use Xcode you can generate the Xcode
|
||||
IDE files with CMake.
|
||||
|
||||
The following instructions are intentionally terse. More detailed
|
||||
@ -200,16 +178,7 @@ on the various supported operating systems.
|
||||
|
||||
With these tools installed it is already possible to download and build
|
||||
a current FLTK tarball or snapshot. All you need to do is unpack the
|
||||
tarball and run `make' in the root directory. This will run `configure',
|
||||
generate the necessary files, and build FLTK in its standard configuration.
|
||||
|
||||
Note 1: this requires an existing `configure' file which is included in
|
||||
FLTK releases and snapshots but not in the FLTK Git repository.
|
||||
|
||||
Note 2: to build current FLTK downloaded from Git using configure + make
|
||||
you need to run `autoconf' to generate 'configure'. If autoconf is not
|
||||
available on your system you can download a FLTK snapshot, unpack it,
|
||||
and copy the 'configure' file from the snapshot to your Git worktree.
|
||||
tarball and cmake and make as described in README.CMake.txt.
|
||||
|
||||
|
||||
3.3.2 Install Homebrew for Cairo and other Library Support
|
||||
@ -232,9 +201,9 @@ on the various supported operating systems.
|
||||
other software (package) name to see if it can be installed. If yes, run
|
||||
`brew install cairo' (or other name) to install it.
|
||||
|
||||
Other helpful packages are 'autoconf' and other Unix (Linux) tools, for
|
||||
instance 'git-gui' (installs 'gitk' and 'git gui' commands). The Xcode
|
||||
commandline tools mentioned above install only the git commandline tool.
|
||||
Other helpful packages are some Unix (Linux) tools, for instance 'git-gui'
|
||||
(installs 'gitk' and 'git gui' commands). The Xcode commandline tools
|
||||
mentioned above install only the git commandline tool.
|
||||
|
||||
|
||||
3.3.3 Install CMake and Build with CMake
|
||||
|
||||
139
README.Unix.txt
139
README.Unix.txt
@ -17,16 +17,15 @@ README.Unix.txt - Building FLTK on Unix/Linux Systems
|
||||
2.7 HP-UX
|
||||
2.8 AIX
|
||||
|
||||
3 How to Build FLTK Using GCC
|
||||
3 How to Build FLTK on Unix or Unix-like Systems
|
||||
3.1 Downloading and Unpacking
|
||||
3.2 Configuration and Build Systems
|
||||
3.3 Configuring FLTK with autoconf and configure (deprecated)
|
||||
3.4 Building FLTK
|
||||
3.5 Testing FLTK
|
||||
3.6 Installing FLTK
|
||||
3.7 Creating new Projects
|
||||
3.3 Building FLTK in a Nutshell
|
||||
3.4 Testing FLTK
|
||||
3.5 Installing FLTK
|
||||
3.6 Creating Your Own Projects
|
||||
|
||||
4 Creating a new Project in Code::Blocks
|
||||
4 Creating a New Project in Code::Blocks
|
||||
|
||||
|
||||
[*] TODO: we still need to write these chapters
|
||||
@ -272,8 +271,8 @@ you want to do so.
|
||||
|
||||
|
||||
|
||||
3 How to Build FLTK Using GCC
|
||||
================================
|
||||
3 How to Build FLTK on Unix or Unix-like Systems
|
||||
===================================================
|
||||
|
||||
|
||||
3.1 Downloading and Unpacking
|
||||
@ -285,8 +284,8 @@ The FLTK source code and documentation can be downloaded from:
|
||||
|
||||
If you are familiar with "git" and like to stay current with your version,
|
||||
you will find the git access parameters at the bottom of that page.
|
||||
Unpack FLTK into a convenient location. I like to have everything in my
|
||||
dev directory. Change the following instructions to fit your preferences.
|
||||
Unpack FLTK into a convenient location, e.g. in your `dev` directory.
|
||||
Change the following instructions to fit your preferences.
|
||||
|
||||
cd
|
||||
mkdir dev
|
||||
@ -296,114 +295,62 @@ dev directory. Change the following instructions to fit your preferences.
|
||||
cd fltk-1.x.y
|
||||
|
||||
|
||||
3.2 Configuration and Build Systems
|
||||
--------------------------------------
|
||||
3.2 Configuration and Building
|
||||
---------------------------------
|
||||
|
||||
The following paragraphs describe the "classic" build system with autoconf,
|
||||
configure, and make that has been used to build FLTK up to version 1.3.x
|
||||
and can still be used with FLTK 1.4.x.
|
||||
|
||||
However, the FLTK team recommend to use CMake which is the preferred build
|
||||
system generator since FLTK 1.4 used for all platforms (including Windows).
|
||||
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..
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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: The "classic" build system with autoconf, configure, and Makefiles
|
||||
is no longer available.
|
||||
|
||||
Please see README.CMake.txt for how to build FLTK and your application
|
||||
programs using CMake. You can stop reading here if you do this.
|
||||
programs using CMake.
|
||||
|
||||
You can, of course, build FLTK with CMake and your own application(s)
|
||||
with your existing and well-known build system.
|
||||
|
||||
If you like the "classic" build system more, continue reading the
|
||||
following chapters but please be aware that configure support will
|
||||
be removed in FLTK 1.5.
|
||||
|
||||
3.3 Building FLTK in a Nutshell
|
||||
----------------------------------
|
||||
|
||||
Following are only basic commands, please see details in README.CMake.txt.
|
||||
|
||||
Building FLTK with all default parameters on your platform is easy.
|
||||
Stay in your FLTK source-code directory and type:
|
||||
|
||||
cmake . -B build -D [ CMAKE_BUILD_TYPE=Debug ... more options ]
|
||||
cmake --build build
|
||||
|
||||
The entire FLTK toolkit including many test programs will be built for you
|
||||
in the subdirectory `build`. No warnings should appear. If some do, please
|
||||
let the FLTK developer team know via the mailing list "fltk.general" or
|
||||
view the bug reporting guidelines at https://www.fltk.org/bugs.php .
|
||||
|
||||
|
||||
3.3 Configuring FLTK with autoconf and configure (deprecated)
|
||||
----------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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.
|
||||
-------------------------------------------------------------------
|
||||
|
||||
If you got FLTK via git then you need one extra step. Otherwise skip
|
||||
over this part. Stay in your FLTK source-code directory and type:
|
||||
|
||||
autoconf
|
||||
|
||||
or
|
||||
|
||||
make configure
|
||||
|
||||
Both commands create the configure script for you.
|
||||
|
||||
Now configure your FLTK installation:
|
||||
|
||||
./configure
|
||||
|
||||
Hint: Instead of executing `autoconf` and `configure` followed by `make`
|
||||
to build FLTK (see next section) you can also run `make` directly which
|
||||
will create and execute the 'configure' script with default parameters
|
||||
and build FLTK with the default configuration.
|
||||
|
||||
ADVANCED: type "./configure --help" to get a complete list of optional
|
||||
configuration parameters. These should be pretty self-explanatory. Some
|
||||
more details can be found in README.txt.
|
||||
:END_ADVANCED
|
||||
|
||||
The configuration script will check your machine for the required resources
|
||||
which you should have installed as described in the "Prerequisites" chapter.
|
||||
Review the "Configuration Summary", maybe take some notes.
|
||||
|
||||
|
||||
3.4 Building FLTK
|
||||
--------------------
|
||||
|
||||
Now this is easy. Stay in your FLTK source-code directory and type:
|
||||
|
||||
make
|
||||
|
||||
The entire FLTK toolkit including many test programs will be built for you. No
|
||||
warnings should appear. If some do, please let the FLTK developer team know via
|
||||
the mailing list "fltk.general" or view the bug reporting guidelines at
|
||||
https://www.fltk.org/bugs.php
|
||||
|
||||
|
||||
3.5 Testing FLTK
|
||||
3.4 Testing FLTK
|
||||
-------------------
|
||||
|
||||
After a successful build, you can test FLTK's capabilities:
|
||||
|
||||
cd build
|
||||
test/demo
|
||||
|
||||
|
||||
3.6 Installing FLTK
|
||||
3.5 Installing FLTK
|
||||
----------------------
|
||||
|
||||
If you did not change any of the configuration settings, FLTK will be installed
|
||||
in "/usr/local/include" and "/usr/local/lib" by typing
|
||||
|
||||
sudo make install
|
||||
sudo cmake --install .
|
||||
|
||||
If you are using the KDE, GNOME or XFCE desktop environments and want to call
|
||||
"fluid" from the desktop menu, you will need to install additional files and
|
||||
icons under "/usr/share" by typing:
|
||||
|
||||
sudo make install-desktop
|
||||
in your build folder. Note the trailing '.' .
|
||||
|
||||
It is possible to install FLTK without superuser privileges by changing the
|
||||
installation path to a location within the user account by adding the
|
||||
"--prefix=PREFIX" parameters to the "./configure" command.
|
||||
"-D CMAKE_INSTALL_PREFIX=<path>" parameters to the "cmake" command.
|
||||
|
||||
Note: installing FLTK is optional. You can build your own software by using
|
||||
the FLTK build tree directly. This is recommended if you link your application
|
||||
@ -415,8 +362,8 @@ shared FLTK libraries you may want to install FLTK, particularly on a production
|
||||
system.
|
||||
|
||||
|
||||
3.7 Creating new Projects
|
||||
----------------------------
|
||||
3.6 Creating Your Own Projects
|
||||
---------------------------------
|
||||
|
||||
FLTK provides a neat script named "fltk-config" that can provide all the flags
|
||||
needed to build FLTK applications using the same flags that were used to build
|
||||
@ -429,14 +376,16 @@ source file is:
|
||||
Since version 1.4.0 `fltk-config --compile` can also be used to build a program
|
||||
from multiple source files. See the official docs in chapter "FLTK Basics" and
|
||||
section "Compiling Multiple Source Files with 'fltk-config'":
|
||||
https://www.fltk.org/doc-1.4/basics.html#basics_fltk_config2
|
||||
https://www.fltk.org/doc-1.5/basics.html#basics_fltk_config2
|
||||
|
||||
"fltk-config" and "fluid" will be installed in "/usr/local/bin/" by default.
|
||||
We recommend that you add it to the command search path.
|
||||
|
||||
For larger projects than just a few source files we recommend to use CMake.
|
||||
Details can be found in README.CMake.txt.
|
||||
|
||||
|
||||
4 Creating a new Project in Code::Blocks
|
||||
4 Creating a New Project in Code::Blocks
|
||||
===========================================
|
||||
|
||||
Code::Blocks is a free and popular C++ IDE in the Linux world. It also runs on
|
||||
|
||||
Loading…
Reference in New Issue
Block a user