aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Powley <matt.powley@renishaw.com>2017-10-03 11:58:22 +0100
committerMatt Powley <matt.powley@renishaw.com>2017-10-03 14:26:40 +0100
commit6e6c2c99485902c593f3b7a21ef265d2db03c1f2 (patch)
tree4b9b34071a71645982222a2ee742165390f7abc3
parente25a31eca8550780ce96586ef27063728441b2e2 (diff)
downloadvcpkg-6e6c2c99485902c593f3b7a21ef265d2db03c1f2.tar.gz
vcpkg-6e6c2c99485902c593f3b7a21ef265d2db03c1f2.zip
[telnetpp] Initial port for 'Telnet++', a C++ 14 implementation of the Telnet Session Layer protocol
* Initial commit for a port of Telnet++ (telnetpp) * Upstream source: https://github.com/KazDragon/telnetpp * Depends on Boost and Zlib (Additional dependency on GTest due to upstream authoring error)
-rw-r--r--ports/telnetpp/CONTROL4
-rw-r--r--ports/telnetpp/portfile.cmake47
2 files changed, 51 insertions, 0 deletions
diff --git a/ports/telnetpp/CONTROL b/ports/telnetpp/CONTROL
new file mode 100644
index 000000000..595e1cd88
--- /dev/null
+++ b/ports/telnetpp/CONTROL
@@ -0,0 +1,4 @@
+Source: telnetpp
+Version: 1.2.4
+Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14
+Build-Depends: boost, gtest, zlib
diff --git a/ports/telnetpp/portfile.cmake b/ports/telnetpp/portfile.cmake
new file mode 100644
index 000000000..e52d69877
--- /dev/null
+++ b/ports/telnetpp/portfile.cmake
@@ -0,0 +1,47 @@
+if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
+ message(FATAL_ERROR "Telnetpp does not currently support UWP")
+endif()
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO KazDragon/telnetpp
+ REF v1.2.4
+ SHA512 16879fd377a7d13aac497bc9989c026acc1ed5b4eb9338d151d3d827c7c4c44fab84dd06c5fe55be4efe49a98ea46e62e80bbc51c8503d6ba1bf5534fee16c84
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+# Remove duplicate header files and CMake input file
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/include/telnetpp/version.hpp.in)
+
+# The install target in the upstream package does not install the binary output
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/telnetpp.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/telnetpp.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+# Move CMake installed configuration files and adjust for vcpkg debug location
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/telnetpp/telnetpp-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/telnetpp/telnetpp-config-release.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp)
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/telnetpp/telnetpp-config-debug.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/telnetpp)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/telnetpp)
+
+file(READ ${CURRENT_PACKAGES_DIR}/share/telnetpp/telnetpp-config-debug.cmake DEBUG_CONFIG)
+string(REPLACE "\${_IMPORT_PREFIX}/lib/telnetpp.lib"
+ "\${_IMPORT_PREFIX}/debug/lib/telnetpp.lib" DEBUG_CONFIG ${DEBUG_CONFIG})
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/telnetpp/telnetpp-config-debug.cmake "${DEBUG_CONFIG}")
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp RENAME COPYRIGHT)