mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-16 17:23:58 +00:00
64 lines
1.7 KiB
CMake
64 lines
1.7 KiB
CMake
# FindPCRE2.cmake - Find PCRE2 library (8-bit)
|
|
#
|
|
# Sets:
|
|
# PCRE2_FOUND
|
|
# PCRE2_INCLUDE_DIRS
|
|
# PCRE2_LIBRARIES
|
|
|
|
find_package(PkgConfig QUIET)
|
|
|
|
if(PkgConfig_FOUND)
|
|
pkg_check_modules(_PCRE2 QUIET libpcre2-8)
|
|
endif()
|
|
|
|
if(_PCRE2_FOUND)
|
|
set(PCRE2_INCLUDE_DIRS ${_PCRE2_INCLUDE_DIRS})
|
|
set(PCRE2_LIBRARIES ${_PCRE2_LIBRARIES})
|
|
set(PCRE2_FOUND TRUE)
|
|
else()
|
|
# Try pcre2-config
|
|
find_program(PCRE2_CONFIG pcre2-config)
|
|
if(PCRE2_CONFIG)
|
|
execute_process(COMMAND ${PCRE2_CONFIG} --cflags
|
|
OUTPUT_VARIABLE PCRE2_CFLAGS
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
execute_process(COMMAND ${PCRE2_CONFIG} --libs8
|
|
OUTPUT_VARIABLE PCRE2_LDFLAGS
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
string(REGEX REPLACE "-I" "" PCRE2_INCLUDE_DIRS "${PCRE2_CFLAGS}")
|
|
set(PCRE2_LIBRARIES ${PCRE2_LDFLAGS})
|
|
set(PCRE2_FOUND TRUE)
|
|
else()
|
|
# Manual search
|
|
find_path(PCRE2_INCLUDE_DIR
|
|
NAMES pcre2.h
|
|
HINTS
|
|
/opt/homebrew/include
|
|
/usr/local/include
|
|
/usr/include
|
|
)
|
|
|
|
find_library(PCRE2_LIBRARY
|
|
NAMES pcre2-8
|
|
HINTS
|
|
/opt/homebrew/lib
|
|
/usr/local/lib
|
|
/usr/lib
|
|
)
|
|
|
|
if(PCRE2_INCLUDE_DIR AND PCRE2_LIBRARY)
|
|
set(PCRE2_INCLUDE_DIRS ${PCRE2_INCLUDE_DIR})
|
|
set(PCRE2_LIBRARIES ${PCRE2_LIBRARY})
|
|
set(PCRE2_FOUND TRUE)
|
|
else()
|
|
set(PCRE2_FOUND FALSE)
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
if(PCRE2_FOUND)
|
|
message(STATUS "Found PCRE2: ${PCRE2_LIBRARIES}")
|
|
else()
|
|
message(FATAL_ERROR "Could not find PCRE2 library. Install libpcre2-dev or equivalent.")
|
|
endif()
|