Title: [225901] trunk
- Revision
- 225901
- Author
- [email protected]
- Date
- 2017-12-14 06:08:20 -0800 (Thu, 14 Dec 2017)
Log Message
Build should fail early is needed Perl modules are not installed
https://bugs.webkit.org/show_bug.cgi?id=180137
Reviewed by Michael Catanzaro.
Don't finish the configure successfully if the required Perl modules
are not installed. Start to require modules that are needed for
WPE/GTK+ ports.
* Source/cmake/FindPerlModules.cmake: Copied from
https://github.com/KDE/kdelibs4support/blob/master/cmake/FindPerlModules.cmake
and made it WebKit style compliant.
* Source/cmake/WebKitCommon.cmake:
Modified Paths
Added Paths
Diff
Modified: trunk/ChangeLog (225900 => 225901)
--- trunk/ChangeLog 2017-12-14 13:28:23 UTC (rev 225900)
+++ trunk/ChangeLog 2017-12-14 14:08:20 UTC (rev 225901)
@@ -1,3 +1,19 @@
+2017-12-14 Tomas Popela <[email protected]>
+
+ Build should fail early is needed Perl modules are not installed
+ https://bugs.webkit.org/show_bug.cgi?id=180137
+
+ Reviewed by Michael Catanzaro.
+
+ Don't finish the configure successfully if the required Perl modules
+ are not installed. Start to require modules that are needed for
+ WPE/GTK+ ports.
+
+ * Source/cmake/FindPerlModules.cmake: Copied from
+ https://github.com/KDE/kdelibs4support/blob/master/cmake/FindPerlModules.cmake
+ and made it WebKit style compliant.
+ * Source/cmake/WebKitCommon.cmake:
+
2017-12-13 Carlos Alberto Lopez Perez <[email protected]>
[WPE] WebCrypto should be a public option.
Added: trunk/Source/cmake/FindPerlModules.cmake (0 => 225901)
--- trunk/Source/cmake/FindPerlModules.cmake (rev 0)
+++ trunk/Source/cmake/FindPerlModules.cmake 2017-12-14 14:08:20 UTC (rev 225901)
@@ -0,0 +1,88 @@
+#.rst:
+# FindPerlModules
+# ---------------
+#
+# Check that Perl has certain modules available.
+#
+# If PERL_EXECUTABLE is set, uses that, otherwise calls the Perl find module.
+#
+# To use, pass the perl module names (in the form you would use in a Perl
+# ``use`` statement) as components.
+#
+# This will define the following variables:
+#
+# ``Perl_<module>_FOUND``
+# True if the given Perl module could be loaded by Perl
+#
+# where ``<module>`` is either the name passed as a component, or a version
+# with ``::`` replaced by ``_``.
+
+# Copyright 2015 Alex Merry <[email protected]>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. Neither the name of the University nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+
+if (NOT PERL_EXECUTABLE)
+ find_package(Perl)
+endif ()
+
+include(FindPackageHandleStandardArgs)
+
+if (PERL_EXECUTABLE)
+ set(PerlModules_all_modules_found TRUE)
+ foreach (_comp ${PerlModules_FIND_COMPONENTS})
+ execute_process(
+ COMMAND ${PERL_EXECUTABLE} -e "use ${_comp}"
+ RESULT_VARIABLE _result
+ OUTPUT_QUIET
+ ERROR_QUIET
+ )
+ string(REPLACE "::" "_" _comp_sanitised "${_comp}")
+ if (_result EQUAL 0)
+ set(PerlModules_${_comp_sanitised}_FOUND TRUE)
+ else ()
+ set(PerlModules_${_comp_sanitised}_FOUND FALSE)
+ set(PerlModules_all_modules_found FALSE)
+ endif ()
+ find_package_handle_standard_args(PerlModules_${_comp}
+ FOUND_VAR
+ PerlModules_${_comp}_FOUND
+ REQUIRED_VARS
+ PerlModules_${_comp_sanitised}_FOUND
+ )
+ endforeach ()
+endif ()
+
+find_package_handle_standard_args(PerlModules
+ FOUND_VAR
+ PerlModules_FOUND
+ REQUIRED_VARS
+ PerlModules_all_modules_found
+ HANDLE_COMPONENTS
+)
+
+include(FeatureSummary)
+set_package_properties(PerlModules PROPERTIES
+ URL "http://www.cpan.org"
+)
Modified: trunk/Source/cmake/WebKitCommon.cmake (225900 => 225901)
--- trunk/Source/cmake/WebKitCommon.cmake 2017-12-14 13:28:23 UTC (rev 225900)
+++ trunk/Source/cmake/WebKitCommon.cmake 2017-12-14 14:08:20 UTC (rev 225901)
@@ -18,6 +18,7 @@
# TODO Enforce version requirement for perl
find_package(Perl 5.10.0 REQUIRED)
+ find_package(PerlModules COMPONENTS JSON::PP REQUIRED)
find_package(PythonInterp 2.7.0 REQUIRED)
if (PYTHON_VERSION_MAJOR GREATER 2)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes