| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file LICENSE.rst or https://cmake.org/licensing for details.
- #[=======================================================================[.rst:
- FindMPEG
- --------
- Finds the native MPEG library (libmpeg2):
- .. code-block:: cmake
- find_package(MPEG [...])
- .. note::
- This module is functionally identical to the :module:`FindMPEG2` module, which
- also finds the libmpeg2 library. Both modules were introduced in the past to
- provide flexibility in handling potential differences in future versions of
- the MPEG library and to maintain backward compatibility across CMake releases.
- The ``FindMPEG2`` module additionally checks for the SDL dependency and
- includes it in its usage requirements. For working with libmpeg2, it is
- recommended to use the :module:`FindMPEG2` module instead of this one.
- Result Variables
- ^^^^^^^^^^^^^^^^
- This module defines the following variables:
- ``MPEG_FOUND``
- Boolean indicating whether the libmpeg2 library was found.
- ``MPEG_LIBRARIES``
- Libraries needed to link against to use libmpeg2.
- Cache Variables
- ^^^^^^^^^^^^^^^
- The following cache variables may also be set:
- ``MPEG_INCLUDE_DIR``
- The directory containing the ``mpeg2.h`` and related headers needed to use
- libmpeg2 library.
- ``MPEG_mpeg2_LIBRARY``
- The path to the libmpeg2 library.
- ``MPEG_vo_LIBRARY``
- The path to the vo (Video Out) library.
- Examples
- ^^^^^^^^
- Finding libmpeg2 library and creating an imported interface target for linking
- it to a project target:
- .. code-block:: cmake
- find_package(MPEG)
- if(MPEG_FOUND AND NOT TARGET MPEG::MPEG)
- add_library(MPEG::MPEG INTERFACE IMPORTED)
- set_target_properties(
- MPEG::MPEG
- PROPERTIES
- INTERFACE_LINK_LIBRARIES "${MPEG_LIBRARIES}"
- INTERFACE_INCLUDE_DIRECTORIES "${MPEG_INCLUDE_DIR}"
- )
- endif()
- target_link_libraries(project_target PRIVATE MPEG::MPEG)
- #]=======================================================================]
- find_path(MPEG_INCLUDE_DIR
- NAMES mpeg2.h mpeg2dec/mpeg2.h mpeg2dec/include/video_out.h)
- find_library(MPEG_mpeg2_LIBRARY mpeg2)
- find_library(MPEG_vo_LIBRARY vo)
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(MPEG DEFAULT_MSG MPEG_mpeg2_LIBRARY MPEG_INCLUDE_DIR)
- if(MPEG_FOUND)
- set( MPEG_LIBRARIES ${MPEG_mpeg2_LIBRARY} )
- if(MPEG_vo_LIBRARY)
- list(APPEND MPEG2_LIBRARIES ${MPEG_vo_LIBRARY})
- endif()
- endif()
- mark_as_advanced(MPEG_INCLUDE_DIR MPEG_mpeg2_LIBRARY MPEG_vo_LIBRARY)
|