aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/iceoryx
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/iceoryx
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/iceoryx')
-rw-r--r--vcpkg/ports/iceoryx/acl.patch30
-rw-r--r--vcpkg/ports/iceoryx/add-include-chrono.patch12
-rw-r--r--vcpkg/ports/iceoryx/portfile.cmake46
-rw-r--r--vcpkg/ports/iceoryx/usage14
-rw-r--r--vcpkg/ports/iceoryx/vcpkg.json38
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"
+ ]
+ }
+ }
+}