[yoctolib] 2.1.11761 Update (#49802)

Signed-off-by: Yoctopuce <dev@yoctopuce.com>
This commit is contained in:
Yoctopuce dev 2026-02-05 21:49:56 +01:00 committed by GitHub
parent c71d7047c4
commit b4f070b903
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 11 additions and 164 deletions

107
ports/yoctolib/001-cmake_config.patch Normal file → Executable file
View File

@ -1,111 +1,8 @@
diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt
index 678fff5..f60b212 100644
--- a/Sources/CMakeLists.txt
+++ b/Sources/CMakeLists.txt
@@ -181,10 +181,41 @@ add_library (YoctoLib ${YoctoLibCppSources} ${YoctoLibHSources})
# add yapi low level api
add_subdirectory(yapi)
-target_link_libraries(YoctoLib PRIVATE yapi)
-target_include_directories (YoctoLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+target_link_libraries(YoctoLib PUBLIC yapi)
+target_include_directories (YoctoLib
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
set_target_properties(YoctoLib PROPERTIES SOVERSION 1)
set_target_properties(YoctoLib PROPERTIES LIBRARY_OUTPUT_NAME yocto)
-install(TARGETS YoctoLib DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES ${YoctoLibHSources} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES yapi/yapi.h yapi/ydef.h yapi/yversion.h yapi/yjson.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/yapi)
+
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file(
+ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-yoctolib-version.cmake"
+ VERSION ${VERSION}
+ COMPATIBILITY SameMajorVersion
+)
+configure_package_config_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/unofficial-yoctolib-config.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-yoctolib-config.cmake"
+ INSTALL_DESTINATION share/unofficial-yoctolib
+)
+install(TARGETS YoctoLib yapi
+ EXPORT YoctoLibTargets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
+install(EXPORT YoctoLibTargets
+ FILE unofficial-yoctolib-targets.cmake
+ NAMESPACE unofficial::yoctolib::
+ DESTINATION share/unofficial-yoctolib
+)
+install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-yoctolib-config.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-yoctolib-version.cmake"
+ DESTINATION share/unofficial-yoctolib
+)
diff --git a/Sources/cmake/unofficial-yoctolib-config.cmake.in b/Sources/cmake/unofficial-yoctolib-config.cmake.in
new file mode 100644
index 0000000..6f442b2
--- /dev/null
+++ b/Sources/cmake/unofficial-yoctolib-config.cmake.in
@@ -0,0 +1,14 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(THREADS_PREFER_PTHREAD_FLAG TRUE)
+ find_dependency(Threads)
+ find_dependency(PkgConfig)
+ pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/unofficial-yoctolib-targets.cmake)
+
+check_required_components(unofficial-yoctolib)
\ No newline at end of file
diff --git a/Sources/yapi/CMakeLists.txt b/Sources/yapi/CMakeLists.txt
index f6b571f..ca02890 100644
--- a/Sources/yapi/CMakeLists.txt
+++ b/Sources/yapi/CMakeLists.txt
@@ -139,11 +139,18 @@ if(USE_YSSL)
target_include_directories(yapi PRIVATE mbedtls/include)
endif()
-target_include_directories (yapi PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(yapi PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/yapi>
+)
# add pthread usb-1.0 library only on linux
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-target_link_libraries (yapi LINK_PUBLIC pthread usb-1.0)
+ set(THREADS_PREFER_PTHREAD_FLAG TRUE)
+ find_package(Threads REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0)
+ target_link_libraries(yapi LINK_PUBLIC Threads::Threads PkgConfig::libusb)
endif()
if (APPLE)
@@ -159,7 +166,3 @@ if (APPLE)
endif()
set_target_properties(yapi PROPERTIES SOVERSION 1)
-install(TARGETS yapi DESTINATION ${CMAKE_INSTALL_LIBDIR})
-install(FILES yapi.h ydef.h yversion.h yjson.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/yapi)
-
-
diff --git a/Sources/yapi/yproto.h b/Sources/yapi/yproto.h
index 5fbadb3..ab0a801 100644
index ff25fb1b..95eddec6 100644
--- a/Sources/yapi/yproto.h
+++ b/Sources/yapi/yproto.h
@@ -163,7 +163,7 @@ typedef struct {
@@ -165,7 +165,7 @@ typedef struct {
/*****************************************************************************
LINUX SPECIFIC HEADER
****************************************************************************/

View File

@ -1,14 +0,0 @@
diff --git a/Sources/yapi/CMakeLists.txt b/Sources/yapi/CMakeLists.txt
index da7102e..a06e04c 100644
--- a/Sources/yapi/CMakeLists.txt
+++ b/Sources/yapi/CMakeLists.txt
@@ -161,4 +161,8 @@ if (APPLE)
target_link_libraries(yapi LINK_PUBLIC ${IOKIT_FRAMEWORK} ${CORE_FRAMEWORK})
endif()
+if (WIN32)
+ target_link_libraries(yapi PRIVATE bcrypt)
+endif()
+
set_target_properties(yapi PROPERTIES SOVERSION 1)
\ No newline at end of file

View File

@ -1,39 +0,0 @@
diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt
index 33af30d..2c0d1c5 100644
--- a/Sources/CMakeLists.txt
+++ b/Sources/CMakeLists.txt
@@ -178,14 +178,19 @@ set(YoctoLibCppSources
)
add_library (YoctoLib ${YoctoLibCppSources} ${YoctoLibHSources})
+if(WIN32 AND BUILD_SHARED_LIBS)
+ target_compile_definitions(YoctoLib PRIVATE GENERATE_DLL)
+endif()
# add yapi low level api
add_subdirectory(yapi)
-target_link_libraries(YoctoLib PUBLIC yapi)
-target_include_directories (YoctoLib
+target_link_libraries(YoctoLib PRIVATE yapi)
+target_include_directories(YoctoLib
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/yapi>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/yapi>
)
set_target_properties(YoctoLib PROPERTIES SOVERSION 1)
set_target_properties(YoctoLib PROPERTIES LIBRARY_OUTPUT_NAME yocto)
diff --git a/Sources/yapi/CMakeLists.txt b/Sources/yapi/CMakeLists.txt
index f825a5c..28a7669 100644
--- a/Sources/yapi/CMakeLists.txt
+++ b/Sources/yapi/CMakeLists.txt
@@ -134,7 +134,7 @@ set(YAPI_C_FILES
yssl.c
)
-add_library (yapi ${YAPI_C_FILES} ${MBEDTLS_C_FILES})
+add_library (yapi STATIC ${YAPI_C_FILES} ${MBEDTLS_C_FILES})
if(USE_YSSL)
target_include_directories(yapi PRIVATE mbedtls/include)
endif()

View File

@ -2,12 +2,10 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO yoctopuce/yoctolib_cpp
REF "v${VERSION}"
SHA512 c57baae00289dc2bbcabe278d9ff5667077bd3b93fadd20fd9de4428050af0bb6a659849b52e5c93b3e51c6d71764839c0d299e775d4133f85fa31990242077e
SHA512 ed405d77c05288e123851a79e86beaf9778cce487c5d5d4a556f47b3a690517e71b004e5b3e0ae5532cb24ed46a1c04ce4f18c34cccf475fc1ca45a331808c43
HEAD_REF master
PATCHES
001-cmake_config.patch
002-add_missing_win32_bcrypt_linkage.patch
003-fix_win32_shared_build.patch
)
if(VCPKG_TARGET_IS_LINUX)
@ -24,7 +22,7 @@ vcpkg_cmake_configure(
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-yoctolib)
vcpkg_cmake_config_fixup(PACKAGE_NAME yoctolib)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

View File

@ -1,6 +1,6 @@
{
"name": "yoctolib",
"version": "2.1.6320",
"version": "2.1.11761",
"description": "Official Yoctopuce Library for C++",
"homepage": "https://github.com/yoctopuce/yoctolib_cpp",
"license": null,

View File

@ -10917,7 +10917,7 @@
"port-version": 0
},
"yoctolib": {
"baseline": "2.1.6320",
"baseline": "2.1.11761",
"port-version": 0
},
"yoga": {

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "dea1c905ed8620b38ec44b68a0beaecfc9453d4c",
"version": "2.1.11761",
"port-version": 0
},
{
"git-tree": "a068fe63550863e24dc9cfd6e55ebd8e8fd7c742",
"version": "2.1.6320",