Title: [280423] trunk
- Revision
- 280423
- Author
- ape...@igalia.com
- Date
- 2021-07-29 08:16:03 -0700 (Thu, 29 Jul 2021)
Log Message
[CMake] Use an imported target for the libgcrypt library
https://bugs.webkit.org/show_bug.cgi?id=228581
Reviewed by Michael Catanzaro.
.:
* Source/cmake/FindLibGcrypt.cmake: Replaced find module by a new one which defines a
LibGcrypt::LibGcrypt imported target, using more modern CMake constructs.
* Source/cmake/OptionsGTK.cmake: Use the LibGcrypt::LibGcrypt imported target.
* Source/cmake/OptionsWPE.cmake: Ditto.
Source/WebCore:
No new tests needed.
* platform/GCrypt.cmake: Use the LibGcrypt::LibGcrypt imported target.
* platform/GStreamer.cmake: Remove unneeded usage of ${LIBGCRYPT_INCLUDE_DIRS} and
${LIBGCRYPT_LIBRARIES}, as those are handled now by making WebCore depend on the
LibGcrypt::LibGcrypt imported target.
Modified Paths
Diff
Modified: trunk/ChangeLog (280422 => 280423)
--- trunk/ChangeLog 2021-07-29 14:56:22 UTC (rev 280422)
+++ trunk/ChangeLog 2021-07-29 15:16:03 UTC (rev 280423)
@@ -1,3 +1,15 @@
+2021-07-29 Adrian Perez de Castro <ape...@igalia.com>
+
+ [CMake] Use an imported target for the libgcrypt library
+ https://bugs.webkit.org/show_bug.cgi?id=228581
+
+ Reviewed by Michael Catanzaro.
+
+ * Source/cmake/FindLibGcrypt.cmake: Replaced find module by a new one which defines a
+ LibGcrypt::LibGcrypt imported target, using more modern CMake constructs.
+ * Source/cmake/OptionsGTK.cmake: Use the LibGcrypt::LibGcrypt imported target.
+ * Source/cmake/OptionsWPE.cmake: Ditto.
+
2021-07-28 Philippe Normand <pnorm...@igalia.com>
[WPE][GTK] SVN_REVISION drifting away if bots don't re-run cmake
Modified: trunk/Source/WebCore/ChangeLog (280422 => 280423)
--- trunk/Source/WebCore/ChangeLog 2021-07-29 14:56:22 UTC (rev 280422)
+++ trunk/Source/WebCore/ChangeLog 2021-07-29 15:16:03 UTC (rev 280423)
@@ -1,3 +1,17 @@
+2021-07-29 Adrian Perez de Castro <ape...@igalia.com>
+
+ [CMake] Use an imported target for the libgcrypt library
+ https://bugs.webkit.org/show_bug.cgi?id=228581
+
+ Reviewed by Michael Catanzaro.
+
+ No new tests needed.
+
+ * platform/GCrypt.cmake: Use the LibGcrypt::LibGcrypt imported target.
+ * platform/GStreamer.cmake: Remove unneeded usage of ${LIBGCRYPT_INCLUDE_DIRS} and
+ ${LIBGCRYPT_LIBRARIES}, as those are handled now by making WebCore depend on the
+ LibGcrypt::LibGcrypt imported target.
+
2021-07-29 Michael Catanzaro <mcatanz...@gnome.org>
[WPE][GTK] .asc file extension is appended to filename of text/plain downloads
Modified: trunk/Source/WebCore/platform/GCrypt.cmake (280422 => 280423)
--- trunk/Source/WebCore/platform/GCrypt.cmake 2021-07-29 14:56:22 UTC (rev 280422)
+++ trunk/Source/WebCore/platform/GCrypt.cmake 2021-07-29 15:16:03 UTC (rev 280423)
@@ -5,8 +5,5 @@
endif ()
list(APPEND WebCore_LIBRARIES
- ${LIBGCRYPT_LIBRARIES}
+ LibGcrypt::LibGcrypt
)
-list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
- ${LIBGCRYPT_INCLUDE_DIRS}
-)
Modified: trunk/Source/WebCore/platform/GStreamer.cmake (280422 => 280423)
--- trunk/Source/WebCore/platform/GStreamer.cmake 2021-07-29 14:56:22 UTC (rev 280422)
+++ trunk/Source/WebCore/platform/GStreamer.cmake 2021-07-29 15:16:03 UTC (rev 280423)
@@ -187,14 +187,6 @@
platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp
)
- list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
- ${LIBGCRYPT_INCLUDE_DIRS}
- )
-
- list(APPEND WebCore_LIBRARIES
- ${LIBGCRYPT_LIBRARIES} -lgpg-error
- )
-
if (ENABLE_THUNDER)
list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
${THUNDER_INCLUDE_DIRS}
Modified: trunk/Source/cmake/FindLibGcrypt.cmake (280422 => 280423)
--- trunk/Source/cmake/FindLibGcrypt.cmake 2021-07-29 14:56:22 UTC (rev 280422)
+++ trunk/Source/cmake/FindLibGcrypt.cmake 2021-07-29 15:16:03 UTC (rev 280423)
@@ -1,22 +1,5 @@
-#.rst
-# FindLibGcrypt
-# -------------
-#
-# Finds the Libgcrypt library.
-#
-# This will define the following variables:
-#
-# ``LIBGCRYPT_FOUND``
-# True if the requested version of gcrypt was found
-# ``LIBGCRYPT_VERSION``
-# The version of gcrypt that was found
-# ``LIBGCRYPT_INCLUDE_DIRS``
-# The gcrypt include directories
-# ``LIBGCRYPT_LIBRARIES``
-# The linker libraries needed to use the gcrypt library
-
# Copyright 2014 Nicolás Alvarez <nicolas.alva...@gmail.com>
-# Copyright 2016 Igalia S.L
+# Copyright 2016, 2021 Igalia S.L
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -41,51 +24,94 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#[=======================================================================[.rst:
+FindGcrypt
+----------
+
+Find libgcrypt headers and libraries.
+
+Imported Targets
+^^^^^^^^^^^^^^^^
+
+``LibGcrypt::LibGcrypt``
+ The libgcrypt library, if found.
+
+#]=======================================================================]
+
+find_package(PkgConfig QUIET)
find_program(LIBGCRYPTCONFIG_SCRIPT NAMES libgcrypt-config)
-if (LIBGCRYPTCONFIG_SCRIPT)
+if (PkgConfig_FOUND)
+ pkg_check_modules(PC_GCRYPT QUIET libgcrypt)
+ set(LibGcrypt_COMPILE_OPTIONS ${PC_GCRYPT_CFLAGS_OTHER})
+ set(LibGcrypt_VERSION ${PC_GCRYPT_VERSION})
+elseif (LIBGCRYPTCONFIG_SCRIPT)
execute_process(
COMMAND "${LIBGCRYPTCONFIG_SCRIPT}" --prefix
RESULT_VARIABLE CONFIGSCRIPT_RESULT
- OUTPUT_VARIABLE PREFIX
+ OUTPUT_VARIABLE LIBGCRYPT_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if (CONFIGSCRIPT_RESULT EQUAL 0)
- set(LIBGCRYPT_LIB_HINT "${PREFIX}/lib")
- set(LIBGCRYPT_INCLUDE_HINT "${PREFIX}/include")
+ set(LIBGCRYPT_SCRIPT_LIB_HINT "${LIBGCRYPT_PREFIX}/lib")
+ set(LIBGCRYPT_SCRIPT_INCLUDE_HINT "${LIBGCRYPT_PREFIX}/include")
endif ()
+
+ execute_process(
+ COMMAND "${LIBGCRYPTCONFIG_SCRIPT}" --cflags
+ RESULT_VARIABLE CONFIGSCRIPT_RESULT
+ OUTPUT_VARIABLE CONFIGSCRIPT_VALUE
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if (CONFIGSCRIPT_RESULT EQUAL 0)
+ set(LibGcrypt_COMPILE_OPTIONS ${CONFIGSCRIPT_VALUE})
+ endif ()
+
+ execute_process(
+ COMMAND "${LIBGCRYPTCONFIG_SCRIPT}" --cflags
+ RESULT_VARIABLE CONFIGSCRIPT_RESULT
+ OUTPUT_VARIABLE CONFIGSCRIPT_VALUE
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if (CONFIGSCRIPT_RESULT EQUAL 0)
+ string(REGEX MATCH "^([0-9]+\.[0-9]+\.[0-9]+)" LibGcrypt_VERSION "${CONFIGSCRIPT_VALUE}")
+ endif ()
endif ()
-find_library(LIBGCRYPT_LIBRARY
- NAMES gcrypt
- HINTS ${LIBGCRYPT_LIB_HINT}
-)
-find_path(LIBGCRYPT_INCLUDE_DIR
+find_path(LibGcrypt_INCLUDE_DIR
NAMES gcrypt.h
- HINTS ${LIBGCRYPT_INCLUDE_HINT}
+ HINTS ${PC_GCRYPT_INCLUDEDIR} ${PC_GCRYPT_INCLUDE_DIRS}
+ ${LIBGCRYPT_SCRIPT_INCLUDE_HINT} ${LibGcrypt_INCLUDE_DIR}
)
-if (LIBGCRYPT_INCLUDE_DIR)
+find_library(LibGcrypt_LIBRARY
+ NAMES ${LibGcrypt_NAMES} gcrypt libgcrypt
+ HINTS ${PC_GCRYPT_LIBDIR} ${PC_GCRYPT_LIBRARY_DIRS} ${LIBGCRYPT_SCRIPT_LIB_HINT}
+)
+
+if (LibGcrypt_INCLUDE_DIR AND NOT LibGcrypt_VERSION)
file(STRINGS ${LIBGCRYPT_INCLUDE_DIR}/gcrypt.h GCRYPT_H REGEX "^#define GCRYPT_VERSION ")
- string(REGEX REPLACE "^#define GCRYPT_VERSION \"(.*)\".*$" "\\1" LIBGCRYPT_VERSION "${GCRYPT_H}")
+ string(REGEX REPLACE "^#define GCRYPT_VERSION \"(.*)\".*$" "\\1" LibGcrypt_VERSION "${GCRYPT_H}")
endif ()
include(FindPackageHandleStandardArgs)
-
find_package_handle_standard_args(LibGcrypt
- FOUND_VAR LIBGCRYPT_FOUND
- REQUIRED_VARS LIBGCRYPT_LIBRARY LIBGCRYPT_INCLUDE_DIR
- VERSION_VAR LIBGCRYPT_VERSION
+ FOUND_VAR LibGcrypt_FOUND
+ REQUIRED_VARS LibGcrypt_LIBRARY LibGcrypt_INCLUDE_DIR
+ VERSION_VAR LibGcrypt_VERSION
)
-if (LIBGCRYPT_FOUND)
- set(LIBGCRYPT_LIBRARIES ${LIBGCRYPT_LIBRARY})
- set(LIBGCRYPT_INCLUDE_DIRS ${LIBGCRYPT_INCLUDE_DIR})
+
+if (LibGcrypt_LIBRARY AND NOT TARGET LibGcrypt::LibGcrypt)
+ add_library(LibGcrypt::LibGcrypt UNKNOWN IMPORTED GLOBAL)
+ set_target_properties(LibGcrypt::LibGcrypt PROPERTIES
+ IMPORTED_LOCATION "${LibGcrypt_LIBRARY}"
+ INTERFACE_COMPILE_OPTIONS "${LibGcrypt_COMPILE_OPTIONS}"
+ INTERFACE_INCLUDE_DIRECTORIES "${LibGcrypt_INCLUDE_DIR}"
+ )
endif ()
-mark_as_advanced(LIBGCRYPT_LIBRARY LIBGCRYPT_INCLUDE_DIR LIBGCRYPTCONFIG_SCRIPT)
+mark_as_advanced(LibGcrypt_INCLUDE_DIR LibGcrypt_LIBRARY)
-include(FeatureSummary)
-set_package_properties(LibGcrypt PROPERTIES
- DESCRIPTION "A general purpose cryptographic library based on the code from GnuPG."
- URL "http://www.gnu.org/software/libgcrypt/"
-)
-
+if (LibGcrypt_FOUND)
+ set(LibGcrypt_LIBRARIES ${LibGcrypt_LIBRARY})
+ set(LibGcrypt_INCLUDE_DIRS ${LibGcrypt_INCLUDE_DIR})
+endif ()
Modified: trunk/Source/cmake/OptionsGTK.cmake (280422 => 280423)
--- trunk/Source/cmake/OptionsGTK.cmake 2021-07-29 14:56:22 UTC (rev 280422)
+++ trunk/Source/cmake/OptionsGTK.cmake 2021-07-29 15:16:03 UTC (rev 280423)
@@ -320,7 +320,7 @@
if (NOT LIBTASN1_FOUND)
message(FATAL_ERROR "libtasn1 is required to enable Web Crypto API support.")
endif ()
- if (LIBGCRYPT_VERSION VERSION_LESS 1.7.0)
+ if (LibGcrypt_VERSION VERSION_LESS 1.7.0)
message(FATAL_ERROR "libgcrypt 1.7.0 is required to enable Web Crypto API support.")
endif ()
endif ()
Modified: trunk/Source/cmake/OptionsWPE.cmake (280422 => 280423)
--- trunk/Source/cmake/OptionsWPE.cmake 2021-07-29 14:56:22 UTC (rev 280422)
+++ trunk/Source/cmake/OptionsWPE.cmake 2021-07-29 15:16:03 UTC (rev 280423)
@@ -184,7 +184,7 @@
if (NOT LIBTASN1_FOUND)
message(FATAL_ERROR "libtasn1 is required to enable Web Crypto API support.")
endif ()
- if (LIBGCRYPT_VERSION VERSION_LESS 1.7.0)
+ if (LibGcrypt_VERSION VERSION_LESS 1.7.0)
message(FATAL_ERROR "libgcrypt 1.7.0 is required to enable Web Crypto API support.")
endif ()
endif ()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes