mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 22:10:04 +08:00
Merge pull request #8842 from JackBoosY/dev/jack/upgrade_libi
[libideviceactivation libimobiledevice libusbmuxd] Upgrade version, modify build process
This commit is contained in:
commit
1fd6cc945d
39
ports/libideviceactivation/CMakeLists.txt
Normal file
39
ports/libideviceactivation/CMakeLists.txt
Normal file
@ -0,0 +1,39 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(libideviceactivation C)
|
||||
|
||||
# find dependencies
|
||||
find_library(libplist plist REQUIRED)
|
||||
find_path(libimobiledevice_INCLUDES endianness.h)
|
||||
find_library(libimobiledevice libimobiledevice REQUIRED)
|
||||
find_package(LibXml2 REQUIRED)
|
||||
find_package(CURL REQUIRED)
|
||||
|
||||
# ready to create library
|
||||
file(GLOB_RECURSE IDVCACTV_TOOLS_SRC common/*.c)
|
||||
|
||||
file(GLOB_RECURSE IDVCACTV_PUBLIC_HDR include/*.h)
|
||||
file(GLOB_RECURSE IDVCACTV_SRC src/*.c)
|
||||
|
||||
add_library(libideviceactivation ${IDVCACTV_TOOLS_SRC} ${IDVCACTV_SRC} ${IDVCACTV_PUBLIC_HDR})
|
||||
target_include_directories(libideviceactivation PRIVATE ${libimobiledevice_INCLUDES} ${LIBXML2_INCLUDE_DIR} ${CURL_INCLUDE_DIRS} include)
|
||||
target_compile_definitions(libideviceactivation PRIVATE -DHAVE_OPENSSL)
|
||||
target_link_libraries(libideviceactivation PRIVATE ${libplist} ${libimobiledevice} ${CURL_LIBRARIES} ${LIBXML2_LIBRARIES})
|
||||
|
||||
# install
|
||||
install(
|
||||
TARGETS libideviceactivation
|
||||
RUNTIME DESTINATION bin
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib
|
||||
)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/libideviceactivation-1.0.pc.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/libideviceactivation-1.0.pc
|
||||
@ONLY
|
||||
)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/libideviceactivation-1.0.pc
|
||||
DESTINATION lib/pkgconfig
|
||||
)
|
||||
|
||||
install(FILES ${IDVCACTV_PUBLIC_HDR} DESTINATION include)
|
@ -1,4 +1,4 @@
|
||||
Source: libideviceactivation
|
||||
Version: 1.2.68-1
|
||||
Version: 1.2.137
|
||||
Description: A library to handle the activation process of iOS devices
|
||||
Build-Depends: libimobiledevice, libxml2, curl
|
||||
Build-Depends: libimobiledevice, libxml2, curl, libplist
|
@ -1,22 +0,0 @@
|
||||
diff --git a/libideviceactivation.vcxproj b/libideviceactivation.vcxproj
|
||||
index ba473f7a..47a20d15 100644
|
||||
--- a/libideviceactivation.vcxproj
|
||||
+++ b/libideviceactivation.vcxproj
|
||||
@@ -76,7 +76,7 @@
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
- <AdditionalDependencies>libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
+ <AdditionalDependencies>libcurl-d.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
@@ -89,7 +89,7 @@
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
- <AdditionalDependencies>libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
+ <AdditionalDependencies>libcurl-d.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
@ -1,23 +1,22 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO libimobiledevice-win32/libideviceactivation
|
||||
REF v1.2.68
|
||||
SHA512 c2742bba2d90c21e853255c9ef1b9a63560c3e65541a0a3daaace9b0c48d236b7947008dbcd6e42622251015b686758ebc6b564e379d831cb4f52af812430140
|
||||
REF de6008a6bd66a96bb11468b8b137704f0fef2c54 # v1.2.137
|
||||
SHA512 cdf72702c465cb3e405db067fa96e2979b8c32e7798bcdb9e7286c4bc9392639cb0d31622c321453f635ef5212e645d300f3b420a847fb16fa05425c4882be95
|
||||
HEAD_REF msvc-master
|
||||
PATCHES libcurl_d.patch
|
||||
)
|
||||
|
||||
vcpkg_install_msbuild(
|
||||
configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PROJECT_SUBPATH libideviceactivation.sln
|
||||
INCLUDES_SUBPATH include
|
||||
LICENSE_SUBPATH COPYING
|
||||
USE_VCPKG_INTEGRATION
|
||||
ALLOW_ROOT_INCLUDES
|
||||
PREFER_NINJA
|
||||
)
|
||||
|
||||
file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am)
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
49
ports/libimobiledevice/CMakeLists.txt
Normal file
49
ports/libimobiledevice/CMakeLists.txt
Normal file
@ -0,0 +1,49 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(libimobiledevice C)
|
||||
|
||||
# find dependencies
|
||||
find_library(libplist plist REQUIRED)
|
||||
find_library(libusbmuxd libusbmuxd REQUIRED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
find_path(dirent_INCLUDE_DIR dirent.h)
|
||||
if (WIN32)
|
||||
find_library(getopt getopt REQUIRED)
|
||||
endif()
|
||||
|
||||
# ready to create library
|
||||
file(GLOB_RECURSE IMOBDEV_COMMON_HDR common/*.h)
|
||||
file(GLOB_RECURSE IMOBDEV_COMMON_SRC common/*.c)
|
||||
|
||||
file(GLOB IMOBDEV_PUBLIC_HDR include/*.h)
|
||||
file(GLOB IMOBDEV_PUBLIC_SUB_HDR include/libimobiledevice/*.h)
|
||||
file(GLOB_RECURSE IMOBDEV_PRIVATE_HDR src/*.h)
|
||||
file(GLOB_RECURSE IMOBDEV_SRC src/*.c)
|
||||
|
||||
add_library(libimobiledevice ${IMOBDEV_SRC} ${IMOBDEV_PUBLIC_HDR} ${IMOBDEV_PUBLIC_SUB_HDR} ${IMOBDEV_PRIVATE_HDR} ${IMOBDEV_COMMON_HDR} ${IMOBDEV_COMMON_SRC})
|
||||
target_include_directories(libimobiledevice PRIVATE ${dirent_INCLUDE_DIR} include .)
|
||||
target_compile_definitions(libimobiledevice PRIVATE -DHAVE_OPENSSL)
|
||||
target_link_libraries(libimobiledevice PRIVATE ${libplist} ${libusbmuxd} ${getopt} OpenSSL::SSL OpenSSL::Crypto)
|
||||
if (WIN32)
|
||||
target_link_libraries(libimobiledevice PRIVATE Ws2_32)
|
||||
else()
|
||||
endif()
|
||||
|
||||
# install
|
||||
install(
|
||||
TARGETS libimobiledevice
|
||||
RUNTIME DESTINATION bin
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib
|
||||
)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/libimobiledevice-1.0.pc.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-1.0.pc
|
||||
@ONLY
|
||||
)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-1.0.pc
|
||||
DESTINATION lib/libimobiledevice
|
||||
)
|
||||
|
||||
install(FILES ${IMOBDEV_PUBLIC_HDR} DESTINATION include)
|
||||
install(FILES ${IMOBDEV_PUBLIC_SUB_HDR} DESTINATION include/libimobiledevice)
|
@ -1,4 +1,4 @@
|
||||
Source: libimobiledevice
|
||||
Version: 1.2.76
|
||||
Version: 1.2.137
|
||||
Description: A cross-platform protocol library to communicate with iOS devices
|
||||
Build-Depends: libplist, libusbmuxd, openssl, dirent, getopt
|
@ -1,20 +1,22 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO libimobiledevice-win32/libimobiledevice
|
||||
REF d6b24aae971b990d2777a88ec3a1e31b40d6152f
|
||||
SHA512 75e45162fecd80464846ff51c9b3e722017f738de8f6b55e9f41f5eadcd93730b12512087d427badbc0c2b54a76a66359a472ab5bc5be5fa02826db1171565d0
|
||||
REF 7cf5cb4b9675ddcaed5ea3d7ee2c8848da18d691 # v1.2.137
|
||||
SHA512 cfc32d3414af333d3410c292660b526f2339d210bc2cc3ddf1de87c951bff526c731c4d61609441b3c1ce8e2d1398e6d4c35fdae3e7434bfd5050e5975047a11
|
||||
HEAD_REF msvc-master
|
||||
)
|
||||
|
||||
vcpkg_install_msbuild(
|
||||
configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PROJECT_SUBPATH libimobiledevice.sln
|
||||
INCLUDES_SUBPATH include
|
||||
LICENSE_SUBPATH COPYING
|
||||
REMOVE_ROOT_INCLUDES
|
||||
USE_VCPKG_INTEGRATION
|
||||
PREFER_NINJA
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
42
ports/libusbmuxd/CMakeLists.txt
Normal file
42
ports/libusbmuxd/CMakeLists.txt
Normal file
@ -0,0 +1,42 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(libusbmuxd C)
|
||||
|
||||
# find dependencies
|
||||
find_path(libplist_INCLUDES plist.h PATH_SUFFIXES plist)
|
||||
set(libplist_INCLUDES ${libplist_INCLUDES}/../)
|
||||
find_library(libplist plist REQUIRED)
|
||||
|
||||
# ready to create library
|
||||
file(GLOB_RECURSE IDVCACTV_TOOLS_HDR common/*.h)
|
||||
file(GLOB_RECURSE IDVCACTV_TOOLS_SRC common/*.c)
|
||||
|
||||
file(GLOB_RECURSE IDVCACTV_PUBLIC_HDR include/*.h)
|
||||
file(GLOB_RECURSE IDVCACTV_SRC src/*.c)
|
||||
|
||||
add_library(libusbmuxd ${IDVCACTV_TOOLS_HDR} ${IDVCACTV_TOOLS_SRC} ${IDVCACTV_SRC} ${IDVCACTV_PUBLIC_HDR})
|
||||
target_include_directories(libusbmuxd PRIVATE ${libplist_INCLUDES} include common)
|
||||
target_compile_definitions(libusbmuxd PRIVATE -DPACKAGE_STRING="1.2.77")
|
||||
if (WIN32)
|
||||
target_compile_definitions(libusbmuxd PRIVATE -DWIN32)
|
||||
target_link_libraries(libusbmuxd PRIVATE Ws2_32)
|
||||
endif()
|
||||
target_link_libraries(libusbmuxd PRIVATE ${libplist})
|
||||
|
||||
# install
|
||||
install(
|
||||
TARGETS libusbmuxd
|
||||
RUNTIME DESTINATION bin
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib
|
||||
)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/libusbmuxd.pc.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd.pc
|
||||
@ONLY
|
||||
)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd.pc
|
||||
DESTINATION lib/pkgconfig
|
||||
)
|
||||
|
||||
install(FILES ${IDVCACTV_PUBLIC_HDR} DESTINATION include)
|
@ -1,4 +1,4 @@
|
||||
Source: libusbmuxd
|
||||
Version: 1.2.77-1
|
||||
Version: 1.2.137
|
||||
Description: A client library to multiplex connections from and to iOS devices
|
||||
Build-Depends: libplist
|
||||
|
20
ports/libusbmuxd/fix-win-build.patch
Normal file
20
ports/libusbmuxd/fix-win-build.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c
|
||||
index e85cf4a..35ed1b5 100644
|
||||
--- a/src/libusbmuxd.c
|
||||
+++ b/src/libusbmuxd.c
|
||||
@@ -86,6 +86,15 @@ static char* stpncpy(char *dst, const char *src, size_t len)
|
||||
}
|
||||
#endif
|
||||
|
||||
+#ifdef WIN32
|
||||
+int strcasecmp(char *s1, char *s2)
|
||||
+{
|
||||
+ while (toupper((unsigned char)*s1) == toupper((unsigned char)*s2++))
|
||||
+ if (*s1++ == '\0') return 0;
|
||||
+ return(toupper((unsigned char)*s1) - toupper((unsigned char)*--s2));
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
#include <plist/plist.h>
|
||||
#define PLIST_CLIENT_VERSION_STRING PACKAGE_STRING
|
||||
#define PLIST_LIBUSBMUX_VERSION 3
|
@ -1,28 +1,23 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_check_linkage(ONLY_DYNAMIC_CRT ONLY_DYNAMIC_LIBRARY)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO libimobiledevice-win32/libusbmuxd
|
||||
REF a4422aa65f3635d99c3b80fad18f093ef3c5f653
|
||||
SHA512 9446bbcd6b901e6183f6e86d7fe7301c01182ae5b9330182fbca529bb1db54250cd6012256a420d457a7243388811c94bb2ecf5a0747238714d00b3850e60e8e
|
||||
REF b9643ca81b8274fbb2411d3c66c4edf103f6a711 # v1.2.137
|
||||
SHA512 f4c9537349bfac2140c809be24cc573d92087a57f20d90e2abd46d0a2098e31ccd283ab776302b61470fb08d45f8dc2cfb8bd8678cba7db5b2a9b51c270a3cc8
|
||||
HEAD_REF msvc-master
|
||||
PATCHES fix-win-build.patch
|
||||
)
|
||||
|
||||
set(ENV{_CL_} "$ENV{_CL_} /GL-")
|
||||
set(ENV{_LINK_} "$ENV{_LINK_} /LTCG:OFF")
|
||||
configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
|
||||
|
||||
vcpkg_install_msbuild(
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PROJECT_SUBPATH libusbmuxd.sln
|
||||
INCLUDES_SUBPATH include
|
||||
LICENSE_SUBPATH COPYING
|
||||
USE_VCPKG_INTEGRATION
|
||||
ALLOW_ROOT_INCLUDES
|
||||
PREFER_NINJA
|
||||
)
|
||||
|
||||
file(REMOVE "${CURRENT_PACKAGES_DIR}/include/Makefile.am")
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
|
||||
endif()
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
@ -923,7 +923,6 @@ libusb:arm-uwp=fail
|
||||
libusb:x64-linux=fail
|
||||
libusb:x64-osx=fail
|
||||
libusb:x64-uwp=fail
|
||||
libusbmuxd:arm64-windows=fail
|
||||
libusbmuxd:arm-uwp=fail
|
||||
libusbmuxd:x64-uwp=fail
|
||||
libusbmuxd:x64-linux=fail
|
||||
|
Loading…
Reference in New Issue
Block a user