diff --git a/ports/ecaludp/find-recycle.patch b/ports/ecaludp/find-recycle.patch new file mode 100644 index 0000000000..ecacae36b0 --- /dev/null +++ b/ports/ecaludp/find-recycle.patch @@ -0,0 +1,27 @@ +diff --git a/ecaludp/CMakeLists.txt b/ecaludp/CMakeLists.txt +index c6fc47a..df7073d 100644 +--- a/ecaludp/CMakeLists.txt ++++ b/ecaludp/CMakeLists.txt +@@ -26,7 +26,8 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden) + set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + + find_package(asio REQUIRED) +-find_package(recycle REQUIRED) ++ ++find_path(RECYCLE_INCLUDE_DIRS "recycle/no_locking_policy.hpp") + + message(STATUS "ECALUDP_ENABLE_NPCAP: ${ECALUDP_ENABLE_NPCAP}") + if(ECALUDP_ENABLE_NPCAP) +@@ -99,11 +100,11 @@ target_link_libraries(${PROJECT_NAME} + PRIVATE + # Link header-only libs (recycle) as described in this workaround: + # https://gitlab.kitware.com/cmake/cmake/-/issues/15415#note_633938 +- $ + $<$:ws2_32> + $<$:wsock32> + $<$:udpcap::udpcap> + ) ++target_include_directories(${PROJECT_NAME} PRIVATE ${RECYCLE_INCLUDE_DIRS}) + + target_compile_definitions(${PROJECT_NAME} + PRIVATE diff --git a/ports/ecaludp/portfile.cmake b/ports/ecaludp/portfile.cmake new file mode 100644 index 0000000000..9a5ec8fe46 --- /dev/null +++ b/ports/ecaludp/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eclipse-ecal/ecaludp + REF "v${VERSION}" + SHA512 4f9d8c67777a63b569bd7069ca2a43eaaaa898a429c206bccfd5e90b10a733aa5f138be059cef2fcebda53987fdf0583b1d1859ecd154b9a48b5d39afd21c637 + HEAD_REF master + PATCHES + find-recycle.patch +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(ECALUDP_LIBRARY_TYPE "SHARED") +else() + set(ECALUDP_LIBRARY_TYPE "STATIC") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DECALUDP_LIBRARY_TYPE=${ECALUDP_LIBRARY_TYPE} + -DECALUDP_BUILD_SAMPLES=OFF + -DECALUDP_BUILD_TESTS=OFF + -DECALUDP_ENABLE_NPCAP=OFF + -DECALUDP_USE_BUILTIN_ASIO=OFF + -DECALUDP_USE_BUILTIN_RECYCLE=OFF + -DECALUDP_USE_BUILTIN_UDPCAP=OFF + -DECALUDP_USE_BUILTIN_GTEST=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ecaludp) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ecaludp/vcpkg.json b/ports/ecaludp/vcpkg.json new file mode 100644 index 0000000000..b41a832a01 --- /dev/null +++ b/ports/ecaludp/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "ecaludp", + "version": "0.1.2", + "description": "UDP transport library for eCAL with fragmentation/reassembly support.", + "homepage": "https://github.com/eclipse-ecal/ecaludp", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + "asio", + "recycle", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index bcb7deb12f..8a80c9de6a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2684,6 +2684,10 @@ "baseline": "5.13.4", "port-version": 0 }, + "ecaludp": { + "baseline": "0.1.2", + "port-version": 0 + }, "ecm": { "baseline": "6.7.0", "port-version": 1 diff --git a/versions/e-/ecaludp.json b/versions/e-/ecaludp.json new file mode 100644 index 0000000000..5846c555e9 --- /dev/null +++ b/versions/e-/ecaludp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "149144822832bdc7ea5d0f430914a8f0c01c5096", + "version": "0.1.2", + "port-version": 0 + } + ] +}