mirror of
https://github.com/3proxy/3proxy.git
synced 2026-04-07 05:40:12 +08:00
Some checks are pending
C/C++ CI / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI / ${{ matrix.target }} (windows-2022) (push) Waiting to run
70 lines
2.0 KiB
CMake
70 lines
2.0 KiB
CMake
# FindPCRE2.cmake
|
|
#
|
|
# Find the PCRE2 library
|
|
#
|
|
# This module defines:
|
|
# PCRE2_FOUND - whether the PCRE2 library was found
|
|
# PCRE2_INCLUDE_DIRS - the PCRE2 include directories
|
|
# PCRE2_LIBRARIES - the PCRE2 libraries
|
|
# PCRE2_VERSION - the PCRE2 version
|
|
|
|
# Try pkg-config first
|
|
find_package(PkgConfig QUIET)
|
|
if(PkgConfig_FOUND)
|
|
pkg_check_modules(PC_PCRE2 QUIET libpcre2-8)
|
|
endif()
|
|
|
|
# Find include directory
|
|
find_path(PCRE2_INCLUDE_DIR
|
|
NAMES pcre2.h
|
|
HINTS
|
|
${PC_PCRE2_INCLUDE_DIRS}
|
|
/usr/include
|
|
/usr/local/include
|
|
PATH_SUFFIXES
|
|
pcre2
|
|
)
|
|
|
|
# Find library
|
|
find_library(PCRE2_LIBRARY
|
|
NAMES pcre2-8 pcre2-8d pcre2
|
|
HINTS
|
|
${PC_PCRE2_LIBRARY_DIRS}
|
|
/usr/lib
|
|
/usr/local/lib
|
|
)
|
|
|
|
# Extract version from header
|
|
if(PCRE2_INCLUDE_DIR AND EXISTS "${PCRE2_INCLUDE_DIR}/pcre2.h")
|
|
file(STRINGS "${PCRE2_INCLUDE_DIR}/pcre2.h" PCRE2_VERSION_MAJOR_LINE
|
|
REGEX "^#define[ \t]+PCRE2_MAJOR[ \t]+[0-9]+")
|
|
file(STRINGS "${PCRE2_INCLUDE_DIR}/pcre2.h" PCRE2_VERSION_MINOR_LINE
|
|
REGEX "^#define[ \t]+PCRE2_MINOR[ \t]+[0-9]+")
|
|
string(REGEX REPLACE "^#define[ \t]+PCRE2_MAJOR[ \t]+([0-9]+)" "\\1"
|
|
PCRE2_VERSION_MAJOR "${PCRE2_VERSION_MAJOR_LINE}")
|
|
string(REGEX REPLACE "^#define[ \t]+PCRE2_MINOR[ \t]+([0-9]+)" "\\1"
|
|
PCRE2_VERSION_MINOR "${PCRE2_VERSION_MINOR_LINE}")
|
|
set(PCRE2_VERSION "${PCRE2_VERSION_MAJOR}.${PCRE2_VERSION_MINOR}")
|
|
endif()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(PCRE2
|
|
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})
|
|
|
|
if(NOT TARGET PCRE2::PCRE2)
|
|
add_library(PCRE2::PCRE2 UNKNOWN IMPORTED)
|
|
set_target_properties(PCRE2::PCRE2 PROPERTIES
|
|
IMPORTED_LOCATION "${PCRE2_LIBRARY}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${PCRE2_INCLUDE_DIR}"
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
mark_as_advanced(PCRE2_INCLUDE_DIR PCRE2_LIBRARY)
|