mirror of https://github.com/microsoft/vcpkg.git
tdlib: update to 1.8.65 (#52666)
This commit is contained in:
parent
a3aa8b347b
commit
8d2835515f
|
|
@ -1,142 +0,0 @@
|
|||
diff --git a/CMake/GeneratePkgConfig.cmake b/CMake/GeneratePkgConfig.cmake
|
||||
index 3d3fa01d1f69..499b1c86be93 100644
|
||||
--- a/CMake/GeneratePkgConfig.cmake
|
||||
+++ b/CMake/GeneratePkgConfig.cmake
|
||||
@@ -8,12 +8,13 @@ function(get_relative_link OUTPUT PATH)
|
||||
get_filename_component(NAME "${PATH}" NAME_WE)
|
||||
if (IS_ABSOLUTE ${PATH})
|
||||
get_filename_component(DIRECTORY_NAME "${PATH}" DIRECTORY)
|
||||
- if (WIN32)
|
||||
- set(${OUTPUT} "-l\"${DIRECTORY_NAME}/${NAME}\"" PARENT_SCOPE)
|
||||
- else()
|
||||
- get_filename_component(FULL_NAME "${PATH}" NAME)
|
||||
- set(${OUTPUT} "-L\"${DIRECTORY_NAME}\" -l:${FULL_NAME}" PARENT_SCOPE)
|
||||
+ get_filename_component(FULL_NAME "${PATH}" NAME)
|
||||
+ string(REGEX REPLACE "^lib([^.]+).*$" "\\1" LIB_NAME "${FULL_NAME}")
|
||||
+ # If the regex didn't match (no lib prefix), fall back to name without extension
|
||||
+ if ("${LIB_NAME}" STREQUAL "${FULL_NAME}")
|
||||
+ set(LIB_NAME "${NAME}")
|
||||
endif()
|
||||
+ set(${OUTPUT} "-L\"${DIRECTORY_NAME}\" -l${LIB_NAME}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
@@ -31,7 +32,42 @@ function(generate_pkgconfig TARGET DESCRIPTION)
|
||||
# message("Generating pkg-config for ${TARGET}")
|
||||
get_filename_component(PREFIX "${CMAKE_INSTALL_PREFIX}" REALPATH)
|
||||
|
||||
- get_target_property(LIST "${TARGET}" LINK_LIBRARIES)
|
||||
+ get_target_property(LIBRARY_TYPE "${TARGET}" TYPE)
|
||||
+ if ("${LIBRARY_TYPE}" STREQUAL "INTERFACE_LIBRARY")
|
||||
+ get_target_property(LIST "${TARGET}" INTERFACE_LINK_LIBRARIES)
|
||||
+ else()
|
||||
+ get_target_property(LIST "${TARGET}" LINK_LIBRARIES)
|
||||
+ endif()
|
||||
+
|
||||
+ if ("${LIST}" STREQUAL "LIST-NOTFOUND")
|
||||
+ set(LIST "")
|
||||
+ endif()
|
||||
+
|
||||
+ set(INTERFACE_LIBS "")
|
||||
+ if ("${LIBRARY_TYPE}" STREQUAL "INTERFACE_LIBRARY")
|
||||
+ set(PROPAGATED "")
|
||||
+ foreach (DEP ${LIST})
|
||||
+ if (TARGET "${DEP}")
|
||||
+ get_target_property(DEP_TYPE "${DEP}" TYPE)
|
||||
+ if ("${DEP_TYPE}" STREQUAL "STATIC_LIBRARY" OR "${DEP_TYPE}" STREQUAL "SHARED_LIBRARY")
|
||||
+ list(APPEND INTERFACE_LIBS "${DEP}")
|
||||
+ get_target_property(DEP_LIBS "${DEP}" LINK_LIBRARIES)
|
||||
+ if (NOT "${DEP_LIBS}" STREQUAL "DEP_LIBS-NOTFOUND")
|
||||
+ list(APPEND PROPAGATED ${DEP_LIBS})
|
||||
+ endif()
|
||||
+ else()
|
||||
+ list(APPEND PROPAGATED "${DEP}")
|
||||
+ endif()
|
||||
+ else()
|
||||
+ list(APPEND PROPAGATED "${DEP}")
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
+ if (PROPAGATED)
|
||||
+ list(REMOVE_DUPLICATES PROPAGATED)
|
||||
+ endif()
|
||||
+ set(LIST "${PROPAGATED}")
|
||||
+ endif()
|
||||
+
|
||||
set(REQS "")
|
||||
set(LIBS "")
|
||||
foreach (LIB ${LIST})
|
||||
@@ -38,3 +74,9 @@ function(generate_pkgconfig TARGET DESCRIPTION)
|
||||
if (TARGET "${LIB}")
|
||||
+ if ("${LIBRARY_TYPE}" STREQUAL "SHARED_LIBRARY")
|
||||
+ get_target_property(LIB_TYPE "${LIB}" TYPE)
|
||||
+ if ("${LIB_TYPE}" STREQUAL "STATIC_LIBRARY")
|
||||
+ continue()
|
||||
+ endif()
|
||||
+ endif()
|
||||
set(HAS_REQS 1)
|
||||
list(APPEND REQS "${LIB}")
|
||||
@@ -41,7 +83,7 @@ function(generate_pkgconfig TARGET DESCRIPTION)
|
||||
else()
|
||||
set(HAS_LIBS 1)
|
||||
get_relative_link(LINK "${LIB}")
|
||||
- if (NOT LINK EQUAL "")
|
||||
+ if (NOT "${LINK}" STREQUAL "")
|
||||
list(APPEND LIBS "${LINK}")
|
||||
endif()
|
||||
endif()
|
||||
@@ -77,6 +119,36 @@ function(generate_pkgconfig TARGET DESCRIPTION)
|
||||
endif()
|
||||
|
||||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig")
|
||||
+
|
||||
+ get_target_property(TARGET_OUTPUT_NAME "${TARGET}" OUTPUT_NAME)
|
||||
+ if ("${TARGET_OUTPUT_NAME}" STREQUAL "TARGET_OUTPUT_NAME-NOTFOUND")
|
||||
+ set(TARGET_OUTPUT_NAME "${TARGET}")
|
||||
+ endif()
|
||||
+
|
||||
+ if ("${LIBRARY_TYPE}" STREQUAL "INTERFACE_LIBRARY")
|
||||
+ set(LIBS_LINE "")
|
||||
+ foreach (ILIB ${INTERFACE_LIBS})
|
||||
+ get_target_property(ILIB_OUTPUT_NAME "${ILIB}" OUTPUT_NAME)
|
||||
+ if ("${ILIB_OUTPUT_NAME}" STREQUAL "ILIB_OUTPUT_NAME-NOTFOUND")
|
||||
+ set(ILIB_OUTPUT_NAME "${ILIB}")
|
||||
+ endif()
|
||||
+ set(LIBS_LINE "${LIBS_LINE} -l${ILIB_OUTPUT_NAME}")
|
||||
+ endforeach()
|
||||
+ set(LIBS_LINE "Libs: -L\"${PKGCONFIG_LIBDIR}\"${LIBS_LINE}")
|
||||
+ else()
|
||||
+ set(LIBS_LINE "Libs: -L\"${PKGCONFIG_LIBDIR}\" -l${TARGET_OUTPUT_NAME}")
|
||||
+ endif()
|
||||
+
|
||||
+ get_target_property(_td_iface_defs "${TARGET}" INTERFACE_COMPILE_DEFINITIONS)
|
||||
+ set(CFLAGS_DEFS "")
|
||||
+ if (NOT "${_td_iface_defs}" STREQUAL "_td_iface_defs-NOTFOUND")
|
||||
+ foreach(_def ${_td_iface_defs})
|
||||
+ string(APPEND CFLAGS_DEFS " -D${_def}")
|
||||
+ endforeach()
|
||||
+ unset(_def)
|
||||
+ endif()
|
||||
+ unset(_td_iface_defs)
|
||||
+
|
||||
file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/${TARGET}.pc" CONTENT
|
||||
"prefix=${PREFIX}
|
||||
|
||||
@@ -85,14 +157,12 @@ Description: ${DESCRIPTION}
|
||||
Version: ${PROJECT_VERSION}
|
||||
|
||||
-CFlags: -I\"${PKGCONFIG_INCLUDEDIR}\"
|
||||
+CFlags: -I\"${PKGCONFIG_INCLUDEDIR}\"${CFLAGS_DEFS}
|
||||
-Libs: -L\"${PKGCONFIG_LIBDIR}\" -l${TARGET}
|
||||
+${LIBS_LINE}
|
||||
${REQUIRES}${LIBRARIES}")
|
||||
|
||||
- get_target_property(LIBRARY_TYPE "${TARGET}" TYPE)
|
||||
- if (LIBRARY_TYPE STREQUAL "STATIC_LIBRARY" OR LIBRARY_TYPE STREQUAL "SHARED_LIBRARY")
|
||||
+ if ("${LIBRARY_TYPE}" STREQUAL "STATIC_LIBRARY" OR "${LIBRARY_TYPE}" STREQUAL "SHARED_LIBRARY" OR
|
||||
+ "${LIBRARY_TYPE}" STREQUAL "INTERFACE_LIBRARY")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/${TARGET}.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
||||
- elseif (LIBRARY_TYPE STREQUAL "INTERFACE_LIBRARY")
|
||||
- # TODO: support interface libraries
|
||||
else()
|
||||
message(FATAL_ERROR "Don't know how to handle ${TARGET} of type ${LIBRARY_TYPE}")
|
||||
endif()
|
||||
|
|
@ -1,19 +1,11 @@
|
|||
vcpkg_download_distfile(FIX_TDCORE_PATCH
|
||||
URLS https://github.com/tdlib/td/commit/49b3bcbb6bfebf2ed44dd9f25102d2e1a94a58c4.diff?full_index=1
|
||||
FILENAME tdlib-fix-tdcore-49b3bcbb6bfebf2ed44dd9f25102d2e1a94a58c4.diff
|
||||
SHA512 ef8b69e68830474a9af0b9f3d2d13eaf8c0383d1d74bc123e4b6f68c398d400b73f1154b0c1264c8ce99eb20a0ee392336306e5de12fed759a5bac184a6cca74
|
||||
)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO tdlib/td
|
||||
REF 7f163d850abbebecf749e99fb412271cc1f4e805
|
||||
REF a8f21f5230172634becc1739050ef23ecd6ea291
|
||||
HEAD_REF master
|
||||
SHA512 6cebc7f655267abbbdfca1717c36004c2ae11626420fe0ce748e402ca53e972b6cbad2ca34607d04e66e28cd740a5faf215505273845adb06075db4d09cd8e46
|
||||
SHA512 8aaa918c9049d6af580b1ec7953204ccd816648e70169cd1b18f36d5f4d85e523acb30963a134fa5a056f61e9df46b8e36b1f336ea0de08548764becb3b9dd71
|
||||
PATCHES
|
||||
fix-pc.patch
|
||||
fix-cross-compile.patch
|
||||
"${FIX_TDCORE_PATCH}"
|
||||
)
|
||||
|
||||
vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gperf")
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "tdlib",
|
||||
"version": "1.8.64",
|
||||
"version": "1.8.65",
|
||||
"maintainers": "luadebug <lin@sz.cn.eu.org>",
|
||||
"description": "Cross-platform library for building Telegram clients",
|
||||
"homepage": "https://github.com/tdlib/td",
|
||||
|
|
|
|||
|
|
@ -10017,7 +10017,7 @@
|
|||
"port-version": 0
|
||||
},
|
||||
"tdlib": {
|
||||
"baseline": "1.8.64",
|
||||
"baseline": "1.8.65",
|
||||
"port-version": 0
|
||||
},
|
||||
"tdscpp": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "c89604773f3b6b323a406da3b7b9120619b65e86",
|
||||
"version": "1.8.65",
|
||||
"port-version": 0
|
||||
},
|
||||
{
|
||||
"git-tree": "72e5ab1e006da346e7e36e2cc8ce8dba2c7eef27",
|
||||
"version": "1.8.64",
|
||||
|
|
|
|||
Loading…
Reference in New Issue