aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Christensen <philc@microsoft.com>2019-03-26 13:28:21 -0700
committerGitHub <noreply@github.com>2019-03-26 13:28:21 -0700
commitb83d017e85928876f9be8be0997c13ac65bd8887 (patch)
tree82bd02a40643939fc95067e0a2e252f6bd2362aa
parent6b0ab194ae1625774abba934ecac2309e19bf075 (diff)
parentda0c21d879f8d57963dacc2152a88281230bbd18 (diff)
downloadvcpkg-b83d017e85928876f9be8be0997c13ac65bd8887.tar.gz
vcpkg-b83d017e85928876f9be8be0997c13ac65bd8887.zip
Merge pull request #5779 from cenit/dev/cenit/open62541
[open62541] new port
-rw-r--r--ports/open62541/CONTROL3
-rw-r--r--ports/open62541/portfile.cmake69
2 files changed, 72 insertions, 0 deletions
diff --git a/ports/open62541/CONTROL b/ports/open62541/CONTROL
new file mode 100644
index 000000000..abf413d79
--- /dev/null
+++ b/ports/open62541/CONTROL
@@ -0,0 +1,3 @@
+Source: open62541
+Version: 0.3.0
+Description: open62541 is an open source C (C99) implementation of OPC UA licensed under the Mozilla Public License v2.0.
diff --git a/ports/open62541/portfile.cmake b/ports/open62541/portfile.cmake
new file mode 100644
index 000000000..951ad9b48
--- /dev/null
+++ b/ports/open62541/portfile.cmake
@@ -0,0 +1,69 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ message("${PORT} currently requires the following tools from the system package manager:\n python-six\n\nThis can be installed on Ubuntu systems via apt-get install python-six python3-six (depending on your current python default interpreter)")
+endif()
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "${PORT} does not currently support UWP")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO open62541/open62541
+ REF v0.3.0
+ SHA512 67766d226e1b900c0c37309099ecdbe987d10888ebf43f9066b21cf79f64d34e6ac30c2671a4901892f044859da4e8dbaa9fed5a49c633f73fef3bec75774050
+ HEAD_REF master
+)
+
+file(READ ${SOURCE_PATH}/CMakeLists.txt OPEN62541_CMAKELISTS)
+string(REPLACE
+ "RUNTIME DESTINATION \${CMAKE_INSTALL_PREFIX}"
+ "RUNTIME DESTINATION \${BIN_INSTALL_DIR}"
+ OPEN62541_CMAKELISTS "${OPEN62541_CMAKELISTS}")
+file(WRITE ${SOURCE_PATH}/CMakeLists.txt "${OPEN62541_CMAKELISTS}")
+
+if(CMAKE_HOST_WIN32)
+ set(EXECUTABLE_SUFFIX ".exe")
+else()
+ set(EXECUTABLE_SUFFIX "")
+endif()
+
+vcpkg_find_acquire_program(PYTHON3)
+get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
+vcpkg_add_to_path("${PYTHON3_DIR}")
+if(NOT EXISTS ${PYTHON3_DIR}/easy_install${EXECUTABLE_SUFFIX})
+ if(NOT EXISTS ${PYTHON3_DIR}/Scripts/pip${EXECUTABLE_SUFFIX})
+ vcpkg_download_distfile(GET_PIP
+ URLS "https://bootstrap.pypa.io/get-pip.py"
+ FILENAME "tools/python/python3/get-pip.py"
+ SHA512 fdbcef1037dca7cc914e2304af657ebd08239cd18c3e79786dc25c8ea39957674e012d7ea8ae2c99006e4b61d3a5e24669ac5771dc186697fd9fdb40b6cc07ae
+ )
+ execute_process(COMMAND ${PYTHON3_DIR}/python${EXECUTABLE_SUFFIX} ${PYTHON3_DIR}/get-pip.py)
+ endif()
+ execute_process(COMMAND ${PYTHON3_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install six)
+else()
+ execute_process(COMMAND ${PYTHON3_DIR}/easy_install${EXECUTABLE_SUFFIX} six)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DCMAKE_DEBUG_POSTFIX=d
+)
+
+vcpkg_install_cmake()
+
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT})
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+else()
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/open62541/tools)
+
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/open62541)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/open62541/LICENSE ${CURRENT_PACKAGES_DIR}/share/open62541/copyright)