aboutsummaryrefslogtreecommitdiff
path: root/ports/libimobiledevice
diff options
context:
space:
mode:
authorJackBoosY <yuzaiyang@beyondsoft.com>2019-10-31 21:35:56 -0700
committerJackBoosY <yuzaiyang@beyondsoft.com>2019-10-31 21:36:21 -0700
commit69c0cc89d65a07748c9a307b4d89b016b76d2b49 (patch)
tree9e3afc5d95502325424d50bfe60073b2f442daf1 /ports/libimobiledevice
parent38570e216e2d5541891cd1d6afa4d8487615d935 (diff)
downloadvcpkg-69c0cc89d65a07748c9a307b4d89b016b76d2b49.tar.gz
vcpkg-69c0cc89d65a07748c9a307b4d89b016b76d2b49.zip
[libideviceactivation/libimobiledevice]Upgrade version, modify build process.
Diffstat (limited to 'ports/libimobiledevice')
-rw-r--r--ports/libimobiledevice/CMakeLists.txt53
-rw-r--r--ports/libimobiledevice/CONTROL2
-rw-r--r--ports/libimobiledevice/portfile.cmake26
3 files changed, 68 insertions, 13 deletions
diff --git a/ports/libimobiledevice/CMakeLists.txt b/ports/libimobiledevice/CMakeLists.txt
new file mode 100644
index 000000000..c5fb4a3c9
--- /dev/null
+++ b/ports/libimobiledevice/CMakeLists.txt
@@ -0,0 +1,53 @@
+cmake_minimum_required(VERSION 3.0)
+project(libimobiledevice C)
+
+# find dependencies
+find_library(libplist plist REQUIRED)
+find_library(libusbmuxd usbmuxd REQUIRED)
+find_package(OpenSSL REQUIRED)
+find_path(dirent_INCLUDE_DIR dirent.h)
+if (WIN32)
+find_library(getopt getopt REQUIRED)
+endif()
+
+#prepare config files
+configure_file(config.h.in config.h @ONLY)
+
+# 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)
+list(APPEND IMOBDEV_PUBLIC_HDR ${CMAKE_CURRENT_BINARY_DIR}/config.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) \ No newline at end of file
diff --git a/ports/libimobiledevice/CONTROL b/ports/libimobiledevice/CONTROL
index 0a6a21bf8..d5234beb7 100644
--- a/ports/libimobiledevice/CONTROL
+++ b/ports/libimobiledevice/CONTROL
@@ -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 \ No newline at end of file
diff --git a/ports/libimobiledevice/portfile.cmake b/ports/libimobiledevice/portfile.cmake
index f91cad8cc..1972473e1 100644
--- a/ports/libimobiledevice/portfile.cmake
+++ b/ports/libimobiledevice/portfile.cmake
@@ -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)