From 0ab40dc1ab4e689921da54080b135e1d22b1c586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 14 Mar 2017 21:45:23 +0100 Subject: Refactoring louloulibs and cmake Use OBJECT libraries Remove the louloulibs directory Write FOUND variables in the cache --- cmake/Modules/FindLIBIDN.cmake | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 cmake/Modules/FindLIBIDN.cmake (limited to 'cmake/Modules/FindLIBIDN.cmake') diff --git a/cmake/Modules/FindLIBIDN.cmake b/cmake/Modules/FindLIBIDN.cmake new file mode 100644 index 0000000..d42257f --- /dev/null +++ b/cmake/Modules/FindLIBIDN.cmake @@ -0,0 +1,42 @@ +# - Find libidn +# Find the libidn library, and more particularly the stringprep header. +# +# This module defines the following variables: +# LIBIDN_FOUND - True if library and include directory are found +# If set to TRUE, the following are also defined: +# LIBIDN_INCLUDE_DIRS - The directory where to find the header file +# LIBIDN_LIBRARIES - Where to find the library file +# +# For conveniance, these variables are also set. They have the same values +# than the variables above. The user can thus choose his/her prefered way +# to write them. +# LIBIDN_INCLUDE_DIR +# LIBIDN_LIBRARY +# +# This file is in the public domain + +include(FindPkgConfig) +pkg_check_modules(LIBIDN libidn) + +if(NOT LIBIDN_FOUND) + find_path(LIBIDN_INCLUDE_DIRS NAMES stringprep.h + DOC "The libidn include directory") + + # The library containing the stringprep module is libidn + find_library(LIBIDN_LIBRARIES NAMES idn + DOC "The libidn library") + + # Use some standard module to handle the QUIETLY and REQUIRED arguments, and + # set LIBIDN_FOUND to TRUE if these two variables are set. + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(LIBIDN REQUIRED_VARS LIBIDN_LIBRARIES LIBIDN_INCLUDE_DIRS) + + # Compatibility for all the ways of writing these variables + if(LIBIDN_FOUND) + set(LIBIDN_INCLUDE_DIR ${LIBIDN_INCLUDE_DIRS} CACHE INTERNAL "") + set(LIBIDN_LIBRARY ${LIBIDN_LIBRARIES} CACHE INTERNAL "") + set(LIBIDN_FOUN ${LIBIDN_FOUND} CACHE INTERNAL "") + endif() +endif() + +mark_as_advanced(LIBIDN_INCLUDE_DIRS LIBIDN_LIBRARIES) -- cgit v1.2.3 From 3913e24ea3560b83c2def74d080e6910c10b6d2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Mon, 22 May 2017 11:14:38 +0200 Subject: Do not call pkg_check_module if the MODULE_FOUND is already cached --- cmake/Modules/FindLIBIDN.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cmake/Modules/FindLIBIDN.cmake') diff --git a/cmake/Modules/FindLIBIDN.cmake b/cmake/Modules/FindLIBIDN.cmake index d42257f..c769d06 100644 --- a/cmake/Modules/FindLIBIDN.cmake +++ b/cmake/Modules/FindLIBIDN.cmake @@ -16,7 +16,9 @@ # This file is in the public domain include(FindPkgConfig) -pkg_check_modules(LIBIDN libidn) +if(NOT LIBIDN_FOUND) + pkg_check_modules(LIBIDN libidn) +endif() if(NOT LIBIDN_FOUND) find_path(LIBIDN_INCLUDE_DIRS NAMES stringprep.h -- cgit v1.2.3