mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-27 22:11:37 +08:00
[7zip] Fix cmake package config (#23511)
This commit is contained in:
parent
c21f961c2d
commit
5220969a9f
5
ports/7zip/7zip-config.cmake.in
Normal file
5
ports/7zip/7zip-config.cmake.in
Normal file
@ -0,0 +1,5 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/7zip-targets.cmake")
|
||||
|
||||
check_required_components(7zip)
|
@ -1,4 +1,3 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.19)
|
||||
|
||||
project(7zip LANGUAGES C CXX)
|
||||
@ -62,6 +61,7 @@ target_sources(7zip PRIVATE
|
||||
CPP/7zip/Compress/ZlibEncoder.cpp
|
||||
CPP/7zip/Compress/ZDecoder.cpp
|
||||
CPP/7zip/Compress/CodecExports.cpp
|
||||
|
||||
CPP/7zip/Crypto/7zAes.cpp
|
||||
CPP/7zip/Crypto/7zAesRegister.cpp
|
||||
CPP/7zip/Crypto/HmacSha1.cpp
|
||||
@ -95,14 +95,13 @@ target_sources(7zip PRIVATE
|
||||
C/Lzma2Dec.c
|
||||
C/Lzma2DecMt.c
|
||||
C/Lzma2Enc.c
|
||||
C/LzmaDec.c
|
||||
C/LzmaEnc.c
|
||||
C/LzmaLib.c
|
||||
C/MtCoder.c
|
||||
C/MtDec.c
|
||||
C/Ppmd7.c
|
||||
C/Ppmd7aDec.c
|
||||
C/Ppmd7Dec.c
|
||||
C/Ppmd7aDec.c
|
||||
C/Ppmd7Enc.c
|
||||
C/Ppmd8.c
|
||||
C/Ppmd8Dec.c
|
||||
@ -130,7 +129,9 @@ target_sources(7zip PRIVATE
|
||||
CPP/Common/MyWindows.cpp
|
||||
CPP/Common/MyXml.cpp
|
||||
CPP/Common/NewHandler.cpp
|
||||
CPP/Common/Sha1Prepare.cpp
|
||||
CPP/Common/Sha1Reg.cpp
|
||||
CPP/Common/Sha256Prepare.cpp
|
||||
CPP/Common/Sha256Reg.cpp
|
||||
CPP/Common/StringConvert.cpp
|
||||
CPP/Common/StringToInt.cpp
|
||||
@ -174,8 +175,8 @@ target_sources(7zip PRIVATE
|
||||
CPP/7zip/Archive/ApmHandler.cpp
|
||||
CPP/7zip/Archive/ArHandler.cpp
|
||||
CPP/7zip/Archive/ArjHandler.cpp
|
||||
CPP/7zip/Archive/Bz2Handler.cpp
|
||||
CPP/7zip/Archive/Base64Handler.cpp
|
||||
CPP/7zip/Archive/Bz2Handler.cpp
|
||||
CPP/7zip/Archive/ComHandler.cpp
|
||||
CPP/7zip/Archive/CpioHandler.cpp
|
||||
CPP/7zip/Archive/CramfsHandler.cpp
|
||||
@ -291,36 +292,40 @@ target_sources(7zip PRIVATE
|
||||
C/Util/LzmaLib/LzmaLib.def
|
||||
)
|
||||
|
||||
# 7zCrcOpt # AesOpt # Sha1Opt # Sha256Opt # XzCrc64Opt # LzFindOpt
|
||||
set(WINDOWS_PRIVATE_HEADERS
|
||||
Asm/x86/7zCrcOpt.asm
|
||||
Asm/x86/AesOpt.asm
|
||||
Asm/x86/Sha1Opt.asm
|
||||
Asm/x86/Sha256Opt.asm
|
||||
Asm/x86/XzCrc64Opt.asm
|
||||
Asm/x86/LzFindOpt.asm
|
||||
)
|
||||
set(WINDOWS_PRIVATE_SOURCE_FILES
|
||||
C/7zCrcOpt.c
|
||||
C/AesOpt.c
|
||||
C/Sha1Opt.c
|
||||
C/Sha256Opt.c
|
||||
C/XzCrc64Opt.c
|
||||
C/LzFindOpt.c
|
||||
)
|
||||
|
||||
# 7zCrcOpt
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
target_sources(7zip PRIVATE ${WINDOWS_PRIVATE_HEADERS})
|
||||
set_source_files_properties(${WINDOWS_PRIVATE_HEADERS} PROPERTIES LANGUAGE ASM_MASM)
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
|
||||
#target_sources(7zip PRIVATE Asm/arm/7zCrcOpt.asm)
|
||||
target_sources(7zip PRIVATE C/7zCrcOpt.c)
|
||||
target_sources(7zip PRIVATE Asm/x86/7zCrcOpt.asm)
|
||||
set_source_files_properties(Asm/x86/7zCrcOpt.asm PROPERTIES LANGUAGE ASM_MASM)
|
||||
else()
|
||||
target_sources(7zip PRIVATE ${WINDOWS_PRIVATE_SOURCE_FILES})
|
||||
target_sources(7zip PRIVATE C/7zCrcOpt.c)
|
||||
endif()
|
||||
else()
|
||||
target_sources(7zip PRIVATE ${WINDOWS_PRIVATE_SOURCE_FILES})
|
||||
target_sources(7zip PRIVATE C/7zCrcOpt.c)
|
||||
endif()
|
||||
|
||||
# AesOpt
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
target_sources(7zip PRIVATE Asm/x86/AesOpt.asm)
|
||||
set_source_files_properties(Asm/x86/AesOpt.asm PROPERTIES LANGUAGE ASM_MASM)
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/AesOpt.c)
|
||||
endif()
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/AesOpt.c)
|
||||
endif()
|
||||
|
||||
# LzFindOpt
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
target_sources(7zip PRIVATE Asm/x86/LzFindOpt.asm)
|
||||
set_source_files_properties(Asm/x86/LzFindOpt.asm PROPERTIES LANGUAGE ASM_MASM)
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/LzFindOpt.c)
|
||||
endif()
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/LzFindOpt.c)
|
||||
endif()
|
||||
|
||||
# LzmaDecOpt
|
||||
@ -334,13 +339,49 @@ if((VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") OR
|
||||
elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
target_sources(7zip PRIVATE Asm/arm64/LzmaDecOpt.S)
|
||||
set_source_files_properties(Asm/x86/LzmaDecOpt.asm PROPERTIES LANGUAGE ASM)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
get_source_file_property(defs C/LzmaDec.c COMPILE_DEFINITIONS)
|
||||
list(APPEND defs "_LZMA_DEC_OPT")
|
||||
set_source_files_properties(C/LzmaDec.c PROPERTIES COMPILE_DEFINITIONS "${defs}")
|
||||
endif()
|
||||
|
||||
# Sha1Opt
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
target_sources(7zip PRIVATE Asm/x86/Sha1Opt.asm)
|
||||
set_source_files_properties(Asm/x86/Sha1Opt.asm PROPERTIES LANGUAGE ASM_MASM)
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/Sha1Opt.c)
|
||||
endif()
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/Sha1Opt.c)
|
||||
endif()
|
||||
|
||||
# Sha256Opt
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
target_sources(7zip PRIVATE Asm/x86/Sha256Opt.asm)
|
||||
set_source_files_properties(Asm/x86/Sha256Opt.asm PROPERTIES LANGUAGE ASM_MASM)
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/Sha256Opt.c)
|
||||
endif()
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/Sha256Opt.c)
|
||||
endif()
|
||||
|
||||
# XzCrc64Opt
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
target_sources(7zip PRIVATE Asm/x86/XzCrc64Opt.asm)
|
||||
set_source_files_properties(Asm/x86/XzCrc64Opt.asm PROPERTIES LANGUAGE ASM_MASM)
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/XzCrc64Opt.c)
|
||||
endif()
|
||||
else()
|
||||
target_sources(7zip PRIVATE C/XzCrc64Opt.c)
|
||||
endif()
|
||||
|
||||
target_compile_definitions(7zip
|
||||
PUBLIC
|
||||
-D_REENTRANT
|
||||
@ -398,6 +439,17 @@ foreach(HEADER ${PUBLIC_HEADERS})
|
||||
)
|
||||
endforeach()
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
configure_package_config_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/7zip-config.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/7zip-config.cmake"
|
||||
INSTALL_DESTINATION "share/7zip"
|
||||
)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/7zip-config.cmake"
|
||||
DESTINATION "share/7zip"
|
||||
)
|
||||
|
||||
install(
|
||||
EXPORT 7zip-targets
|
||||
DESTINATION share/7zip
|
||||
|
@ -1,18 +1,18 @@
|
||||
set(7ZIP_VERSION 21.07)
|
||||
set(7ZIP_VERSION "2107")
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "https://www.7-zip.org/a/7z2107-src.7z"
|
||||
FILENAME "7z2107-src.7z"
|
||||
URLS "https://www.7-zip.org/a/7z${7ZIP_VERSION}-src.7z"
|
||||
FILENAME "7z${7ZIP_VERSION}-src.7z"
|
||||
SHA512 c13521a9829ac239a89015e1f5da27eeaa2469754e3f8ca32311d964ea9d0b40a17e4f8ccbd425d3e865aa768be345368f1c36f354d5710ac7cb2749dd6a3ab5
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE ${ARCHIVE}
|
||||
REF ${7ZIP_VERSION}
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${ARCHIVE}"
|
||||
NO_REMOVE_ONE_LEVEL
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/7zip-config.cmake.in" DESTINATION "${SOURCE_PATH}")
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
|
@ -1,41 +0,0 @@
|
||||
****** ***** ****** unRAR - free utility for RAR archives
|
||||
** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
****** ******* ****** License for use and distribution of
|
||||
** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
** ** ** ** ** ** FREE portable version
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The source code of unRAR utility is freeware. This means:
|
||||
|
||||
1. All copyrights to RAR and the utility unRAR are exclusively
|
||||
owned by the author - Alexander Roshal.
|
||||
|
||||
2. The unRAR sources may be used in any software to handle RAR
|
||||
archives without limitations free of charge, but cannot be used
|
||||
to re-create the RAR compression algorithm, which is proprietary.
|
||||
Distribution of modified unRAR sources in separate form or as a
|
||||
part of other software is permitted, provided that it is clearly
|
||||
stated in the documentation and source comments that the code may
|
||||
not be used to develop a RAR (WinRAR) compatible archiver.
|
||||
|
||||
3. The unRAR utility may be freely distributed. No person or company
|
||||
may charge a fee for the distribution of unRAR without written
|
||||
permission from the copyright holder.
|
||||
|
||||
4. THE RAR ARCHIVER AND THE UNRAR UTILITY ARE DISTRIBUTED "AS IS".
|
||||
NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT
|
||||
YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS,
|
||||
DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING
|
||||
OR MISUSING THIS SOFTWARE.
|
||||
|
||||
5. Installing and using the unRAR utility signifies acceptance of
|
||||
these terms and conditions of the license.
|
||||
|
||||
6. If you don't agree with terms of the license you must remove
|
||||
unRAR files from your storage devices and cease to use the
|
||||
utility.
|
||||
|
||||
Thank you for your interest in RAR and unRAR.
|
||||
|
||||
|
||||
Alexander L. Roshal
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "7zip",
|
||||
"version-string": "21.07",
|
||||
"port-version": 1,
|
||||
"description": "Library for archiving file with a high compression ratio.",
|
||||
"homepage": "https://www.7-zip.org",
|
||||
"license": "LGPL-2.1-or-later",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "d60561160384264eaf45a225dcb41beccb87ecbc",
|
||||
"version-string": "21.07",
|
||||
"port-version": 1
|
||||
},
|
||||
{
|
||||
"git-tree": "7a951689070e40d8ff0ed20b4e18bc533ef5db1f",
|
||||
"version-string": "21.07",
|
||||
|
@ -6,7 +6,7 @@
|
||||
},
|
||||
"7zip": {
|
||||
"baseline": "21.07",
|
||||
"port-version": 0
|
||||
"port-version": 1
|
||||
},
|
||||
"abseil": {
|
||||
"baseline": "20211102.1",
|
||||
|
Loading…
Reference in New Issue
Block a user