parent
9accb9a5be
commit
ee52bead4d
43
CMake/FindLibPSL.cmake
Normal file
43
CMake/FindLibPSL.cmake
Normal file
@ -0,0 +1,43 @@
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
# are also available at https://curl.se/docs/copyright.html.
|
||||
#
|
||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
# copies of the Software, and permit persons to whom the Software is
|
||||
# furnished to do so, under the terms of the COPYING file.
|
||||
#
|
||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
# KIND, either express or implied.
|
||||
#
|
||||
###########################################################################
|
||||
# - Try to find the libpsl library
|
||||
# Once done this will define
|
||||
#
|
||||
# LIBPSL_FOUND - system has the libpsl library
|
||||
# LIBPSL_INCLUDE_DIR - the libpsl include directory
|
||||
# LIBPSL_LIBRARY - the libpsl library name
|
||||
|
||||
find_path(LIBPSL_INCLUDE_DIR libpsl.h)
|
||||
|
||||
find_library(LIBPSL_LIBRARY NAMES psl libpsl)
|
||||
|
||||
if(LIBPSL_INCLUDE_DIR)
|
||||
file(STRINGS "${LIBPSL_INCLUDE_DIR}/libpsl.h" libpsl_version_str REGEX "^#define[\t ]+PSL_VERSION[\t ]+\"(.*)\"")
|
||||
string(REGEX REPLACE "^.*\"([^\"]+)\"" "\\1" LIBPSL_VERSION "${libpsl_version_str}")
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(LibPSL
|
||||
REQUIRED_VARS LIBPSL_LIBRARY LIBPSL_INCLUDE_DIR
|
||||
VERSION_VAR LIBPSL_VERSION)
|
||||
|
||||
mark_as_advanced(LIBPSL_INCLUDE_DIR LIBPSL_LIBRARY)
|
||||
@ -742,6 +742,31 @@ if(CURL_ZSTD)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#libpsl
|
||||
option(CURL_USE_LIBPSL "Use libPSL" ON)
|
||||
mark_as_advanced(CURL_USE_LIBPSL)
|
||||
set(USE_LIBPSL OFF)
|
||||
set(HAVE_LIBPSL OFF)
|
||||
set(HAVE_LIBSPSL_H OFF)
|
||||
|
||||
if(CURL_USE_LIBPSL)
|
||||
find_package(LibPSL)
|
||||
if(LIBPSL_FOUND)
|
||||
list(APPEND CURL_LIBS ${LIBPSL_LIBRARY})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${LIBPSL_LIBRARY})
|
||||
list(APPEND CMAKE_REQUIRED_INCLUDES "${LIBPSL_INCLUDE_DIR}")
|
||||
include_directories("${LIBPSL_INCLUDE_DIR}")
|
||||
set(HAVE_LIBPSL ON)
|
||||
set(USE_LIBPSL ON)
|
||||
|
||||
# find_package has already found the headers
|
||||
set(HAVE_LIBPSL_H ON)
|
||||
set(CURL_INCLUDES ${CURL_INCLUDES} "${LIBPSL_INCLUDE_DIR}/libpsl.h")
|
||||
set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -DHAVE_LIBPSL_H")
|
||||
unset(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#libSSH2
|
||||
option(CURL_USE_LIBSSH2 "Use libSSH2" ON)
|
||||
mark_as_advanced(CURL_USE_LIBSSH2)
|
||||
|
||||
@ -34,6 +34,7 @@ CMAKE_DIST = \
|
||||
CMake/FindBrotli.cmake \
|
||||
CMake/FindCARES.cmake \
|
||||
CMake/FindGSS.cmake \
|
||||
CMake/FindLibPSL.cmake \
|
||||
CMake/FindLibSSH2.cmake \
|
||||
CMake/FindMbedTLS.cmake \
|
||||
CMake/FindMSH3.cmake \
|
||||
|
||||
@ -383,6 +383,12 @@
|
||||
/* Define to 1 if you have the `socket' library (-lsocket). */
|
||||
#cmakedefine HAVE_LIBSOCKET 1
|
||||
|
||||
/* Define to 1 if you have the `psl' library (-lpsl). */
|
||||
#cmakedefine HAVE_LIBPSL 1
|
||||
|
||||
/* Define to 1 if you have the <libpsl.h> header file. */
|
||||
#cmakedefine HAVE_LIBPSL_H 1
|
||||
|
||||
/* Define to 1 if you have the `ssh2' library (-lssh2). */
|
||||
#cmakedefine HAVE_LIBSSH2 1
|
||||
|
||||
@ -915,6 +921,9 @@ ${SIZEOF_TIME_T_CODE}
|
||||
/* if libSSH2 is in use */
|
||||
#cmakedefine USE_LIBSSH2 1
|
||||
|
||||
/* if libPSL is in use */
|
||||
#cmakedefine USE_LIBPSL 1
|
||||
|
||||
/* If you want to build curl with the built-in manual */
|
||||
#cmakedefine USE_MANUAL 1
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user