44 lines
1.3 KiB
CMake
44 lines
1.3 KiB
CMake
# Find the PCRE2 headers and libraries.
|
|
#
|
|
# Optionally define the following variables:
|
|
# PCRE2_CODE_UNIT_WIDTH - code unit width: 8 (default), 16 or 32 bit.
|
|
#
|
|
# This module defines the following variables:
|
|
# PCRE2_FOUND - true if PCRE2 is found.
|
|
# PCRE2_INCLUDE_DIRS - list of PCRE2 include directories.
|
|
# PCRE2_LIBRARIES - list of PCRE2 libraries.
|
|
|
|
if(NOT PCRE2_CODE_UNIT_WIDTH)
|
|
set(PCRE2_CODE_UNIT_WIDTH 8)
|
|
endif()
|
|
|
|
if(NOT PCRE2_CODE_UNIT_WIDTH EQUAL PCRE2_CODE_UNIT_WIDTH_USED)
|
|
unset(PCRE2_CODE_UNIT_WIDTH_USED CACHE)
|
|
unset(PCRE2_FOUND CACHE)
|
|
unset(PCRE2_INCLUDE_DIRS CACHE)
|
|
unset(PCRE2_LIBRARIES CACHE)
|
|
endif()
|
|
|
|
set(PCRE2_CODE_UNIT_WIDTH_USED "${PCRE2_CODE_UNIT_WIDTH}" CACHE INTERNAL "")
|
|
|
|
|
|
find_package(PkgConfig QUIET)
|
|
pkg_check_modules(PC_PCRE2 QUIET libpcre2-${PCRE2_CODE_UNIT_WIDTH})
|
|
|
|
find_path(PCRE2_INCLUDE_DIRS
|
|
NAMES pcre2.h
|
|
HINTS ${PC_PCRE2_INCLUDEDIR}
|
|
${PC_PCRE2_INCLUDE_DIRS}
|
|
)
|
|
|
|
find_library(PCRE2_LIBRARIES
|
|
NAMES pcre2-${PCRE2_CODE_UNIT_WIDTH}
|
|
HINTS ${PC_PCRE2_LIBDIR}
|
|
${PC_PCRE2_LIBRARY_DIRS}
|
|
)
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE2 REQUIRED_VARS PCRE2_LIBRARIES PCRE2_INCLUDE_DIRS VERSION_VAR PC_PCRE2_VERSION)
|
|
|
|
mark_as_advanced(PCRE2_LIBRARIES PCRE2_INCLUDE_DIRS)
|