Files
CMake/Modules/FindAVIFile.cmake
Peter Kokot 0fedf1592c Find*: Update *_FOUND variables
This marks all `<PACKAGENAME>_FOUND` result variables as deprecated
where possible (for `<PackageName>` find modules) to make it clearer
which variable to use.

In CMake 3.3, the FindPackageHandleStandardArgs module was refactored to
set both `<PackageName>_FOUND` and uppercase `<PACKAGENAME>_FOUND`
result variables to the same values. Before that, the FOUND_VAR argument
could be used to set the result variable.

* FindMatlab: Uppercased MATLAB_FOUND is not mentioned as it was never
  documented.
* Documentation for FindPythonInterp and FindPythonLibs modules synced
  accordingly to their deprecation (3.12 instead of 4.2).
* OPENGL_FOUND: deprecation version synced with other find modules.
* DevIL_FOUND was introduced in CMake 3.8. The uppercased variant not
  mentioned as it was previously never documented.

Fixes: #27242
2025-09-23 21:40:58 +02:00

97 lines
2.5 KiB
CMake

# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file LICENSE.rst or https://cmake.org/licensing for details.
#[=======================================================================[.rst:
FindAVIFile
-----------
Finds `AVIFile <https://avifile.sourceforge.net/>`_ library and include paths:
.. code-block:: cmake
find_package(AVIFile [...])
AVIFile is a set of libraries for i386 machines to use various AVI codecs.
Support is limited beyond Linux. Windows provides native AVI support, and so
doesn't need this library.
Result Variables
^^^^^^^^^^^^^^^^
This module defines the following variables:
``AVIFile_FOUND``
.. versionadded:: 3.3
Boolean indicating whether AVIFile was found.
``AVIFILE_LIBRARIES``
The libraries to link against.
``AVIFILE_DEFINITIONS``
Definitions to use when compiling.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``AVIFILE_INCLUDE_DIR``
Directory containing ``avifile.h`` and other AVIFile headers.
Deprecated Variables
^^^^^^^^^^^^^^^^^^^^
The following variables are provided for backward compatibility:
``AVIFILE_FOUND``
.. deprecated:: 4.2
Use ``AVIFile_FOUND``, which has the same value.
Boolean indicating whether AVIFile was found.
Examples
^^^^^^^^
Finding AVIFile and conditionally creating an interface :ref:`Imported Target
<Imported Targets>` that encapsulates its usage requirements for linking to a
project target:
.. code-block:: cmake
find_package(AVIFile)
if(AVIFile_FOUND AND NOT TARGET AVIFile::AVIFile)
add_library(AVIFile::AVIFile INTERFACE IMPORTED)
set_target_properties(
AVIFile::AVIFile
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${AVIFILE_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${AVIFILE_LIBRARIES}"
INTERFACE_COMPILE_DEFINITIONS "${AVIFILE_DEFINITIONS}"
)
endif()
target_link_libraries(example PRIVATE AVIFile::AVIFile)
#]=======================================================================]
if (UNIX)
find_path(AVIFILE_INCLUDE_DIR avifile.h PATH_SUFFIXES avifile/include include/avifile include/avifile-0.7)
find_library(AVIFILE_AVIPLAY_LIBRARY aviplay aviplay-0.7 PATH_SUFFIXES avifile/lib)
endif ()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
AVIFile
REQUIRED_VARS AVIFILE_AVIPLAY_LIBRARY AVIFILE_INCLUDE_DIR
)
if (AVIFile_FOUND)
set(AVIFILE_LIBRARIES ${AVIFILE_AVIPLAY_LIBRARY})
set(AVIFILE_DEFINITIONS "")
endif()
mark_as_advanced(AVIFILE_INCLUDE_DIR AVIFILE_AVIPLAY_LIBRARY)