mirror of
https://github.com/Kitware/CMake.git
synced 2025-05-09 06:42:18 +08:00
FindFLTK, FindFLTK2: Update documentation
- Modules documentation updated and syced. - Added examples section. - Mentioned FLTK upstream package configuration file that is also taken into account when calling the find_package(FLTK). - Briefly mentioned the fltk_wrap_ui() command. - Added note for FindFLTK2 that it is for the obsolete 2.x branch that wasn't released and FindFLTK should be used instead. Issue: #15728
This commit is contained in:
parent
ca9fa874d8
commit
0a28689e5b
@ -5,82 +5,135 @@
|
|||||||
FindFLTK
|
FindFLTK
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Find the Fast Light Toolkit (FLTK) library
|
Finds the Fast Light Toolkit (FLTK), a cross-platform toolkit for GUI
|
||||||
|
development.
|
||||||
|
|
||||||
Input Variables
|
FLTK uses CMake-based build system and provides a package configuration file for
|
||||||
^^^^^^^^^^^^^^^
|
projects to find it. As of its 1.4.0 version it also provides
|
||||||
|
:ref:`Imported Targets` that encapsulate usage requirements. For example,
|
||||||
|
``fltk::fltk``, which can be linked to project targets where FLTK is needed.
|
||||||
|
This module takes that into account and first attempts to find FLTK in
|
||||||
|
*config mode*. If the configuration file is not available, it falls back to
|
||||||
|
*module mode* and searches standard locations. See also to the official FLTK
|
||||||
|
documentation for more information, how to use FLTK with CMake.
|
||||||
|
|
||||||
By default this module will search for all of the FLTK components and
|
.. versionadded:: 3.11
|
||||||
add them to the ``FLTK_LIBRARIES`` variable. You can limit the components
|
Debug and Release library variants are found separately and use
|
||||||
which get placed in ``FLTK_LIBRARIES`` by defining one or more of the
|
per-configuration variables.
|
||||||
following three options:
|
|
||||||
|
|
||||||
``FLTK_SKIP_OPENGL``
|
|
||||||
Set to true to disable searching for the FLTK GL library
|
|
||||||
|
|
||||||
``FLTK_SKIP_FORMS``
|
|
||||||
Set to true to disable searching for the FLTK Forms library
|
|
||||||
|
|
||||||
``FLTK_SKIP_IMAGES``
|
|
||||||
Set to true to disable searching for the FLTK Images library
|
|
||||||
|
|
||||||
FLTK is composed also by a binary tool. You can set the following option:
|
|
||||||
|
|
||||||
``FLTK_SKIP_FLUID``
|
|
||||||
Set to true to not look for the FLUID binary
|
|
||||||
|
|
||||||
Result Variables
|
Result Variables
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The following variables will be defined:
|
This module defines the following variables:
|
||||||
|
|
||||||
``FLTK_FOUND``
|
``FLTK_FOUND``
|
||||||
True if all components not skipped were found
|
Boolean indicating whether FLTK is found.
|
||||||
|
|
||||||
``FLTK_INCLUDE_DIR``
|
|
||||||
Path to the include directory for FLTK header files
|
|
||||||
|
|
||||||
``FLTK_LIBRARIES``
|
``FLTK_LIBRARIES``
|
||||||
List of the FLTK libraries found
|
Libraries needed to link against to use FLTK.
|
||||||
|
|
||||||
``FLTK_FLUID_EXECUTABLE``
|
|
||||||
Path to the FLUID binary tool
|
|
||||||
|
|
||||||
``FLTK_WRAP_UI``
|
``FLTK_WRAP_UI``
|
||||||
True if FLUID is found, used to enable the FLTK_WRAP_UI command
|
Boolean indicating whether the ``fluid`` executable is found. This variable
|
||||||
|
is available only if FLTK is found in *module mode* and can be used, for
|
||||||
|
example, to conditionally invoke the :command:`fltk_wrap_ui` command if it is
|
||||||
|
needed and available.
|
||||||
|
|
||||||
Cache Variables
|
Cache Variables
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The following cache variables are also available to set or use:
|
The following cache variables are also available to set or use:
|
||||||
|
|
||||||
|
``FLTK_FLUID_EXECUTABLE``
|
||||||
|
The path to the ``fluid`` binary tool.
|
||||||
|
|
||||||
|
``FLTK_INCLUDE_DIR``
|
||||||
|
The include directory containing header files needed to use FLTK.
|
||||||
|
|
||||||
``FLTK_BASE_LIBRARY_RELEASE``
|
``FLTK_BASE_LIBRARY_RELEASE``
|
||||||
The FLTK base library (optimized)
|
.. versionadded:: 3.11
|
||||||
|
|
||||||
|
The path to the release (optimized) FLTK base library.
|
||||||
|
|
||||||
``FLTK_BASE_LIBRARY_DEBUG``
|
``FLTK_BASE_LIBRARY_DEBUG``
|
||||||
The FLTK base library (debug)
|
.. versionadded:: 3.11
|
||||||
|
|
||||||
|
The path to the debug FLTK base library.
|
||||||
|
|
||||||
``FLTK_GL_LIBRARY_RELEASE``
|
``FLTK_GL_LIBRARY_RELEASE``
|
||||||
The FLTK GL library (optimized)
|
.. versionadded:: 3.11
|
||||||
|
|
||||||
|
The path to the release (optimized) FLTK GL library.
|
||||||
|
|
||||||
``FLTK_GL_LIBRARY_DEBUG``
|
``FLTK_GL_LIBRARY_DEBUG``
|
||||||
The FLTK GL library (debug)
|
.. versionadded:: 3.11
|
||||||
|
|
||||||
|
The path to the debug FLTK GL library.
|
||||||
|
|
||||||
``FLTK_FORMS_LIBRARY_RELEASE``
|
``FLTK_FORMS_LIBRARY_RELEASE``
|
||||||
The FLTK Forms library (optimized)
|
.. versionadded:: 3.11
|
||||||
|
|
||||||
|
The path to the release (optimized) FLTK Forms library.
|
||||||
|
|
||||||
``FLTK_FORMS_LIBRARY_DEBUG``
|
``FLTK_FORMS_LIBRARY_DEBUG``
|
||||||
The FLTK Forms library (debug)
|
.. versionadded:: 3.11
|
||||||
|
|
||||||
|
The path to the debug FLTK Forms library.
|
||||||
|
|
||||||
``FLTK_IMAGES_LIBRARY_RELEASE``
|
``FLTK_IMAGES_LIBRARY_RELEASE``
|
||||||
The FLTK Images protobuf library (optimized)
|
.. versionadded:: 3.11
|
||||||
|
|
||||||
|
The path to the release (optimized) FLTK Images protobuf library.
|
||||||
|
|
||||||
``FLTK_IMAGES_LIBRARY_DEBUG``
|
``FLTK_IMAGES_LIBRARY_DEBUG``
|
||||||
The FLTK Images library (debug)
|
.. versionadded:: 3.11
|
||||||
|
|
||||||
.. versionadded:: 3.11
|
The path to the debug FLTK Images library.
|
||||||
Debug and Release variants are found separately and use per-configuration
|
|
||||||
variables.
|
Input Variables
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
By default, this module searches for all FLTK libraries and its ``fluid``
|
||||||
|
executable. The following variables can be set before calling
|
||||||
|
``find_package(FLTK)`` to indicate which elements are optional for a successful
|
||||||
|
configuration:
|
||||||
|
|
||||||
|
``FLTK_SKIP_FLUID``
|
||||||
|
Set to boolean true to mark the ``fluid`` executable as optional.
|
||||||
|
|
||||||
|
``FLTK_SKIP_FORMS``
|
||||||
|
Set to boolean true to mark the FLTK Forms library as optional; it will
|
||||||
|
therefore not be included in the ``FLTK_LIBRARIES`` result variable.
|
||||||
|
|
||||||
|
``FLTK_SKIP_IMAGES``
|
||||||
|
Set to boolean true to mark the FLTK Image library as optional; it will
|
||||||
|
therefore not be included in the ``FLTK_LIBRARIES`` result variable.
|
||||||
|
|
||||||
|
``FLTK_SKIP_OPENGL``
|
||||||
|
Set to boolean true to mark the FLTK OpenGL library as optional; it will
|
||||||
|
therefore not be included in the ``FLTK_LIBRARIES`` result variable.
|
||||||
|
|
||||||
|
Examples
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
|
Finding FLTK and conditionally creating a ``fltk::fltk`` imported interface
|
||||||
|
target, if it is not provided by the upstream FLTK package. Imported target can
|
||||||
|
then be linked to a project target:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
find_package(FLTK)
|
||||||
|
|
||||||
|
if(FLTK_FOUND AND NOT TARGET fltk::fltk)
|
||||||
|
add_library(fltk::fltk INTERFACE IMPORTED)
|
||||||
|
set_target_properties(
|
||||||
|
fltk::fltk
|
||||||
|
PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${FLTK_INCLUDE_DIR}"
|
||||||
|
INTERFACE_LINK_LIBRARIES "${FLTK_LIBRARIES}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_link_libraries(project_target PRIVATE fltk::fltk)
|
||||||
#]=======================================================================]
|
#]=======================================================================]
|
||||||
|
|
||||||
if(NOT FLTK_SKIP_OPENGL)
|
if(NOT FLTK_SKIP_OPENGL)
|
||||||
|
@ -5,25 +5,66 @@
|
|||||||
FindFLTK2
|
FindFLTK2
|
||||||
---------
|
---------
|
||||||
|
|
||||||
Find the native FLTK 2.0 includes and library
|
.. note::
|
||||||
|
|
||||||
The following settings are defined
|
This module is specifically for FLTK version 2.x. The 2.0 series was
|
||||||
|
originally a development branch intended as the next major version of FLTK.
|
||||||
|
However, it never reached stable release status, and active development has
|
||||||
|
shifted back to the FLTK 1.x branch. For finding FLTK, including stable and
|
||||||
|
modern versions, use the :module:`FindFLTK` module instead.
|
||||||
|
|
||||||
::
|
Finds the Fast Light Toolkit (FLTK) version 2.x, a cross-platform toolkit for
|
||||||
|
GUI development.
|
||||||
|
|
||||||
FLTK2_FLUID_EXECUTABLE, where to find the Fluid tool
|
Result Variables
|
||||||
FLTK2_WRAP_UI, This enables the FLTK2_WRAP_UI command
|
^^^^^^^^^^^^^^^^
|
||||||
FLTK2_INCLUDE_DIR, where to find include files
|
|
||||||
FLTK2_LIBRARIES, list of fltk2 libraries
|
|
||||||
FLTK2_FOUND, Don't use FLTK2 if false.
|
|
||||||
|
|
||||||
The following settings should not be used in general.
|
This module defines the following variables:
|
||||||
|
|
||||||
::
|
``FLTK2_FOUND``
|
||||||
|
Boolean indicating whether FLTK 2.x is found.
|
||||||
|
|
||||||
FLTK2_BASE_LIBRARY = the full path to fltk2.lib
|
``FLTK2_LIBRARIES``
|
||||||
FLTK2_GL_LIBRARY = the full path to fltk2_gl.lib
|
Libraries needed to link against to use FLTK 2.x.
|
||||||
FLTK2_IMAGES_LIBRARY = the full path to fltk2_images.lib
|
|
||||||
|
``FLTK2_WRAP_UI``
|
||||||
|
Boolean indicating whether the ``fluid2`` executable is found. This variable
|
||||||
|
can be used, for example, to conditionally invoke the :command:`fltk_wrap_ui`
|
||||||
|
command if it is needed and available.
|
||||||
|
|
||||||
|
Cache Variables
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The following cache variables may also be set:
|
||||||
|
|
||||||
|
``FLTK2_FLUID_EXECUTABLE``
|
||||||
|
The path to the ``fluid2`` binary tool.
|
||||||
|
|
||||||
|
``FLTK2_INCLUDE_DIR``
|
||||||
|
The directory containing header files needed to use FLTK 2.x.
|
||||||
|
|
||||||
|
``FLTK2_BASE_LIBRARY``
|
||||||
|
The path to the FLTK 2.x library (``fltk2``).
|
||||||
|
|
||||||
|
``FLTK2_GL_LIBRARY``
|
||||||
|
The path to the FLTK 2.x OpenGL compatibility library (``fltk2_gl``).
|
||||||
|
|
||||||
|
``FLTK2_IMAGES_LIBRARY``
|
||||||
|
The path to the FLTK 2.x Images library (``fltk2_images``).
|
||||||
|
|
||||||
|
Examples
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
|
Finding FLTK version 2:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
find_package(FLTK2)
|
||||||
|
|
||||||
|
See Also
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
|
* The :module:`FindFLTK` module to find FLTK in a version-agnostic way.
|
||||||
#]=======================================================================]
|
#]=======================================================================]
|
||||||
|
|
||||||
set (FLTK2_DIR $ENV{FLTK2_DIR} )
|
set (FLTK2_DIR $ENV{FLTK2_DIR} )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user