mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-24 02:19:00 +08:00
[bit7z] new port (#40889)
Signed-off-by: msclock <msclock@qq.com> Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com> Co-authored-by: Kai Pastor <dg0yt@darc.de> Co-authored-by: Javier Matos Denizac <javier.matosd@gmail.com>
This commit is contained in:
parent
92133e398a
commit
43b4ba9e55
28
ports/bit7z/fix_dependency.patch
Normal file
28
ports/bit7z/fix_dependency.patch
Normal file
@ -0,0 +1,28 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f8ff6f0..855b78d 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -194,15 +194,22 @@ include( cmake/BuildOptions.cmake )
|
||||
include( cmake/CompilerOptions.cmake )
|
||||
|
||||
# dependencies
|
||||
-include( cmake/Dependencies.cmake )
|
||||
+# include( cmake/Dependencies.cmake )
|
||||
+find_package(7zip CONFIG REQUIRED)
|
||||
+add_library(7-zip ALIAS 7zip::7zip)
|
||||
|
||||
# 7-zip source code
|
||||
target_link_libraries( ${LIB_TARGET} PRIVATE 7-zip )
|
||||
|
||||
# filesystem library (needed if std::filesystem is not available)
|
||||
+if(0)
|
||||
if( ghc_filesystem_ADDED )
|
||||
target_link_libraries( ${LIB_TARGET} PRIVATE ghc_filesystem )
|
||||
endif()
|
||||
+else()
|
||||
+ find_package(ghc_filesystem CONFIG REQUIRED)
|
||||
+ target_link_libraries(${LIB_TARGET} PRIVATE ghcFilesystem::ghc_filesystem )
|
||||
+endif()
|
||||
|
||||
# public includes
|
||||
target_include_directories( ${LIB_TARGET} PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
|
43
ports/bit7z/fix_install.patch
Normal file
43
ports/bit7z/fix_install.patch
Normal file
@ -0,0 +1,43 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 2eb8634..f8ff6f0 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -179,7 +179,7 @@ message( STATUS "Language Standard for bit7z: C++${CMAKE_CXX_STANDARD}" )
|
||||
set( LIB_TARGET bit7z${ARCH_POSTFIX} )
|
||||
add_library( ${LIB_TARGET} STATIC )
|
||||
target_sources( ${LIB_TARGET}
|
||||
- PUBLIC ${PUBLIC_HEADERS}
|
||||
+ # PUBLIC ${PUBLIC_HEADERS}
|
||||
PRIVATE ${HEADERS} ${SOURCES} )
|
||||
|
||||
# additional target without the architecture suffix in the name
|
||||
@@ -246,3 +246,29 @@ endif()
|
||||
if( BIT7Z_BUILD_DOCS )
|
||||
add_subdirectory( docs )
|
||||
endif()
|
||||
+
|
||||
+set_target_properties(${LIB_TARGET} PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}")
|
||||
+
|
||||
+include(CMakePackageConfigHelpers)
|
||||
+configure_package_config_file(
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/unofficial-bit7z-config.cmake.in"
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-bit7z-config.cmake"
|
||||
+ INSTALL_DESTINATION "share/unofficial-bit7z"
|
||||
+)
|
||||
+install(
|
||||
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-bit7z-config.cmake"
|
||||
+ DESTINATION "share/unofficial-bit7z"
|
||||
+)
|
||||
+
|
||||
+include(GNUInstallDirs)
|
||||
+install(
|
||||
+ TARGETS ${LIB_TARGET}
|
||||
+ EXPORT unofficial-bit7z-targets
|
||||
+ COMPONENT bit7z
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/bit7z COMPONENT bit7z_development)
|
||||
+
|
||||
+install(EXPORT unofficial-bit7z-targets FILE unofficial-bit7z-targets.cmake NAMESPACE unofficial::bit7z:: DESTINATION share/unofficial-bit7z)
|
||||
+
|
45
ports/bit7z/portfile.cmake
Normal file
45
ports/bit7z/portfile.cmake
Normal file
@ -0,0 +1,45 @@
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO rikyoz/bit7z
|
||||
REF "v${VERSION}"
|
||||
SHA512 02ee10a66598e9a2f5b47f35392dc8f3de11e01dac9d657e1321d1de97baf9832b1f1559054160d122dddd0427f54076820d7252185912c38b2f277d9c5fa1c0
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
fix_install.patch
|
||||
fix_dependency.patch
|
||||
)
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-bit7z-config.cmake.in" DESTINATION "${SOURCE_PATH}")
|
||||
|
||||
vcpkg_check_features(
|
||||
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
regex-matching BIT7Z_REGEX_MATCHING
|
||||
)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DBIT7Z_AUTO_FORMAT=ON
|
||||
-DBIT7Z_AUTO_PREFIX_LONG_PATHS=ON
|
||||
-DBIT7Z_DISABLE_ZIP_ASCII_PWD_CHECK=OFF
|
||||
-DBIT7Z_PATH_SANITIZATION=ON
|
||||
-DBIT7Z_DISABLE_USE_STD_FILESYSTEM=OFF
|
||||
-DBIT7Z_USE_STD_BYTE=OFF
|
||||
-DBIT7Z_USE_NATIVE_STRING=OFF
|
||||
-DBIT7Z_USE_SYSTEM_CODEPAGE=OFF
|
||||
-DBIT7Z_BUILD_TESTS=OFF
|
||||
-DBIT7Z_BUILD_DOCS=OFF
|
||||
${FEATURE_OPTIONS}
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-bit7z CONFIG_PATH share/unofficial-bit7z)
|
||||
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
|
10
ports/bit7z/unofficial-bit7z-config.cmake.in
Normal file
10
ports/bit7z/unofficial-bit7z-config.cmake.in
Normal file
@ -0,0 +1,10 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include(CMakeFindDependencyMacro)
|
||||
|
||||
find_dependency(7zip CONFIG)
|
||||
find_dependency(ghc_filesystem CONFIG)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/unofficial-bit7z-targets.cmake")
|
||||
|
||||
check_required_components(bit7z)
|
24
ports/bit7z/vcpkg.json
Normal file
24
ports/bit7z/vcpkg.json
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "bit7z",
|
||||
"version": "4.0.8",
|
||||
"description": "A C++ static library offering a clean and simple interface to the 7-zip shared libraries.",
|
||||
"homepage": "https://github.com/rikyoz/bit7z",
|
||||
"license": "MPL-2.0",
|
||||
"dependencies": [
|
||||
"7zip",
|
||||
"ghc-filesystem",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"regex-matching": {
|
||||
"description": "Enables the support for extracting files matching regular expressions"
|
||||
}
|
||||
}
|
||||
}
|
9
versions/b-/bit7z.json
Normal file
9
versions/b-/bit7z.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "07fa7b0762a888e367f01bd9ba8674c7a0d7ffdb",
|
||||
"version": "4.0.8",
|
||||
"port-version": 0
|
||||
}
|
||||
]
|
||||
}
|
@ -648,6 +648,10 @@
|
||||
"baseline": "3.0",
|
||||
"port-version": 3
|
||||
},
|
||||
"bit7z": {
|
||||
"baseline": "4.0.8",
|
||||
"port-version": 0
|
||||
},
|
||||
"bitmagic": {
|
||||
"baseline": "7.13.4",
|
||||
"port-version": 0
|
||||
|
Loading…
Reference in New Issue
Block a user