summaryrefslogtreecommitdiff
path: root/CMake
diff options
context:
space:
mode:
authorVincent Torri <vincent.torri@gmail.com>2022-05-19 15:29:54 +0200
committerDaniel Stenberg <daniel@haxx.se>2022-05-19 15:29:55 +0200
commitee52bead4d1508165b39e5a23b6d7d16cd1ba00a (patch)
tree4db62a87408383532d996968fb182f8c10dc86d2 /CMake
parent9accb9a5be3cda1e63042bb31b99e0e0dc2bdd31 (diff)
downloadcurl-ee52bead4d1508165b39e5a23b6d7d16cd1ba00a.tar.gz
cmake: add libpsl support
Fixes #8865 Closes #8867
Diffstat (limited to 'CMake')
-rw-r--r--CMake/FindLibPSL.cmake43
1 files changed, 43 insertions, 0 deletions
diff --git a/CMake/FindLibPSL.cmake b/CMake/FindLibPSL.cmake
new file mode 100644
index 000000000..c84ef9350
--- /dev/null
+++ b/CMake/FindLibPSL.cmake
@@ -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)