| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file Copyright.txt or https://cmake.org/licensing for details.
- #[=======================================================================[.rst:
- FindPCRE2
- ---------
- Finds the PCRE2 library.
- Imported Targets
- ^^^^^^^^^^^^^^^^
- This module provides the following imported targets, if found:
- ``Pcre2::Pcre2``
- The PCRE2 library
- Result Variables
- ^^^^^^^^^^^^^^^^
- This will define the following variables:
- ``PCRE2_FOUND``
- True if the system has the PCRE2 library.
- ``PCRE2_VERSION``
- The version of the PCRE2 library which was found.
- ``PCRE2_INCLUDE_DIRS``
- Include directories needed to use PCRE2.
- ``PCRE2_LIBRARIES``
- Libraries needed to link to PCRE2.
- Cache Variables
- ^^^^^^^^^^^^^^^
- The following cache variables may also be set:
- ``PCRE2_INCLUDE_DIR``
- The directory containing ``pcre2.h``.
- ``PCRE2_LIBRARY``
- The path to the PCRE2 library.
- Hints
- ^^^^^
- ``PCRE2_ROOT_DIR``
- The path to the root directory of a PCRE2 installation.
- ``PCRE2_ROOT_INCLUDE_DIRS``
- The path to the include directory of a PCRE2 installation.
- ``PCRE2_ROOT_LIBRARY_DIRS``
- The path to the library directory of a PCRE2 installation.
- #]=======================================================================]#
- include(FindPackageHandleStandardArgs)
- find_package(PkgConfig QUIET)
- pkg_check_modules(PC_PCRE2 QUIET pcre2)
- find_path(PCRE2_INCLUDE_DIR
- NAMES pcre2.h
- HINTS
- ${PCRE2_ROOT_DIR}/include
- ${PCRE2_ROOT_INCLUDE_DIRS}
- PATHS
- ${PC_PCRE2_INCLUDE_DIRS}
- DOC "Specify the include directory containing pcre2.h"
- )
- find_library(PCRE2_LIBRARY
- NAMES pcre2-8
- HINTS
- ${PCRE2_ROOT_DIR}/lib
- ${PCRE2_ROOT_LIBRARY_DIRS}
- PATHS
- ${PC_PCRE2_LIBRARY_DIRS}
- DOC "Specify the lib directory containing pcre2"
- )
- set(PCRE2_VERSION ${PC_PCRE2_VERSION})
- find_package_handle_standard_args(PCRE2
- FOUND_VAR PCRE2_FOUND
- REQUIRED_VARS
- PCRE2_LIBRARY
- PCRE2_INCLUDE_DIR
- VERSION_VAR PCRE2_VERSION
- )
- if(PCRE2_FOUND)
- set(PCRE2_LIBRARIES ${PCRE2_LIBRARY})
- set(PCRE2_INCLUDE_DIRS ${PCRE2_INCLUDE_DIR})
- set(PCRE2_DEFINITIONS ${PC_PCRE2_CFLAGS_OTHER})
- endif()
- if(PCRE2_FOUND AND NOT TARGET Pcre2::Pcre2)
- add_library(Pcre2::Pcre2 UNKNOWN IMPORTED)
- set_target_properties(Pcre2::Pcre2 PROPERTIES
- IMPORTED_LOCATION "${PCRE2_LIBRARY}"
- INTERFACE_COMPILE_OPTIONS "${PC_PCRE2_CFLAGS_OTHER}"
- INTERFACE_INCLUDE_DIRECTORIES "${PCRE2_INCLUDE_DIR}"
- )
- endif()
- mark_as_advanced(
- PCRE2_INCLUDE_DIR
- PCRE2_LIBRARY
- )
|