aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/luasec
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/luasec')
-rw-r--r--vcpkg/ports/luasec/CMakeLists.txt46
-rw-r--r--vcpkg/ports/luasec/portfile.cmake27
-rw-r--r--vcpkg/ports/luasec/vcpkg.json23
3 files changed, 96 insertions, 0 deletions
diff --git a/vcpkg/ports/luasec/CMakeLists.txt b/vcpkg/ports/luasec/CMakeLists.txt
new file mode 100644
index 0000000..6432cef
--- /dev/null
+++ b/vcpkg/ports/luasec/CMakeLists.txt
@@ -0,0 +1,46 @@
+cmake_minimum_required(VERSION 3.20.0)
+project(luasec)
+
+find_path(LUA_INCLUDE_DIR lua.h PATH_SUFFIXES lua)
+find_library(LUA_LIBRARY lua)
+find_package(OpenSSL)
+
+set(LUASEC_INCLUDES ${LUA_INCLUDE_DIR} src)
+set(LUASEC_LIBRARIES
+ ${LUA_LIBRARY}
+ OpenSSL::SSL
+ OpenSSL::Crypto
+ OpenSSL::applink)
+if(WIN32)
+ set(PLATFORM_LIBRARIES ws2_32)
+endif()
+
+add_library(lua-ssl
+ src/config.c
+ src/ssl.c
+ src/context.c
+ src/x509.c
+ src/ec.c
+ src/options.c
+ src/luasocket/buffer.c
+ src/luasocket/io.c
+ src/luasocket/timeout.c)
+if(WIN32)
+ target_sources(lua-ssl PRIVATE
+ src/luasocket/wsocket.c)
+else()
+ target_sources(lua-ssl PRIVATE
+ src/luasocket/usocket.c)
+endif()
+
+target_include_directories(lua-ssl PRIVATE ${LUASEC_INCLUDES})
+target_link_libraries(lua-ssl PRIVATE ${LUASEC_LIBRARIES} ${PLATFORM_LIBRARIES})
+set_target_properties(lua-ssl PROPERTIES PREFIX "")
+
+install(TARGETS lua-ssl
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+
+install(FILES src/ssl.lua DESTINATION share/lua)
+install(FILES src/https.lua DESTINATION share/lua/ssl)
diff --git a/vcpkg/ports/luasec/portfile.cmake b/vcpkg/ports/luasec/portfile.cmake
new file mode 100644
index 0000000..e69027a
--- /dev/null
+++ b/vcpkg/ports/luasec/portfile.cmake
@@ -0,0 +1,27 @@
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lunarmodules/luasec
+ REF "v${VERSION}"
+ SHA512 8f0c4b5ff87c024685b23770e1d342467554b8dc19a1704076e184d9e84b966f171091c31d1da135ab009e850275adc2bf2720fc9f32c83ac23f0a42f13d311f
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_cmake_configure(
+ SOURCE_PATH ${SOURCE_PATH}
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+# Remove debug share
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Handle copyright
+vcpkg_install_copyright(FILE_LIST ${SOURCE_PATH}/LICENSE)
+
+# Allow empty include directory
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
diff --git a/vcpkg/ports/luasec/vcpkg.json b/vcpkg/ports/luasec/vcpkg.json
new file mode 100644
index 0000000..3fa5724
--- /dev/null
+++ b/vcpkg/ports/luasec/vcpkg.json
@@ -0,0 +1,23 @@
+{
+ "name": "luasec",
+ "version": "1.3.2",
+ "port-version": 2,
+ "maintainers": "Stephen Baker <baker.stephen.e@gmail.com>",
+ "description": "LuaSec depends on OpenSSL, and integrates with LuaSocket to make it easy to add secure connections to any Lua applications or scripts.",
+ "homepage": "https://github.com/lunarmodules/luasec",
+ "license": "MIT",
+ "supports": "!staticcrt",
+ "dependencies": [
+ "lua",
+ "luasocket",
+ "openssl",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}