mirror of
https://github.com/asdlokj1qpi233/subconverter.git
synced 2025-10-25 18:32:22 +00:00
Clean up codes. (+6 squashed commit) Squashed commit: [4126d9e] Update build scripts [2ee5027] Update CMake module [71da951] Update build scripts [dea8d3f] Update CMake script [92113ba] Clean up codes and update build script
120 lines
3.3 KiB
CMake
120 lines
3.3 KiB
CMake
#
|
|
#
|
|
# Locate pcre2
|
|
#
|
|
# This module accepts the following environment variables:
|
|
#
|
|
# PCRE2_DIR or PCRE2_ROOT - Specify the location of PCRE2
|
|
#
|
|
# This module defines the following CMake variables:
|
|
#
|
|
# PCRE2_FOUND - True if libpcre2 is found
|
|
# PCRE2_LIBRARY - A variable pointing to the PCRE2 library
|
|
# PCRE2_INCLUDE_DIR - Where to find the headers
|
|
|
|
#=============================================================================
|
|
# Inspired by FindGDAL
|
|
#
|
|
# Distributed under the OSI-approved BSD License (the "License");
|
|
# see accompanying file Copyright.txt for details.
|
|
#
|
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
# See COPYING-CMAKE-SCRIPTS for more information.
|
|
#=============================================================================
|
|
|
|
# This makes the presumption that you are include pcre2.h like
|
|
#
|
|
#include "pcre2.h"
|
|
|
|
if (DEFINED PCRE2_ROOT AND NOT PCRE2_ROOT)
|
|
set (PCRE2_LIBRARY "" CACHE INTERNAL "")
|
|
set (PCRE2_INCLUDE_DIR "" CACHE INTERNAL "")
|
|
return ()
|
|
endif (DEFINED PCRE2_ROOT AND NOT PCRE2_ROOT)
|
|
|
|
if (UNIX AND NOT PCRE2_FOUND)
|
|
# Use pcre2-config to obtain the library location and name, something like
|
|
# -L/sw/lib -lpcre2-8)
|
|
find_program (PCRE2_CONFIG pcre2-config
|
|
HINTS
|
|
${PCRE2_DIR}
|
|
${PCRE2_ROOT}
|
|
$ENV{PCRE2_DIR}
|
|
$ENV{PCRE2_ROOT}
|
|
PATH_SUFFIXES bin
|
|
PATHS
|
|
/sw # Fink
|
|
/opt/local # DarwinPorts
|
|
/opt/csw # Blastwave
|
|
/opt
|
|
/usr/local
|
|
)
|
|
|
|
if (PCRE2_CONFIG)
|
|
execute_process (COMMAND ${PCRE2_CONFIG} --cflags
|
|
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
OUTPUT_VARIABLE PCRE2_CONFIG_CFLAGS)
|
|
if (PCRE2_CONFIG_CFLAGS)
|
|
string (REGEX MATCHALL "-I[^ ]+" _pcre2_dashI ${PCRE2_CONFIG_CFLAGS})
|
|
string (REGEX REPLACE "-I" "" _pcre2_includepath "${_pcre2_dashI}")
|
|
string (REGEX REPLACE "-I[^ ]+" "" _pcre2_cflags_other ${PCRE2_CONFIG_CFLAGS})
|
|
endif (PCRE2_CONFIG_CFLAGS)
|
|
execute_process (COMMAND ${PCRE2_CONFIG} --libs8
|
|
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
OUTPUT_VARIABLE PCRE2_CONFIG_LIBS)
|
|
if (PCRE2_CONFIG_LIBS)
|
|
string (REGEX MATCHALL "-l[^ ]+" _pcre2_dashl ${PCRE2_CONFIG_LIBS})
|
|
string (REGEX REPLACE "-l" "" _pcre2_lib "${_pcre2_dashl}")
|
|
string (REGEX MATCHALL "-L[^ ]+" _pcre2_dashL ${PCRE2_CONFIG_LIBS})
|
|
string (REGEX REPLACE "-L" "" _pcre2_libpath "${_pcre2_dashL}")
|
|
endif (PCRE2_CONFIG_LIBS)
|
|
endif (PCRE2_CONFIG)
|
|
endif (UNIX AND NOT PCRE2_FOUND)
|
|
|
|
find_path (PCRE2_INCLUDE_DIR pcre2.h
|
|
HINTS
|
|
${_pcre2_includepath}
|
|
${PCRE2_DIR}
|
|
${PCRE2_ROOT}
|
|
$ENV{PCRE2_DIR}
|
|
$ENV{PCRE2_ROOT}
|
|
PATH_SUFFIXES
|
|
include/pcre2
|
|
include/PCRE2
|
|
include
|
|
PATHS
|
|
~/Library/Frameworks/pcre2.framework/Headers
|
|
/Library/Frameworks/pcre2.framework/Headers
|
|
/sw # Fink
|
|
/opt/local # DarwinPorts
|
|
/opt/csw # Blastwave
|
|
/opt
|
|
/usr/local
|
|
)
|
|
|
|
find_library (PCRE2_LIBRARY
|
|
NAMES ${_pcre2_lib} pcre2-8 PCRE2
|
|
HINTS
|
|
${PCRE2_DIR}
|
|
${PCRE2_ROOT}
|
|
$ENV{PCRE2_DIR}
|
|
$ENV{PCRE2_ROOT}
|
|
${_pcre2_libpath}
|
|
PATH_SUFFIXES lib
|
|
PATHS
|
|
~/Library/Frameworks/pcre2.framework
|
|
/Library/Frameworks/pcre2.framework
|
|
/sw
|
|
/opt/local
|
|
/opt/csw
|
|
/opt
|
|
/usr/local
|
|
)
|
|
|
|
include (FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args (PCRE2 DEFAULT_MSG PCRE2_LIBRARY PCRE2_INCLUDE_DIR)
|
|
|
|
set (PCRE2_LIBRARIES ${PCRE2_LIBRARY})
|
|
set (PCRE2_INCLUDE_DIRS ${PCRE2_INCLUDE_DIR})
|