Add libplist conversion

This commit is contained in:
Jackson Coxson
2025-03-24 18:21:23 -06:00
parent a7772ebb8e
commit 3aa373d83a
5 changed files with 328 additions and 24 deletions

View File

@@ -6,7 +6,7 @@ project(IdeviceFFI C)
# Set the paths
set(HEADER_FILE ${CMAKE_SOURCE_DIR}/../idevice.h)
set(STATIC_LIB ${CMAKE_SOURCE_DIR}/target/release/libidevice_ffi.a)
set(STATIC_LIB ${CMAKE_SOURCE_DIR}/../../target/release/libidevice_ffi.a)
set(EXAMPLES_DIR ${CMAKE_SOURCE_DIR}/../examples)
# Find all C example files
@@ -30,6 +30,31 @@ foreach(EXAMPLE_FILE ${EXAMPLE_SOURCES})
# Link OpenSSL
target_link_libraries(${EXAMPLE_NAME} PRIVATE OpenSSL::SSL OpenSSL::Crypto)
# libplist
if( APPLE )
# use static linking
pkg_search_module(PLIST REQUIRED libplist-2.0)
find_library( LIBPLIST libplist-2.0.a REQUIRED )
message( STATUS "(Static linking) LIBPLIST " ${LIBPLIST} )
target_link_libraries ( ${EXAMPLE_NAME} PRIVATE ${LIBPLIST} )
elseif( WIN32)
pkg_search_module(PLIST REQUIRED libplist-2.0)
find_library( LIBPLIST ${PLIST_LIBRARIES} PATH ${PLIST_LIBDIR} )
target_link_libraries ( ${EXAMPLE_NAME} PRIVATE ${LIBPLIST} )
else ()
pkg_search_module(PLIST libplist>=2.0)
if(NOT PLIST_FOUND)
pkg_search_module(PLIST REQUIRED libplist-2.0)
endif()
find_library( LIBPLIST ${PLIST_LIBRARIES} PATH ${PLIST_LIBDIR} )
target_link_libraries ( ${EXAMPLE_NAME} PUBLIC ${LIBPLIST} )
endif()
if ( PLIST_FOUND )
message( STATUS "found libplist-${PLIST_VERSION}" )
endif()
target_include_directories( ${EXAMPLE_NAME} PRIVATE ${PLIST_INCLUDE_DIRS} )
# Bulk-link common macOS system frameworks
if(APPLE)
target_link_libraries(${EXAMPLE_NAME} PRIVATE