Warning, /frameworks/kdoctools/cmake/FindPerlModules.cmake is written in an unsupported language. File is not indexed.
0001 #.rst: 0002 # FindPerlModules 0003 # --------------- 0004 # 0005 # Check that Perl has certain modules available. 0006 # 0007 # If PERL_EXECUTABLE is set, uses that, otherwise calls the Perl find module. 0008 # 0009 # To use, pass the perl module names (in the form you would use in a Perl 0010 # ``use`` statement) as components. 0011 # 0012 # This will define the following variables: 0013 # 0014 # ``Perl_<module>_FOUND`` 0015 # True if the given Perl module could be loaded by Perl 0016 # 0017 # where ``<module>`` is either the name passed as a component, or a version 0018 # with ``::`` replaced by ``_``. 0019 0020 # SPDX-FileCopyrightText: 2015 Alex Merry <alex.merry@kde.org> 0021 # 0022 # SPDX-License-Identifier: BSD-3-Clause 0023 0024 if (NOT PERL_EXECUTABLE) 0025 find_package(Perl) 0026 endif() 0027 0028 include(FindPackageHandleStandardArgs) 0029 0030 if (PERL_EXECUTABLE) 0031 set(PerlModules_all_modules_found TRUE) 0032 foreach(_comp ${PerlModules_FIND_COMPONENTS}) 0033 execute_process( 0034 COMMAND ${PERL_EXECUTABLE} -e "use ${_comp}" 0035 RESULT_VARIABLE _result 0036 OUTPUT_QUIET 0037 ERROR_QUIET 0038 ) 0039 string(REPLACE "::" "_" _comp_sanitised "${_comp}") 0040 if (_result EQUAL 0) 0041 set(PerlModules_${_comp_sanitised}_FOUND TRUE) 0042 else() 0043 set(PerlModules_${_comp_sanitised}_FOUND FALSE) 0044 set(PerlModules_all_modules_found FALSE) 0045 endif() 0046 find_package_handle_standard_args(PerlModules_${_comp} 0047 FOUND_VAR 0048 PerlModules_${_comp}_FOUND 0049 REQUIRED_VARS 0050 PerlModules_${_comp_sanitised}_FOUND 0051 ) 0052 endforeach() 0053 endif() 0054 0055 find_package_handle_standard_args(PerlModules 0056 FOUND_VAR 0057 PerlModules_FOUND 0058 REQUIRED_VARS 0059 PerlModules_all_modules_found 0060 HANDLE_COMPONENTS 0061 ) 0062 0063 include(FeatureSummary) 0064 set_package_properties(PerlModules PROPERTIES 0065 URL "https://www.cpan.org" 0066 ) 0067