aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/snap7
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/snap7
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/snap7')
-rw-r--r--vcpkg/ports/snap7/0001-remove-using-namespace-std.patch13
-rw-r--r--vcpkg/ports/snap7/CMakeLists.txt66
-rw-r--r--vcpkg/ports/snap7/portfile.cmake24
-rw-r--r--vcpkg/ports/snap7/vcpkg.json15
4 files changed, 118 insertions, 0 deletions
diff --git a/vcpkg/ports/snap7/0001-remove-using-namespace-std.patch b/vcpkg/ports/snap7/0001-remove-using-namespace-std.patch
new file mode 100644
index 0000000..d6c493d
--- /dev/null
+++ b/vcpkg/ports/snap7/0001-remove-using-namespace-std.patch
@@ -0,0 +1,13 @@
+diff --git a/src/core/s7_partner.h b/src/core/s7_partner.h
+index 95211a2..25c1810 100644
+--- a/src/core/s7_partner.h
++++ b/src/core/s7_partner.h
+@@ -29,7 +29,7 @@
+ #include "snap_threads.h"
+ #include "s7_peer.h"
+ //---------------------------------------------------------------------------
+-using namespace std;
++//using namespace std;
+ //---------------------------------------------------------------------------
+
+ #define MaxPartners 256
diff --git a/vcpkg/ports/snap7/CMakeLists.txt b/vcpkg/ports/snap7/CMakeLists.txt
new file mode 100644
index 0000000..c2a530b
--- /dev/null
+++ b/vcpkg/ports/snap7/CMakeLists.txt
@@ -0,0 +1,66 @@
+# CMakeList.txt : CMake project for Snap7, include source and define
+# project specific logic here.
+cmake_minimum_required (VERSION 3.8)
+
+project(snap7
+ VERSION 1.4.2
+ LANGUAGES CXX)
+
+# Add source to this project's executable.
+add_library(${PROJECT_NAME} SHARED "core/s7_client.cpp"
+ "core/s7_client.h"
+ "core/s7_firmware.h"
+ "core/s7_isotcp.cpp"
+ "core/s7_isotcp.h"
+ "core/s7_micro_client.cpp"
+ "core/s7_micro_client.h"
+ "core/s7_partner.cpp"
+ "core/s7_partner.h"
+ "core/s7_peer.cpp"
+ "core/s7_peer.h"
+ "core/s7_server.cpp"
+ "core/s7_server.h"
+ "core/s7_text.cpp"
+ "core/s7_text.h"
+ "core/s7_types.h"
+ "lib/snap7_libmain.cpp"
+ "lib/snap7_libmain.h"
+ "sys/snap_msgsock.cpp"
+ "sys/snap_msgsock.h"
+ "sys/snap_platform.h"
+ "sys/snap_sysutils.cpp"
+ "sys/snap_sysutils.h"
+ "sys/snap_tcpsrvr.cpp"
+ "sys/snap_tcpsrvr.h"
+ "sys/snap_threads.cpp"
+ "sys/snap_threads.h"
+ "sys/sol_threads.h"
+ "sys/unix_threads.h"
+ "sys/win_threads.h"
+ )
+
+if(MSVC)
+ target_link_libraries(${PROJECT_NAME} wsock32 ws2_32)
+ target_link_libraries(${PROJECT_NAME} winmm.lib)
+endif()
+
+add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
+
+target_include_directories(${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/core> $<INSTALL_INTERFACE:include>)
+target_include_directories(${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/lib> $<INSTALL_INTERFACE:include>)
+target_include_directories(${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/sys> $<INSTALL_INTERFACE:include>)
+
+install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME})
+
+install(
+ EXPORT ${PROJECT_NAME}
+ FILE ${PROJECT_NAME}-config.cmake
+ DESTINATION "share/${PROJECT_NAME}"
+ NAMESPACE ${PROJECT_NAME}::
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(DIRECTORY "core/" DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h")
+ install(DIRECTORY "lib/" DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h")
+ install(DIRECTORY "sys/" DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h")
+endif()
diff --git a/vcpkg/ports/snap7/portfile.cmake b/vcpkg/ports/snap7/portfile.cmake
new file mode 100644
index 0000000..143ae67
--- /dev/null
+++ b/vcpkg/ports/snap7/portfile.cmake
@@ -0,0 +1,24 @@
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO snap7
+ REF "${VERSION}"
+ FILENAME "snap7-full-${VERSION}.7z"
+ SHA512 84F4E1AD15BFEC201F9EB1EC90A28F37DFC848E370DB5CEA22EF4946F41FF6CC514581D29D592B57EE6D4C77F4AABB4B2BBA1E3637043161821BA2FFAE7F2DD6
+ PATCHES
+ 0001-remove-using-namespace-std.patch
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/src")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}/src"
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/snap7/__history")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/lgpl-3.0.txt")
diff --git a/vcpkg/ports/snap7/vcpkg.json b/vcpkg/ports/snap7/vcpkg.json
new file mode 100644
index 0000000..7b7d0f6
--- /dev/null
+++ b/vcpkg/ports/snap7/vcpkg.json
@@ -0,0 +1,15 @@
+{
+ "name": "snap7",
+ "version": "1.4.2",
+ "port-version": 2,
+ "description": "Snap7",
+ "homepage": "https://snap7.sourceforge.net/",
+ "license": "LGPL-3.0",
+ "supports": "!android & !uwp & !static",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}