mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-22 18:47:09 +01:00
[libarchive, libuv]Fix static linkage (#10769)
* [libarchive] fix static linkage of libarchive in dependent ports (non yet) * [libuv] fix static builds of dependent ports * modernize portfiles * remove POSIX_REGEX_LIB=NONE since it is added elsewhere * remove debug message
This commit is contained in:
parent
5f77f3e92b
commit
4d8237b89c
@ -1,5 +1,5 @@
|
|||||||
Source: libarchive
|
Source: libarchive
|
||||||
Version: 3.4.1
|
Version: 3.4.1-1
|
||||||
Homepage: https://github.com/libarchive/libarchive
|
Homepage: https://github.com/libarchive/libarchive
|
||||||
Description: Library for reading and writing streaming archives
|
Description: Library for reading and writing streaming archives
|
||||||
Build-Depends: zlib
|
Build-Depends: zlib
|
||||||
|
@ -21,8 +21,25 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
|||||||
lzma ENABLE_LZMA
|
lzma ENABLE_LZMA
|
||||||
lzo ENABLE_LZO
|
lzo ENABLE_LZO
|
||||||
openssl ENABLE_OPENSSL
|
openssl ENABLE_OPENSSL
|
||||||
|
# The below features should be added to CONTROL
|
||||||
|
#pcre ENABLE_PCREPOSIX
|
||||||
|
#nettle ENABLE_NETTLE
|
||||||
|
#expat ENABLE_EXPAT
|
||||||
|
#libgcc ENABLE_LibGCC
|
||||||
|
#cng ENABLE_CNG
|
||||||
|
#tar ENABLE_TAR
|
||||||
|
#cpio ENABLE_CPIO
|
||||||
|
#cat ENABLE_CAT
|
||||||
|
#xattr ENABLE_XATTR
|
||||||
|
#acl ENABLE_ACL
|
||||||
|
#iconv ENABLE_ICONV
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(FEATURES MATCHES "pcre")
|
||||||
|
else()
|
||||||
|
list(APPEND FEATURE_OPTIONS -DPOSIX_REGEX_LIB=NONE)
|
||||||
|
endif()
|
||||||
|
|
||||||
vcpkg_configure_cmake(
|
vcpkg_configure_cmake(
|
||||||
SOURCE_PATH ${SOURCE_PATH}
|
SOURCE_PATH ${SOURCE_PATH}
|
||||||
PREFER_NINJA
|
PREFER_NINJA
|
||||||
@ -38,15 +55,24 @@ vcpkg_configure_cmake(
|
|||||||
-DENABLE_CAT=OFF
|
-DENABLE_CAT=OFF
|
||||||
-DENABLE_XATTR=OFF
|
-DENABLE_XATTR=OFF
|
||||||
-DENABLE_ACL=OFF
|
-DENABLE_ACL=OFF
|
||||||
-DENABLE_TEST=OFF
|
|
||||||
-DENABLE_ICONV=OFF
|
-DENABLE_ICONV=OFF
|
||||||
-DPOSIX_REGEX_LIB=NONE
|
-DENABLE_TEST=OFF
|
||||||
-DENABLE_WERROR=OFF
|
-DENABLE_WERROR=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_install_cmake()
|
vcpkg_install_cmake()
|
||||||
vcpkg_copy_pdbs()
|
vcpkg_copy_pdbs()
|
||||||
|
|
||||||
|
foreach(_feature IN LISTS FEATURE_OPTIONS)
|
||||||
|
string(REPLACE "-D" "" _feature "${_feature}")
|
||||||
|
string(REPLACE "=" ";" _feature "${_feature}")
|
||||||
|
string(REPLACE "ON" "1" _feature "${_feature}")
|
||||||
|
string(REPLACE "OFF" "0" _feature "${_feature}")
|
||||||
|
list(GET _feature 0 _feature_name)
|
||||||
|
list(GET _feature 1 _feature_status)
|
||||||
|
set(${_feature_name} ${_feature_status})
|
||||||
|
endforeach()
|
||||||
|
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY)
|
||||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||||
foreach(HEADER ${CURRENT_PACKAGES_DIR}/include/archive.h ${CURRENT_PACKAGES_DIR}/include/archive_entry.h)
|
foreach(HEADER ${CURRENT_PACKAGES_DIR}/include/archive.h ${CURRENT_PACKAGES_DIR}/include/archive_entry.h)
|
||||||
file(READ ${HEADER} CONTENTS)
|
file(READ ${HEADER} CONTENTS)
|
||||||
@ -54,5 +80,4 @@ foreach(HEADER ${CURRENT_PACKAGES_DIR}/include/archive.h ${CURRENT_PACKAGES_DIR}
|
|||||||
file(WRITE ${HEADER} "${CONTENTS}")
|
file(WRITE ${HEADER} "${CONTENTS}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libarchive)
|
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libarchive/COPYING ${CURRENT_PACKAGES_DIR}/share/libarchive/copyright)
|
|
86
ports/libarchive/vcpkg-cmake-wrapper.cmake
Normal file
86
ports/libarchive/vcpkg-cmake-wrapper.cmake
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
_find_package(${ARGS})
|
||||||
|
|
||||||
|
if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
|
||||||
|
if(@ENABLE_BZip2@)
|
||||||
|
find_package(BZip2 REQUIRED)
|
||||||
|
list(APPEND LibArchive_LIBRARIES BZip2::BZip2)
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_LIBXML2@)
|
||||||
|
find_package(LibXml2 REQUIRED)
|
||||||
|
list(APPEND LibArchive_LIBRARIES LibXml2::LibXml2)
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_LZ4@)
|
||||||
|
find_package(lz4 REQUIRED)
|
||||||
|
list(APPEND LibArchive_LIBRARIES lz4::lz4)
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_LZMA@)
|
||||||
|
find_package(LibLZMA REQUIRED)
|
||||||
|
list(APPEND LibArchive_LIBRARIES LibLZMA::LibLZMA)
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_LZO@)
|
||||||
|
find_library(LZO_LIBRARY_DEBUG NAMES lzo2d lzo2 NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH)
|
||||||
|
find_library(LZO_LIBRARY_RELEASE NAMES lzo2 NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH)
|
||||||
|
if(LZO_LIBRARY_RELEASE)
|
||||||
|
list(APPEND LibArchive_LIBRARIES optimized ${LZO_LIBRARY_RELEASE})
|
||||||
|
endif()
|
||||||
|
if(LZO_LIBRARY_DEBUG)
|
||||||
|
list(APPEND LibArchive_LIBRARIES debug ${LZO_LIBRARY_DEBUG})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_OPENSSL@)
|
||||||
|
find_package(OpenSSL REQUIRED)
|
||||||
|
list(APPEND LibArchive_LIBRARIES OpenSSL::Crypto)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(TARGET LibArchive::LibArchive)
|
||||||
|
if(@ENABLE_BZip2@)
|
||||||
|
target_link_libraries(LibArchive::LibArchive INTERFACE BZip2::BZip2)
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_LIBXML2@)
|
||||||
|
target_link_libraries(LibArchive::LibArchive INTERFACE LibXml2::LibXml2)
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_LZ4@)
|
||||||
|
target_link_libraries(LibArchive::LibArchive INTERFACE lz4::lz4)
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_LZMA@)
|
||||||
|
target_link_libraries(LibArchive::LibArchive INTERFACE LibLZMA::LibLZMA)
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_LZO@)
|
||||||
|
if(LZO_LIBRARY_RELEASE)
|
||||||
|
list(APPEND interface_lib \$<\$<NOT:\$<CONFIG:DEBUG>>:${LZO_LIBRARY_RELEASE}>)
|
||||||
|
endif()
|
||||||
|
if(LZO_LIBRARY_DEBUG)
|
||||||
|
list(APPEND interface_lib \$<\$<CONFIG:DEBUG>:${LZO_LIBRARY_DEBUG}>)
|
||||||
|
endif()
|
||||||
|
set_property(TARGET LibArchive::LibArchive APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${interface_lib})
|
||||||
|
endif()
|
||||||
|
if(@ENABLE_OPENSSL@)
|
||||||
|
target_link_libraries(LibArchive::LibArchive INTERFACE OpenSSL::Crypto)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# TODO in some future
|
||||||
|
# if(@ENABLE_PCREPOSIX@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_NETTLE@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_EXPAT@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_LibGCC@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_CNG@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_TAR@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_CPIO@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_CAT@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_XATTR@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_ACL@)
|
||||||
|
# endif()
|
||||||
|
# if(@ENABLE_ICONV@)
|
||||||
|
# endif()
|
@ -1,4 +1,4 @@
|
|||||||
Source: libuv
|
Source: libuv
|
||||||
Version: 1.34.2
|
Version: 1.34.2-1
|
||||||
Homepage: https://github.com/libuv/libuv
|
Homepage: https://github.com/libuv/libuv
|
||||||
Description: libuv is a multi-platform support library with a focus on asynchronous I/O.
|
Description: libuv is a multi-platform support library with a focus on asynchronous I/O.
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
include(vcpkg_common_functions)
|
|
||||||
|
|
||||||
vcpkg_from_github(
|
vcpkg_from_github(
|
||||||
OUT_SOURCE_PATH SOURCE_PATH
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
REPO libuv/libuv
|
REPO libuv/libuv
|
||||||
@ -32,8 +30,9 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
|||||||
string(REPLACE "defined(USING_UV_SHARED)" "1" UV_H "${UV_H}")
|
string(REPLACE "defined(USING_UV_SHARED)" "1" UV_H "${UV_H}")
|
||||||
else()
|
else()
|
||||||
string(REPLACE "defined(USING_UV_SHARED)" "0" UV_H "${UV_H}")
|
string(REPLACE "defined(USING_UV_SHARED)" "0" UV_H "${UV_H}")
|
||||||
|
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY)
|
||||||
endif()
|
endif()
|
||||||
file(WRITE ${CURRENT_PACKAGES_DIR}/include/uv.h "${UV_H}")
|
file(WRITE ${CURRENT_PACKAGES_DIR}/include/uv.h "${UV_H}")
|
||||||
|
|
||||||
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libuv)
|
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libuv/LICENSE ${CURRENT_PACKAGES_DIR}/share/libuv/copyright)
|
|
||||||
|
16
ports/libuv/vcpkg-cmake-wrapper.cmake
Normal file
16
ports/libuv/vcpkg-cmake-wrapper.cmake
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
_find_package(${ARGS})
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
list(APPEND LibUV_LIBRARIES iphlpapi psapi shell32 userenv ws2_32)
|
||||||
|
if(TARGET LibUV::LibUV)
|
||||||
|
target_link_libraries(LibUV::LibUV INTERFACE iphlpapi psapi shell32 userenv ws2_32)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
include(CMakeFindDependencyMacro)
|
||||||
|
find_dependency(Threads)
|
||||||
|
list(APPEND LibUV_LIBRARIES Threads::Threads)
|
||||||
|
if(TARGET LibUV::LibUV)
|
||||||
|
target_link_libraries(LibUV::LibUV INTERFACE Threads::Threads)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user