Update CHANGES, README, README.CMake.txt, support files
... and documentation - makesrcdist: - reflect changes in fltk.spec.in - create fltk_git_revision.dat in source distribution
This commit is contained in:
parent
cc91cfaac6
commit
59dbcd5621
29
CHANGES
29
CHANGES
@ -1,8 +1,13 @@
|
||||
CHANGES IN FLTK 1.3.9 RELEASED: Dec ?? 2023
|
||||
CHANGES IN FLTK 1.3.9 RELEASED: Dec 09 2023
|
||||
|
||||
FLTK 1.3.9 is a maintenance release with some fixes and enhancements.
|
||||
|
||||
Highlights: this release supports macOS up to macOS 14 "Sonoma".
|
||||
Highlights in this release:
|
||||
|
||||
- Support macOS up to macOS 14 "Sonoma".
|
||||
- Update bundled libraries to current versions.
|
||||
- Introduce bundled image library "prefixing" to avoid conflicts
|
||||
with system libraries.
|
||||
|
||||
Details:
|
||||
|
||||
@ -18,17 +23,21 @@ Details:
|
||||
Remove unused variable, fix "type issue" (#445, part 2)
|
||||
Fix stack buffer overflow found by address sanitizer
|
||||
Fix "gtk+ rendering" (GitHub Issue #443)
|
||||
Fix doxygen warnings
|
||||
Bump version numbers, prepare release 1.3.9
|
||||
Fix several compiler warnings
|
||||
Update bundled image libraries and zlib to current versions
|
||||
Update README, README.CMake.txt, and some support files
|
||||
|
||||
ManoloFLTK:
|
||||
macOS platform: fix for issue #325 Disabling IM disables Greek and Cyrillic layouts
|
||||
Fix fullscreen window level corner cases on macOS - cont'd
|
||||
Fix for issue #373 apparent with macOS platform and SDK ≤ 10.13
|
||||
Fix for issue #452: Fl::get_font_name failure on OS-X.
|
||||
Fix for issue #454: crash in Fl::get_font_name().
|
||||
Issue #469: Fl_Sys_Menu_Bar menu item shortcuts using Escape or Tab do not work on Mac
|
||||
Add support of macOS Ventura 13.0 and macOS Sonoma 14.0
|
||||
macOS platform: Issue #325 "Disabling IM disables Greek and Cyrillic layouts"
|
||||
Fix fullscreen window level corner cases on macOS
|
||||
Fix issue #373 apparent with macOS platform and SDK ≤ 10.13
|
||||
Issue #452: Fl::get_font_name failure on OS-X.
|
||||
Issue #454: crash in Fl::get_font_name().
|
||||
Issue #469: Fl_Sys_Menu_Bar menu item shortcuts using Escape or Tab don't work on Mac
|
||||
Fix "Focus is lost leaving full screen on macOS 13" (#608)
|
||||
Add support for macOS Sonoma 14
|
||||
Add support of macOS Ventura 13.0 and macOS Sonoma 14.0
|
||||
|
||||
YX:
|
||||
Fix IME problem (issue #270)
|
||||
|
12
README
12
README
@ -3,12 +3,12 @@ README - Fast Light Tool Kit (FLTK) Version 1.3.9
|
||||
|
||||
WHAT IS FLTK?
|
||||
|
||||
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a
|
||||
a cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11),
|
||||
Microsoft(r) Windows(r), and MacOS(r) X. 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
|
||||
The Fast Light Tool Kit ("FLTK") is a cross-platform C++ GUI
|
||||
toolkit for UNIX(r)/Linux(r) (X11), Microsoft(r) Windows(r),
|
||||
and macOS(r). FLTK provides modern GUI functionality without
|
||||
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.
|
||||
|
||||
|
221
README.CMake.txt
221
README.CMake.txt
@ -16,11 +16,13 @@ README.CMake.txt - Building and using FLTK with CMake
|
||||
2.7 Crosscompiling
|
||||
3 Using CMake with FLTK
|
||||
3.1 Library Names
|
||||
3.2 Using Fluid Files
|
||||
3.2 Building a Simple "Hello World" Program with FLTK
|
||||
3.3 Building a Program Using Fluid Files
|
||||
3.4 Building a Program Using CMake's FetchContent Module
|
||||
4 Document History
|
||||
|
||||
|
||||
1. INTRODUCTION TO CMAKE
|
||||
1. Introduction to CMake
|
||||
===========================
|
||||
|
||||
CMake was designed to let you create build files for a project once and
|
||||
@ -92,6 +94,12 @@ CMAKE_INSTALL_PREFIX
|
||||
Where everything will go on install. Defaults are /usr/local for Unix
|
||||
and C:\Program Files\FLTK for Windows.
|
||||
|
||||
CMAKE_OSX_ARCHITECTURES (macOS only, ignored on other platforms)
|
||||
Set this to either "arm64", "x86_64", or a list of both "arm64;x86_64".
|
||||
The latter will build "universal apps" on macOS, whereas the former
|
||||
will either build Intel (x86_64) or Apple Silicon aka M1 (arm64) apps.
|
||||
The default is to build for the host processor architecture.
|
||||
|
||||
The following are the FLTK specific options. Platform specific options
|
||||
are ignored on other platforms.
|
||||
|
||||
@ -119,8 +127,14 @@ FLTK_BUILD_TEST - default ON
|
||||
FLTK_BUILD_EXAMPLES - default OFF
|
||||
Builds the example programs in the 'examples' directory.
|
||||
|
||||
FLTK_MSVC_RUNTIME_DLL - default ON (only for Visual Studio and NMake).
|
||||
Selects whether the build uses the MS runtime DLL or not.
|
||||
Default is ON: either /MD or /MDd for Release or Debug, respectively.
|
||||
Select OFF for either /MT or /MTd for Release or Debug, respectively.
|
||||
|
||||
OPTION_CAIRO - default OFF
|
||||
Enables libcairo support - see README.Cairo.txt.
|
||||
Enables support of class Fl_Cairo_Window (all platforms, requires the
|
||||
Cairo library) - see README.Cairo.txt.
|
||||
|
||||
OPTION_CAIROEXT - default OFF
|
||||
Enables extended libcairo support - see README.Cairo.txt.
|
||||
@ -134,9 +148,9 @@ OPTION_USE_THREADS - default ON
|
||||
OPTION_LARGE_FILE - default ON
|
||||
Enables large file (>2G) support.
|
||||
|
||||
OPTION_USE_SYSTEM_LIBJPEG - default ON
|
||||
OPTION_USE_SYSTEM_ZLIB - default ON
|
||||
OPTION_USE_SYSTEM_LIBPNG - default ON
|
||||
OPTION_USE_SYSTEM_LIBJPEG - default ON (macOS: OFF)
|
||||
OPTION_USE_SYSTEM_LIBPNG - default ON (macOS: OFF)
|
||||
OPTION_USE_SYSTEM_ZLIB - default ON
|
||||
FLTK has built in jpeg, zlib, and png libraries. These options let you
|
||||
use system libraries instead, unless CMake can't find them. If you set
|
||||
any of these options to OFF, then the built in library will be used.
|
||||
@ -165,12 +179,15 @@ Documentation options: these options are only available if `doxygen' is
|
||||
OPTION_BUILD_HTML_DOCUMENTATION - default ON
|
||||
OPTION_BUILD_PDF_DOCUMENTATION - default ON
|
||||
These options can be used to switch HTML documentation generation with
|
||||
doxygen on. The build targets ('html', 'pdf', or 'docs') need still to
|
||||
be executed explicitly.
|
||||
doxygen on. If these are ON the build targets 'html', 'pdf', and 'docs'
|
||||
are generated but must be built explicitly. Technically the build targets
|
||||
are generated but excluded from 'ALL'. You can safely leave these two
|
||||
options ON if you want to save build time because the docs are not
|
||||
built automatically.
|
||||
|
||||
OPTION_INSTALL_HTML_DOCUMENTATION - default OFF
|
||||
OPTION_INSTALL_PDF_DOCUMENTATION - default OFF
|
||||
If these options are ON then the HTML and/or PDF docs get installed
|
||||
If these options are ON then the HTML and/or PDF docs are installed
|
||||
when the 'install' target is executed, e.g. with `make install'. You
|
||||
need to select above options OPTION_BUILD_*_DOCUMENTATION as well.
|
||||
|
||||
@ -425,53 +442,75 @@ fltk-config. For example, if you link your program to the FLTK
|
||||
library, it will automatically link in all of its dependencies. This
|
||||
includes any special flags, i.e. on Linux it includes the -lpthread flag.
|
||||
|
||||
This howto assumes that you have FLTK libraries which were built using
|
||||
CMake, installed. Building them with CMake generates some CMake helper
|
||||
files which are installed in standard locations, making FLTK easy to find
|
||||
and use.
|
||||
This howto assumes that you have FLTK libraries which were built using CMake,
|
||||
installed. Building them with CMake generates some CMake helper files which
|
||||
are installed in standard locations, making FLTK easy to find and use.
|
||||
|
||||
In the following examples we set the CMake cache variable 'FLTK_DIR' so
|
||||
CMake knows where to find the FLTK configuration file 'FLTKConfig.cmake'.
|
||||
It is important (recommended practice) to set this as a CMake cache variable
|
||||
which enables the user executing 'cmake' to override this path either on the
|
||||
commandline or interactively using the CMake GUI 'cmake-gui' or 'ccmake' on
|
||||
Unix/Linux, for instance like this:
|
||||
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake -G "Unix Makefiles" -S.. -D "FLTK_DIR=/home/me/fltk"
|
||||
|
||||
|
||||
3.1 Library Names
|
||||
--------------------
|
||||
|
||||
When you use the target_link_libraries() command, CMake uses its own internal
|
||||
"target names" for libraries. The fltk library names are:
|
||||
|
||||
fltk fltk_forms fltk_images fltk_gl
|
||||
|
||||
and for the shared libraries (if built):
|
||||
|
||||
fltk_SHARED fltk_forms_SHARED fltk_images_SHARED fltk_gl_SHARED
|
||||
|
||||
The built-in libraries (if built):
|
||||
|
||||
fltk_jpeg fltk_png fltk_z
|
||||
|
||||
|
||||
3.2 Building a Simple "Hello World" Program with FLTK
|
||||
--------------------------------------------------------
|
||||
|
||||
Here is a basic CMakeLists.txt file using FLTK.
|
||||
|
||||
------
|
||||
|
||||
cmake_minimum_required(VERSION 3.2.3)
|
||||
---
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
project(hello)
|
||||
|
||||
# The following line is required only if (a) you didn't install FLTK
|
||||
# or if (b) find_package can't find your installation directory because
|
||||
# you installed FLTK in a non-standard location. It points to
|
||||
# (a) the base folder of the build directory, or
|
||||
# (b) <fltk-install-prefix>/share/fltk
|
||||
# resp., where <fltk-install-prefix> is the installation prefix you
|
||||
# used to install FLTK.
|
||||
# (The file FLTKConfig.cmake and others must be found in that path.)
|
||||
set(FLTK_DIR "/path/to/fltk"
|
||||
CACHE FILEPATH "FLTK installation or build directory")
|
||||
|
||||
set(FLTK_DIR /path/to/fltk)
|
||||
|
||||
find_package(FLTK REQUIRED NO_MODULE)
|
||||
find_package(FLTK REQUIRED CONFIG)
|
||||
|
||||
add_executable(hello WIN32 MACOSX_BUNDLE hello.cxx)
|
||||
if (APPLE)
|
||||
target_link_libraries(hello "-framework cocoa")
|
||||
target_link_libraries (hello PRIVATE "-framework cocoa")
|
||||
endif (APPLE)
|
||||
|
||||
target_include_directories(hello PUBLIC ${FLTK_INCLUDE_DIRS})
|
||||
target_include_directories (hello PRIVATE ${FLTK_INCLUDE_DIRS})
|
||||
|
||||
target_link_libraries(hello fltk)
|
||||
|
||||
------
|
||||
target_link_libraries (hello PRIVATE fltk)
|
||||
---
|
||||
|
||||
The set(FLTK_DIR ...) command is a superhint to the find_package command.
|
||||
This is very useful if you don't install or have a non-standard install.
|
||||
The find_package command tells CMake to find the package FLTK, REQUIRED
|
||||
means that it is an error if it's not found. NO_MODULE tells it to search
|
||||
means that it is an error if it's not found. CONFIG tells it to search
|
||||
only for the FLTKConfig file, not using the FindFLTK.cmake supplied with
|
||||
CMake, which doesn't work with this version of FLTK.
|
||||
|
||||
The "WIN32 MACOSX_BUNDLE" in the add_executable tells this is
|
||||
a GUI app. It is ignored on other platforms and should always be
|
||||
present with FLTK GUI programs for better portability.
|
||||
The "WIN32 MACOSX_BUNDLE" in the add_executable tells this is a GUI app.
|
||||
It is ignored on other platforms and should always be present with FLTK
|
||||
GUI programs for better portability - unless you explicitly need to build
|
||||
a "console program", e.g. on Windows.
|
||||
|
||||
Once the package is found the CMake variable FLTK_INCLUDE_DIRS is defined
|
||||
which can be used to add the FLTK include directories to the definitions
|
||||
@ -481,61 +520,48 @@ The target_link_libraries() command is used to specify all necessary FLTK
|
||||
libraries. Thus, you may have to add fltk_images, fltk_gl, etc…
|
||||
|
||||
Note: the variable FLTK_USE_FILE used to include another file in
|
||||
previous FLTK versions was deprecated since FLTK 1.3.4 and will be
|
||||
removed in FLTK 1.4.0 or a later version.
|
||||
previous FLTK versions was deprecated since FLTK 1.3.4 and has been
|
||||
removed in FLTK 1.4.0.
|
||||
|
||||
|
||||
3.1 Library Names
|
||||
--------------------
|
||||
|
||||
When you use the target_link_libraries command, CMake uses its own
|
||||
internal names for libraries. The fltk library names are:
|
||||
|
||||
fltk fltk_forms fltk_images fltk_gl
|
||||
|
||||
and for the shared libraries (if built):
|
||||
|
||||
fltk_SHARED fltk_forms_SHARED fltk_images_SHARED fltk_gl_SHARED
|
||||
|
||||
The built-in libraries (if built):
|
||||
|
||||
fltk_jpeg fltk_png fltk_z
|
||||
|
||||
|
||||
3.2 Using Fluid Files
|
||||
------------------------
|
||||
3.3 Building a Program Using Fluid Files
|
||||
-------------------------------------------
|
||||
|
||||
CMake has a command named fltk_wrap_ui which helps deal with fluid *.fl
|
||||
files. Unfortunately it is broken in CMake 3.4.x. You can however use
|
||||
add_custom_command to achieve the same result.
|
||||
files. Unfortunately it is broken in CMake 3.4.x but it seems to work in
|
||||
3.5 and later CMake versions. We recommend to use add_custom_command()
|
||||
to achieve the same result in a more explicit and well-defined way.
|
||||
This is a more basic approach and should work for all CMake versions.
|
||||
|
||||
Here is a sample CMakeLists.txt which compiles the CubeView example from
|
||||
a directory you've copied the test/Cube* files to.
|
||||
|
||||
---
|
||||
cmake_minimum_required(VERSION 2.6.3)
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
project(CubeView)
|
||||
|
||||
# change this to your fltk build directory
|
||||
set(FLTK_DIR /home/msurette/build/fltk-release/)
|
||||
set(FLTK_DIR "/path/to/fltk"
|
||||
CACHE FILEPATH "FLTK installation or build directory")
|
||||
|
||||
find_package(FLTK REQUIRED NO_MODULE)
|
||||
include_directories(${FLTK_INCLUDE_DIRS})
|
||||
find_package(FLTK REQUIRED CONFIG)
|
||||
|
||||
#run fluid -c to generate CubeViewUI.cxx and CubeViewUI.h files
|
||||
# run fluid -c to generate CubeViewUI.cxx and CubeViewUI.h files
|
||||
add_custom_command(
|
||||
OUTPUT "CubeViewUI.cxx" "CubeViewUI.h"
|
||||
COMMAND fluid -c ${CMAKE_CURRENT_SOURCE_DIR}/CubeViewUI.fl
|
||||
OUTPUT "CubeViewUI.cxx" "CubeViewUI.h"
|
||||
COMMAND fluid -c ${CMAKE_CURRENT_SOURCE_DIR}/CubeViewUI.fl
|
||||
)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
add_executable(CubeView WIN32 MACOSX_BUNDLE
|
||||
CubeMain.cxx CubeView.cxx CubeViewUI.cxx)
|
||||
|
||||
add_executable(CubeView WIN32 CubeMain.cxx CubeView.cxx CubeViewUI.cxx)
|
||||
target_include_directories (CubeView PRIVATE ${FLTK_INCLUDE_DIRS})
|
||||
|
||||
target_link_libraries(CubeView fltk fltk_gl)
|
||||
target_include_directories (CubeView PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
target_include_directories (CubeView PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
target_link_libraries (CubeView PRIVATE fltk fltk_gl)
|
||||
---
|
||||
|
||||
You can repeat the add_custom_command for each fluid file or if you
|
||||
@ -544,8 +570,8 @@ FLTK_RUN_FLUID for an example of how to run it in a loop.
|
||||
|
||||
The two lines
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories (CubeView PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
target_include_directories (CubeView PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
add the current build ("binary") and source directories as include directories.
|
||||
This is necessary for the compiler to find the local header files since the
|
||||
@ -553,14 +579,55 @@ fluid-generated files (CubeViewUI.cxx and CubeViewUI.h) are created in the
|
||||
current build directory.
|
||||
|
||||
|
||||
DOCUMENT HISTORY
|
||||
==================
|
||||
3.4 Building a Program Using CMake's FetchContent Module
|
||||
-----------------------------------------------------------
|
||||
|
||||
Dec 20 2010 - matt: merged and restructures
|
||||
FLTK can be downloaded and built within a user project using CMake's
|
||||
FetchContent module. A sample CMakeLists.txt file follows.
|
||||
|
||||
You may need to adjust it to your configuration.
|
||||
|
||||
---
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(hello)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
set(FLTK_BUILD_TEST OFF CACHE BOOL "" FORCE)
|
||||
|
||||
FetchContent_Declare(FLTK
|
||||
GIT_REPOSITORY https://github.com/fltk/fltk
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
FetchContent_MakeAvailable(FLTK)
|
||||
|
||||
add_executable(hello WIN32 MACOSX_BUNDLE hello.cxx)
|
||||
|
||||
target_include_directories(hello PRIVATE ${fltk_BINARY_DIR} ${fltk_SOURCE_DIR})
|
||||
|
||||
# link as required: fltk fltk_gl fltk_images fltk_png fltk_jpeg fltk_z
|
||||
target_link_libraries(hello PRIVATE fltk)
|
||||
|
||||
if(APPLE)
|
||||
target_link_libraries(hello PRIVATE "-framework Cocoa") # needed for Darwin
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
target_link_libraries(hello PRIVATE gdiplus)
|
||||
endif()
|
||||
---
|
||||
|
||||
|
||||
4 Document History
|
||||
---------------------
|
||||
|
||||
Dec 20 2010 - matt: merged and restructured
|
||||
May 15 2013 - erco: small formatting tweaks, added some examples
|
||||
Feb 23 2014 - msurette: updated to reflect changes to the CMake files
|
||||
Apr 07 2015 - AlbrechtS: update use example and more docs
|
||||
Jan 31 2016 - msurette: custom command instead of fltk_wrap_ui
|
||||
Nov 01 2016 - AlbrechtS: remove deprecated FLTK_USE_FILE, add MinGW build
|
||||
Jul 05 2017 - matt: added instructions for MacOS and Xcode
|
||||
Nov 01 2016 - AlbrechtS: add MinGW build
|
||||
Jul 05 2017 - matt: added instructions for macOS and Xcode
|
||||
Dec 29 2018 - AlbrechtS: add documentation option descriptions
|
||||
Apr 29 2021 - AlbrechtS: document macOS "universal apps" build setup
|
||||
Nov 01 2023 - AlbrechtS: improve build instructions for user programs
|
||||
|
@ -3,14 +3,16 @@
|
||||
fltk \- the fast light tool kit
|
||||
.sp
|
||||
.SH SYNOPSIS
|
||||
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a
|
||||
C++ graphical user interface toolkit for the X Window
|
||||
System, MacOS(r), and Microsoft Windows(r) that supports OpenGL(r).
|
||||
The Fast Light Tool Kit ("FLTK") is a cross-platform C++ GUI toolkit
|
||||
for UNIX(r)/Linux(r) (X11 and Wayland), Microsoft(r) Windows(r),
|
||||
and macOS(r). FLTK provides modern GUI functionality without
|
||||
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.
|
||||
a central repository on GitHub.
|
||||
.LP
|
||||
FLTK is provides under the terms of the GNU Library General Public License,
|
||||
FLTK is provided under the terms of the GNU Library General Public License,
|
||||
with the following exceptions:
|
||||
.IP
|
||||
1. Modifications to the FLTK configure script, config header
|
||||
@ -21,7 +23,7 @@ The authors do request that such modifications be
|
||||
contributed to the FLTK project - send all contributions
|
||||
through the "Software Trouble Report" on the following page:
|
||||
.IP
|
||||
http://www.fltk.org/str.php
|
||||
https://www.fltk.org/bugs.php
|
||||
.IP
|
||||
2. Widgets that are subclassed from FLTK widgets do not
|
||||
constitute a derivative work.
|
||||
@ -29,8 +31,8 @@ constitute a derivative work.
|
||||
3. Static linking of applications and widgets to the FLTK
|
||||
library does not constitute a derivative work and does not
|
||||
require the author to provide source code for the application or
|
||||
widget, use the shared FLTK libraries, or link their
|
||||
applications or widgets against a user-supplied version of FLTK.
|
||||
widget, use the shared FLTK libraries, or link their applications
|
||||
or widgets against a user-supplied version of FLTK.
|
||||
.IP
|
||||
If you link the application or widget to a modified version of
|
||||
FLTK, then the changes to FLTK must be provided under the terms
|
||||
@ -46,12 +48,12 @@ following example statement can be included in user
|
||||
documentation to satisfy this requirement:
|
||||
.IP
|
||||
[program/widget] is based in part on the work of the FLTK
|
||||
project (http://www.fltk.org).
|
||||
project (https://www.fltk.org).
|
||||
.SH SEE ALSO
|
||||
fltk\-config(1), fluid(1)
|
||||
.br
|
||||
FLTK Programming Manual
|
||||
.br
|
||||
FLTK Web Site, http://www.fltk.org/
|
||||
FLTK Web Site, https://www.fltk.org/
|
||||
.SH AUTHORS
|
||||
Bill Spitzak and others.
|
||||
|
@ -2,14 +2,13 @@
|
||||
|
||||
\page intro Introduction to FLTK
|
||||
|
||||
The Fast Light Tool Kit ("FLTK", pronounced
|
||||
"fulltick") is a cross-platform C++ GUI toolkit for
|
||||
UNIX®/Linux® (X11), Microsoft® Windows®, and
|
||||
Apple® OS X®. FLTK provides modern GUI functionality without the
|
||||
The Fast Light Tool Kit ("FLTK") is a cross-platform C++ GUI toolkit
|
||||
for UNIX®/Linux® (X11), Microsoft® Windows®, and
|
||||
Apple® 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 in the US.
|
||||
across the world with a central repository on GitHub.
|
||||
|
||||
\section intro_history History of FLTK
|
||||
|
||||
|
12
fltk.list.in
12
fltk.list.in
@ -21,12 +21,12 @@
|
||||
%vendor FLTK Development Team
|
||||
%license COPYING
|
||||
%readme README
|
||||
%version @FLTK_VERSION_MAJOR@.@FLTK_VERSION_MINOR@.@FLTK_VERSION_PATCH@
|
||||
%description The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a
|
||||
%description cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11),
|
||||
%description Microsoft(r) Windows(r), and MacOS(r) X. FLTK provides modern
|
||||
%description GUI functionality without the bloat and supports 3D graphics via
|
||||
%description OpenGL(r) and its built-in GLUT emulation.
|
||||
%version @FLTK_VERSION@
|
||||
%description The Fast Light Tool Kit ("FLTK") is a cross-platform C++ GUI
|
||||
%description toolkit for UNIX(r)/Linux(r) (X11), Microsoft(r) Windows(r),
|
||||
%description and macOS(r). FLTK provides modern GUI functionality without
|
||||
%description bloat and supports 3D graphics via OpenGL(r) and its built-in
|
||||
%description GLUT emulation.
|
||||
|
||||
$prefix=@prefix@
|
||||
$exec_prefix=@exec_prefix@
|
||||
|
14
fltk.spec.in
14
fltk.spec.in
@ -14,7 +14,7 @@
|
||||
# https://www.fltk.org/bugs.php
|
||||
#
|
||||
|
||||
%define version @FLTK_VERSION_MAJOR@.@FLTK_VERSION_MINOR@.@FLTK_VERSION_PATCH@
|
||||
%define version @FLTK_VERSION@
|
||||
%define release 1
|
||||
%define prefix /usr
|
||||
|
||||
@ -24,18 +24,18 @@ Version: %{version}
|
||||
Release: %{release}
|
||||
License: LGPL
|
||||
Group: System Environment/Libraries
|
||||
Source: ftp://ftp.fltk.org/pub/fltk/%{version}/fltk-%{version}-source.tar.gz
|
||||
Source: https://www.fltk.org/pub/fltk/%{version}/fltk-%{version}-source.tar.gz
|
||||
URL: https://www.fltk.org/
|
||||
Packager: FLTK Developer <fltk@fltk.org>
|
||||
# use BuildRoot so as not to disturb the version already installed
|
||||
BuildRoot: /var/tmp/fltk-%{PACKAGE_VERSION}
|
||||
|
||||
%description
|
||||
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a
|
||||
cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11),
|
||||
Microsoft(r) Windows(r), and MacOS(r) X. FLTK provides modern
|
||||
GUI functionality without the bloat and supports 3D graphics via
|
||||
OpenGL(r) and its built-in GLUT emulation.
|
||||
The Fast Light Tool Kit ("FLTK") is a cross-platform C++ GUI
|
||||
toolkit for UNIX(r)/Linux(r) (X11), Microsoft(r) Windows(r),
|
||||
and macOS(r). FLTK provides modern GUI functionality without
|
||||
bloat and supports 3D graphics via OpenGL(r) and its built-in
|
||||
GLUT emulation.
|
||||
|
||||
%package devel
|
||||
Summary: FLTK Development Environment
|
||||
|
25
makesrcdist
25
makesrcdist
@ -58,14 +58,15 @@ DATE="`date +'%Y%m%d'`"
|
||||
|
||||
fltk_version="`cat fltk_version.dat`"
|
||||
VS="`echo $fltk_version | cut -f 1-2 -d '.'`"
|
||||
git_rev="`git rev-parse --short=10 HEAD`"
|
||||
git_rev_full="`git rev-parse HEAD`"
|
||||
|
||||
echo "Getting distribution..."
|
||||
|
||||
if test $# = 0 -o "x$1" = "xsnapshot"; then
|
||||
echo Getting snapshot revision...
|
||||
rev="`git rev-parse --short=8 HEAD`"
|
||||
version="${VS}-${rev}"
|
||||
fileversion="${VS}.x-${DATE}-$rev"
|
||||
version="${VS}-${git_rev}"
|
||||
fileversion="${VS}.x-${DATE}-${git_rev}"
|
||||
fileurl="$SNAPSHOT/fltk-$fileversion.tar.gz"
|
||||
else
|
||||
if test ! -e "documentation/html/"; then
|
||||
@ -82,7 +83,6 @@ else
|
||||
echo " cd documentation; make dist"
|
||||
exit
|
||||
fi
|
||||
rev="1"
|
||||
version=$1
|
||||
fileversion=$1
|
||||
fileurl="$DOWNLOAD/$version/fltk-$fileversion-source.tar.gz"
|
||||
@ -94,10 +94,15 @@ else
|
||||
fi
|
||||
|
||||
# Debug:
|
||||
# echo "----------------------------------------------"
|
||||
# echo "cmdline-arg1 = '$1'"
|
||||
# echo "fltk_version = $fltk_version"
|
||||
# echo "version = $version"
|
||||
# echo "fileversion = $fileversion"
|
||||
# echo "fileurl = $fileurl"
|
||||
# echo "git_rev = $git_rev"
|
||||
# echo "git_rev_full = $git_rev_full"
|
||||
# echo "----------------------------------------------"
|
||||
|
||||
echo Exporting $fltk_version to /tmp/fltk-$version/...
|
||||
rm -rf /tmp/fltk-$version
|
||||
@ -113,14 +118,13 @@ fi
|
||||
echo Applying version number...
|
||||
cd /tmp/fltk-$version
|
||||
|
||||
sed -e '1,$s/@VERSION@/'$version'/' \
|
||||
-e '1,$s/@RELEASE@/'$rev'/' \
|
||||
-e '1,$s#^Source:.*#Source: '$fileurl'#' \
|
||||
<fltk.spec.in >fltk.spec
|
||||
sed -e '1,$s/@FLTK_VERSION@/'$version'/' \
|
||||
< fltk.spec.in > fltk.spec
|
||||
|
||||
echo Creating configure script...
|
||||
autoconf -f
|
||||
|
||||
# FLTK 1.3.x only:
|
||||
echo Creating config.guess and config.sub \(ignore any other errors\)...
|
||||
automake --add-missing --copy 2>/dev/null
|
||||
|
||||
@ -141,6 +145,11 @@ echo "Removing documentation..."
|
||||
rm -rf fltk-$version/documentation/html/
|
||||
rm -f fltk-$version/documentation/fltk.pdf
|
||||
|
||||
echo Creating fltk_git_revision.dat in $PWD/fltk-$version/ ...
|
||||
echo "$git_rev_full" > fltk-$version/fltk_git_revision.dat
|
||||
cat $PWD/fltk-$version/fltk_git_revision.dat
|
||||
echo ""
|
||||
|
||||
echo "Making UNIX (.tar.gz) distribution..."
|
||||
$TAR czf fltk-$fileversion-source.tar.gz fltk-$version
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user