aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/eipscanner
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/eipscanner
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/eipscanner')
-rw-r--r--vcpkg/ports/eipscanner/package.patch82
-rw-r--r--vcpkg/ports/eipscanner/portfile.cmake23
-rw-r--r--vcpkg/ports/eipscanner/usage4
-rw-r--r--vcpkg/ports/eipscanner/vcpkg.json18
4 files changed, 127 insertions, 0 deletions
diff --git a/vcpkg/ports/eipscanner/package.patch b/vcpkg/ports/eipscanner/package.patch
new file mode 100644
index 0000000..0df080a
--- /dev/null
+++ b/vcpkg/ports/eipscanner/package.patch
@@ -0,0 +1,82 @@
+diff --git a/cmake/EIPScannerConfig.cmake.in b/cmake/EIPScannerConfig.cmake.in
+new file mode 100644
+index 0000000..3e16bd1
+--- /dev/null
++++ b/cmake/EIPScannerConfig.cmake.in
+@@ -0,0 +1,6 @@
++@PACKAGE_INIT@
++
++include("${CMAKE_CURRENT_LIST_DIR}/EIPScannerTargets.cmake")
++
++check_required_components(EIPScanner)
++
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 68a291e..d2562a8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,6 +13,7 @@ option(TEST_ENABLED "Enable unit test" OFF)
+ option(EXAMPLE_ENABLED "Build examples" OFF)
+
+ add_subdirectory(src)
++
+ if (EXAMPLE_ENABLED)
+ add_subdirectory(examples)
+ endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index dc2bbb9..d8d3cfa 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -64,7 +64,18 @@ set_target_properties(
+ VERSION ${EIPSCANNER_FULL_VERSION}
+ SOVERSION ${EIPSCANNER_MAJOR_VERSION})
+
+-install(TARGETS EIPScanner EIPScannerS
++if(BUILD_SHARED_LIBS)
++ set(install_target EIPScanner)
++ set_target_properties(EIPScanner PROPERTIES EXPORT_NAME eipscanner)
++ set_target_properties(EIPScannerS PROPERTIES EXCLUDE_FROM_ALL 1)
++else()
++ set(install_target EIPScannerS)
++ set_target_properties(EIPScannerS PROPERTIES EXPORT_NAME eipscanner)
++ set_target_properties(EIPScanner PROPERTIES EXCLUDE_FROM_ALL 1)
++endif()
++
++install(TARGETS ${install_target}
++ EXPORT ${install_target}
+ LIBRARY
+ DESTINATION lib
+ ARCHIVE
+@@ -73,3 +84,33 @@ install(TARGETS EIPScanner EIPScannerS
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/
+ DESTINATION include/EIPScanner
+ FILES_MATCHING PATTERN "*.h*")
++
++target_include_directories(${install_target}
++ INTERFACE
++ $<INSTALL_INTERFACE:include/EIPScanner>
++)
++
++include(CMakePackageConfigHelpers)
++configure_package_config_file(
++ ../cmake/EIPScannerConfig.cmake.in
++ ${CMAKE_CURRENT_BINARY_DIR}/EIPScannerConfig.cmake
++ INSTALL_DESTINATION lib/cmake/eipscanner
++)
++
++write_basic_package_version_file(
++ ${CMAKE_CURRENT_BINARY_DIR}/EIPScannerConfigVersion.cmake
++ VERSION ${PROJECT_VERSION}
++ COMPATIBILITY SameMajorVersion
++)
++
++install(FILES
++ ${CMAKE_CURRENT_BINARY_DIR}/EIPScannerConfig.cmake
++ ${CMAKE_CURRENT_BINARY_DIR}/EIPScannerConfigVersion.cmake
++ DESTINATION lib/cmake/eipscanner
++)
++
++install(EXPORT ${install_target}
++ FILE EIPScannerTargets.cmake
++ NAMESPACE unofficial::eipscanner::
++ DESTINATION lib/cmake/eipscanner
++)
diff --git a/vcpkg/ports/eipscanner/portfile.cmake b/vcpkg/ports/eipscanner/portfile.cmake
new file mode 100644
index 0000000..27ce524
--- /dev/null
+++ b/vcpkg/ports/eipscanner/portfile.cmake
@@ -0,0 +1,23 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO nimbuscontrols/EIPScanner
+ REF ${VERSION}
+ SHA512 24612e6eec97aa67dfd83ec90d3f1a961c69a63a17cb09679b9eb453750049628def8d488b9debbf1f322a800f9f54933dedca9b37fb1c5703e95460b89f2f43
+ HEAD_REF master
+ PATCHES
+ package.patch
+)
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/eipscanner)
+vcpkg_fixup_pkgconfig()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+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/eipscanner/usage b/vcpkg/ports/eipscanner/usage
new file mode 100644
index 0000000..8842510
--- /dev/null
+++ b/vcpkg/ports/eipscanner/usage
@@ -0,0 +1,4 @@
+The package EIPScanner provides CMake targets:
+
+ find_package(EIPScanner CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE unofficial::eipscanner::eipscanner)
diff --git a/vcpkg/ports/eipscanner/vcpkg.json b/vcpkg/ports/eipscanner/vcpkg.json
new file mode 100644
index 0000000..ea1698b
--- /dev/null
+++ b/vcpkg/ports/eipscanner/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "eipscanner",
+ "version": "1.3.0",
+ "description": "Free implementation of EtherNet/IP in C++ ",
+ "homepage": "https://eipscanner.readthedocs.io",
+ "license": "MIT",
+ "supports": "!windows",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}