diff options
Diffstat (limited to 'vcpkg/ports/iceoryx')
| -rw-r--r-- | vcpkg/ports/iceoryx/acl.patch | 30 | ||||
| -rw-r--r-- | vcpkg/ports/iceoryx/add-include-chrono.patch | 12 | ||||
| -rw-r--r-- | vcpkg/ports/iceoryx/portfile.cmake | 46 | ||||
| -rw-r--r-- | vcpkg/ports/iceoryx/usage | 14 | ||||
| -rw-r--r-- | vcpkg/ports/iceoryx/vcpkg.json | 38 |
5 files changed, 140 insertions, 0 deletions
diff --git a/vcpkg/ports/iceoryx/acl.patch b/vcpkg/ports/iceoryx/acl.patch new file mode 100644 index 0000000..7838533 --- /dev/null +++ b/vcpkg/ports/iceoryx/acl.patch @@ -0,0 +1,30 @@ +diff --git a/iceoryx_hoofs/CMakeLists.txt b/iceoryx_hoofs/CMakeLists.txt +index a8238ff..9741fd3 100644 +--- a/iceoryx_hoofs/CMakeLists.txt ++++ b/iceoryx_hoofs/CMakeLists.txt +@@ -217,7 +217,9 @@ target_link_libraries(iceoryx_hoofs + ) + + if(LINUX) +- target_link_libraries(iceoryx_hoofs PRIVATE acl atomic ${CODE_COVERAGE_LIBS}) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(ACL REQUIRED IMPORTED_TARGET libacl) ++ target_link_libraries(iceoryx_hoofs PUBLIC PkgConfig::ACL PRIVATE atomic ${CODE_COVERAGE_LIBS}) + endif() + + target_compile_options(iceoryx_hoofs PRIVATE ${ICEORYX_WARNINGS} ${ICEORYX_SANITIZER_FLAGS}) +diff --git a/iceoryx_hoofs/cmake/Config.cmake.in b/iceoryx_hoofs/cmake/Config.cmake.in +index c03b3b5..731c636 100644 +--- a/iceoryx_hoofs/cmake/Config.cmake.in ++++ b/iceoryx_hoofs/cmake/Config.cmake.in +@@ -17,6 +17,10 @@ + @PACKAGE_INIT@ + + include(CMakeFindDependencyMacro) ++if(LINUX) ++ find_dependency(PkgConfig) ++ pkg_check_modules(ACL REQUIRED libacl IMPORTED_TARGET) ++endif() + + include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") + list(APPEND CMAKE_MODULE_PATH "@CMAKE_INSTALL_PREFIX@/@DESTINATION_CONFIGDIR@") diff --git a/vcpkg/ports/iceoryx/add-include-chrono.patch b/vcpkg/ports/iceoryx/add-include-chrono.patch new file mode 100644 index 0000000..eaf03f0 --- /dev/null +++ b/vcpkg/ports/iceoryx/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/iceoryx_hoofs/platform/win/source/time.cpp b/iceoryx_hoofs/platform/win/source/time.cpp +index 4c2ab2d..4a7074b 100644 +--- a/iceoryx_hoofs/platform/win/source/time.cpp ++++ b/iceoryx_hoofs/platform/win/source/time.cpp +@@ -16,6 +16,7 @@ + // SPDX-License-Identifier: Apache-2.0 + + #include "iceoryx_hoofs/platform/time.hpp" ++#include <chrono> + + static std::chrono::nanoseconds getNanoSeconds(const timespec& value) + { diff --git a/vcpkg/ports/iceoryx/portfile.cmake b/vcpkg/ports/iceoryx/portfile.cmake new file mode 100644 index 0000000..9ca801f --- /dev/null +++ b/vcpkg/ports/iceoryx/portfile.cmake @@ -0,0 +1,46 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eclipse-iceoryx/iceoryx + REF "v${VERSION}" + SHA512 708c113f8b4e5a23830172cd67414cb6fa389f9bc34a5979b27131c3180d6758ca50257baa86cb6f74bcff71b24237cffc0e697964a7c0326e9018fbf7885c09 + HEAD_REF master + PATCHES + acl.patch + add-include-chrono.patch # https://github.com/eclipse-iceoryx/iceoryx/pull/2378 +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "toml-config" TOML_CONFIG + INVERTED_FEATURES + "many-to-many" ONE_TO_MANY_ONLY +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/iceoryx_meta" + OPTIONS + ${FEATURE_OPTIONS} + -DDOWNLOAD_TOML_LIB=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME iceoryx_binding_c CONFIG_PATH lib/cmake/iceoryx_binding_c DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(PACKAGE_NAME iceoryx_hoofs CONFIG_PATH lib/cmake/iceoryx_hoofs DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(PACKAGE_NAME iceoryx_posh CONFIG_PATH lib/cmake/iceoryx_posh) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/doc" +) + +if(TOML_CONFIG) + vcpkg_copy_tools(TOOL_NAMES iox-roudi AUTO_CLEAN) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/vcpkg/ports/iceoryx/usage b/vcpkg/ports/iceoryx/usage new file mode 100644 index 0000000..1b6ffef --- /dev/null +++ b/vcpkg/ports/iceoryx/usage @@ -0,0 +1,14 @@ +iceoryx provides CMake targets: + + find_package(iceoryx_binding_c CONFIG REQUIRED) + target_link_libraries(main PRIVATE iceoryx_binding_c::iceoryx_binding_c) + + find_package(iceoryx_hoofs CONFIG REQUIRED) + target_link_libraries(main PRIVATE iceoryx_hoofs::iceoryx_hoofs + iceoryx_hoofs::iceoryx_platform) + + find_package(iceoryx_posh CONFIG REQUIRED) + target_link_libraries(main PRIVATE iceoryx_posh::iceoryx_posh + iceoryx_posh::iceoryx_posh_roudi + iceoryx_posh::iceoryx_posh_config + iceoryx_posh::iceoryx_posh_gateway) diff --git a/vcpkg/ports/iceoryx/vcpkg.json b/vcpkg/ports/iceoryx/vcpkg.json new file mode 100644 index 0000000..57ae5f5 --- /dev/null +++ b/vcpkg/ports/iceoryx/vcpkg.json @@ -0,0 +1,38 @@ +{ + "name": "iceoryx", + "version": "2.0.6", + "port-version": 1, + "description": "True zero-copy inter-process-communication", + "homepage": "https://iceoryx.io", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "acl", + "platform": "linux" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "many-to-many", + "toml-config" + ], + "features": { + "many-to-many": { + "description": "Using the m:n pattern for communication" + }, + "toml-config": { + "description": "TOML support for RouDi with dynamic configuration", + "dependencies": [ + "cpptoml" + ] + } + } +} |