[kubazip] official cmake name, dynamic linkage (#46084)

This commit is contained in:
Kai Pastor 2025-06-20 19:44:37 +02:00 committed by GitHub
parent c146a8f445
commit 9eb55349da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 67 additions and 50 deletions

View File

@ -89,8 +89,8 @@ index 6551dcb..718ac04 100644
@PACKAGE_INIT@
+include(CMakeFindDependencyMacro)
+
+if(NOT @BUILD_SHARED_LIBS@)
+ find_dependency(kubazip CONFIG)
+if(NOT "@BUILD_SHARED_LIBS@")
+ find_dependency(zip CONFIG)
+ find_dependency(unofficial-minizip CONFIG)
+ find_dependency(pugixml CONFIG)
+ find_dependency(poly2tri CONFIG)
@ -265,18 +265,16 @@ index 8728188..3d82854 100644
find_package(minizip CONFIG REQUIRED)
ELSE()
SET( unzip_SRCS
@@ -1188,9 +1183,8 @@ ENDIF()
@@ -1188,8 +1183,7 @@ ENDIF()
# zip (https://github.com/kuba--/zip)
separate_arguments(ASSIMP_EXPORTERS_LIST UNIX_COMMAND ${ASSIMP_EXPORTERS_ENABLED})
IF(3MF IN_LIST ASSIMP_EXPORTERS_LIST)
- IF(ASSIMP_HUNTER_ENABLED)
- hunter_add_package(zip)
- find_package(zip CONFIG REQUIRED)
+ IF(1)
+ find_package(kubazip CONFIG REQUIRED)
find_package(zip CONFIG REQUIRED)
ELSE()
SET( ziplib_SRCS
../contrib/zip/src/miniz.h
@@ -1210,7 +1204,7 @@ IF(3MF IN_LIST ASSIMP_EXPORTERS_LIST)
ENDIF()
@ -383,10 +381,9 @@ index 8728188..3d82854 100644
pugixml
- stb::stb
)
- if(TARGET zip::zip)
if(TARGET zip::zip)
- target_link_libraries(assimp PUBLIC zip::zip)
+ if(1)
+ target_link_libraries(assimp PRIVATE kubazip::kubazip)
+ target_link_libraries(assimp PRIVATE zip::zip)
endif()
if (ASSIMP_BUILD_DRACO)

View File

@ -1,6 +1,7 @@
{
"name": "assimp",
"version": "6.0.2",
"port-version": 1,
"description": "The Open Asset import library",
"homepage": "https://github.com/assimp/assimp",
"license": "BSD-3-Clause",

View File

@ -0,0 +1,24 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 804df5e..d45ef96 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,8 +46,9 @@ endif()
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
- $<INSTALL_INTERFACE:include>
+ $<INSTALL_INTERFACE:include/kubazip>
)
+set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME kubazip)
# test
if (NOT CMAKE_DISABLE_TESTING)
@@ -74,7 +75,7 @@ endif (MSVC)
####
set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}")
-set(INCLUDE_INSTALL_DIR "include")
+set(INCLUDE_INSTALL_DIR "include/kubazip")
set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")

View File

@ -1,35 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 804df5e..5498bb9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.14)
-project(zip
+project(kubazip
LANGUAGES C
VERSION "0.3.0")
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
@@ -46,11 +46,11 @@ endif()
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
- $<INSTALL_INTERFACE:include>
+ $<INSTALL_INTERFACE:include/${PROJECT_NAME}>
)
# test
-if (NOT CMAKE_DISABLE_TESTING)
+if (0)
enable_testing()
add_subdirectory(test)
endif()
@@ -74,7 +74,7 @@ endif (MSVC)
####
set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}")
-set(INCLUDE_INSTALL_DIR "include")
+set(INCLUDE_INSTALL_DIR "include/${PROJECT_NAME}")
set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")

View File

@ -0,0 +1,7 @@
file(READ "${CMAKE_CURRENT_LIST_DIR}/usage" usage)
message(AUTHOR_WARNING "find_package(kubazip) is deprecated.\n${usage}")
include(CMakeFindDependencyMacro)
find_dependency(zip CONFIG)
if(NOT TARGET kubazip::kubazip)
add_library(kubazip::kubazip ALIAS zip::zip)
endif()

View File

@ -1,5 +1,3 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO kuba--/zip
@ -7,15 +5,25 @@ vcpkg_from_github(
SHA512 dd516f2e6765e49c00063bd72b49d97bc6f1254921045269b534a801e41e0728171cbf09a73713b236f40c4cf30b5473e74579b82962004b79166b38ad6a3e0d
HEAD_REF master
PATCHES
fix_targets.patch
fix-name-conflict.diff
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DCMAKE_DISABLE_TESTING=ON
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/kubazip)
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/zip" PACKAGE_NAME "zip-kuba--")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/kubazip/zip/zip.h" "#ifndef ZIP_SHARED" "#if 0")
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
# legacy polyfill
file(INSTALL "${CURRENT_PORT_DIR}/kubazipConfig.cmake" "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")

4
ports/kubazip/usage Normal file
View File

@ -0,0 +1,4 @@
kubazip provides CMake targets:
find_package(zip CONFIG REQUIRED)
target_link_libraries(main PRIVATE zip::zip)

View File

@ -1,6 +1,7 @@
{
"name": "kubazip",
"version": "0.3.3",
"port-version": 1,
"description": "A portable, simple zip library written in C",
"homepage": "https://github.com/kuba--/zip",
"license": "MIT",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c5281ba1740ef8aeff54f666fbe1c60c0deac076",
"version": "6.0.2",
"port-version": 1
},
{
"git-tree": "6d85ea7782956f46ad985b5888e21eb742526de8",
"version": "6.0.2",

View File

@ -302,7 +302,7 @@
},
"assimp": {
"baseline": "6.0.2",
"port-version": 0
"port-version": 1
},
"astr": {
"baseline": "0.2.1",
@ -4310,7 +4310,7 @@
},
"kubazip": {
"baseline": "0.3.3",
"port-version": 0
"port-version": 1
},
"kubernetes": {
"baseline": "0.6.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c8136b772f5e0649e186fcfc394386b8f97f14f7",
"version": "0.3.3",
"port-version": 1
},
{
"git-tree": "f180298b3a29f98aee261face05569afcf1313e5",
"version": "0.3.3",