Warning, /frameworks/extra-cmake-modules/find-modules/Find7Zip.cmake is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2019, 2021, 2023 Friedrich W. H. Kossebau <kossebau@kde.org> 0002 # 0003 # SPDX-License-Identifier: BSD-3-Clause 0004 0005 #[=======================================================================[.rst: 0006 Find7Zip 0007 -------- 0008 0009 Try to find 7-Zip. 0010 0011 If the 7-Zip executable is not in your PATH, you can provide 0012 an alternative name or full path location with the ``7Zip_EXECUTABLE`` 0013 variable. 0014 0015 This will define the following variables: 0016 0017 ``7Zip_FOUND`` 0018 TRUE if 7-Zip is available 0019 0020 ``7Zip_EXECUTABLE`` 0021 Path to 7-Zip executable 0022 0023 If ``7Zip_FOUND`` is TRUE, it will also define the following imported 0024 target: 0025 0026 ``7Zip::7Zip`` 0027 Path to 7-Zip executable 0028 0029 .. note:: 0030 It will see to only find the original 7-Zip, not one of the p7zip forks. 0031 0032 Since 5.113.0. 0033 #]=======================================================================] 0034 0035 if(WIN32) 0036 find_program(7Zip_EXECUTABLE NAMES 7z 7za) 0037 else() 0038 # Some p7zip used to be a fork for Linux of older 7-Zip, 0039 # just supporting the 7z format, and occupied the 7z binary name. 0040 # When 7-Zip got its official Linux support, it chose 7zz to not conflict, 0041 # given it also has another set of arguments. 0042 # Later p7zip was forked once more into some p7zip-zstd, using a newer copy of 7-Zip, 0043 # supporting more than 7z format, therefore also many of the arguments known from 7-Zip. 0044 # Being a different project though and now a real fork due to 7-Zip supporting Linux, 0045 # we try to only find the original here, so consumers can rely on the original 7-Zip documentation. 0046 find_program(7Zip_EXECUTABLE NAMES 7zz) 0047 endif() 0048 0049 include(FindPackageHandleStandardArgs) 0050 find_package_handle_standard_args(7Zip 0051 FOUND_VAR 0052 7Zip_FOUND 0053 REQUIRED_VARS 0054 7Zip_EXECUTABLE 0055 ) 0056 mark_as_advanced(7Zip_EXECUTABLE) 0057 0058 if(NOT TARGET 7Zip::7Zip AND 7Zip_FOUND) 0059 add_executable(7Zip::7Zip IMPORTED) 0060 set_target_properties(7Zip::7Zip PROPERTIES 0061 IMPORTED_LOCATION "${7Zip_EXECUTABLE}" 0062 ) 0063 endif() 0064 0065 include(FeatureSummary) 0066 set_package_properties(7Zip PROPERTIES 0067 URL "https://www.7-zip.org/" 0068 DESCRIPTION "Data (de)compression program" 0069 )