File: FindPCRE2.cmake

package info (click to toggle)
shadowsocks-libev 3.3.6%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,192 kB
  • sloc: ansic: 15,474; sh: 3,518; python: 452; makefile: 25
file content (63 lines) | stat: -rw-r--r-- 1,753 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# FindPCRE2.cmake - Find PCRE2 library (8-bit)
#
# Sets:
#   PCRE2_FOUND
#   PCRE2_INCLUDE_DIRS
#   PCRE2_LIBRARIES

include(FindPkgConfig)

if(PKG_CONFIG_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()