aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/luasocket/CMakeLists.txt
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/luasocket/CMakeLists.txt
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/luasocket/CMakeLists.txt')
-rw-r--r--vcpkg/ports/luasocket/CMakeLists.txt138
1 files changed, 138 insertions, 0 deletions
diff --git a/vcpkg/ports/luasocket/CMakeLists.txt b/vcpkg/ports/luasocket/CMakeLists.txt
new file mode 100644
index 0000000..b07f043
--- /dev/null
+++ b/vcpkg/ports/luasocket/CMakeLists.txt
@@ -0,0 +1,138 @@
+cmake_minimum_required(VERSION 3.10)
+project(luasocket)
+
+if(WIN32)
+ set(PLATFORM_LIBRARIES ws2_32)
+endif()
+
+find_path(LUA_INCLUDE_DIR lua.h PATH_SUFFIXES lua)
+find_library(LUA_LIBRARY lua)
+set(LUASOCKET_INCLUDES ${LUA_INCLUDE_DIR} src)
+set(LUASOCKET_LIBRARIES ${LUA_LIBRARY} ${PLATFORM_LIBRARIES})
+
+add_library(socket.core
+ src/luasocket.c
+ src/timeout.c
+ src/buffer.c
+ src/io.c
+ src/auxiliar.c
+ src/options.c
+ src/inet.c
+ src/except.c
+ src/select.c
+ src/tcp.c
+ src/udp.c
+ src/compat.c)
+if(WIN32)
+ target_sources(socket.core PRIVATE
+ src/wsocket.c)
+elseif (UNIX)
+ target_sources(socket.core PRIVATE
+ src/usocket.c)
+endif()
+set_target_properties(socket.core PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "socket"
+ LIBRARY_OUTPUT_DIRECTORY "socket"
+ PREFIX ""
+ RUNTIME_OUTPUT_NAME "core"
+ LIBRARY_OUTPUT_NAME "core")
+target_include_directories(socket.core PRIVATE ${LUASOCKET_INCLUDES})
+target_link_libraries(socket.core PRIVATE ${LUASOCKET_LIBRARIES})
+
+add_library(mime.core
+ src/mime.c
+ src/compat.c)
+set_target_properties(mime.core PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "mime"
+ LIBRARY_OUTPUT_DIRECTORY "mime"
+ PREFIX ""
+ RUNTIME_OUTPUT_NAME "core"
+ LIBRARY_OUTPUT_NAME "core")
+target_include_directories(mime.core PRIVATE ${LUASOCKET_INCLUDES})
+target_link_libraries(mime.core PRIVATE ${LUASOCKET_LIBRARIES})
+
+if(UNIX)
+ add_library(socket.unix
+ src/buffer.c
+ src/compat.c
+ src/auxiliar.c
+ src/options.c
+ src/timeout.c
+ src/io.c
+ src/usocket.c
+ src/unix.c
+ src/unixdgram.c
+ src/unixstream.c)
+ set_target_properties(socket.unix PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "socket"
+ LIBRARY_OUTPUT_DIRECTORY "socket"
+ PREFIX ""
+ RUNTIME_OUTPUT_NAME "unix"
+ LIBRARY_OUTPUT_NAME "unix")
+ target_include_directories(socket.unix PRIVATE ${LUASOCKET_INCLUDES})
+ target_link_libraries(socket.unix PRIVATE ${LUASOCKET_LIBRARIES})
+
+ add_library(socket.serial
+ src/buffer.c
+ src/compat.c
+ src/auxiliar.c
+ src/options.c
+ src/timeout.c
+ src/io.c
+ src/usocket.c
+ src/serial.c)
+ set_target_properties(socket.serial PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "socket"
+ LIBRARY_OUTPUT_DIRECTORY "socket"
+ PREFIX ""
+ RUNTIME_OUTPUT_NAME "serial"
+ LIBRARY_OUTPUT_NAME "serial")
+ target_include_directories(socket.serial PRIVATE ${LUASOCKET_INCLUDES})
+ target_link_libraries(socket.serial PRIVATE ${LUASOCKET_LIBRARIES})
+endif()
+
+if(WIN32)
+ if("${BUILD_TYPE}" STREQUAL "STATIC")
+ add_definitions(
+ "-DLUASOCKET_API=")
+ else()
+ add_definitions(
+ "-DLUASOCKET_API=__declspec(dllexport)")
+ endif()
+endif()
+
+install(TARGETS socket.core
+ RUNTIME DESTINATION bin/socket
+ LIBRARY DESTINATION lib/socket
+ ARCHIVE DESTINATION lib)
+
+install(TARGETS mime.core
+ RUNTIME DESTINATION bin/mime
+ LIBRARY DESTINATION lib/mime
+ ARCHIVE DESTINATION lib)
+
+if(UNIX)
+ install(TARGETS socket.unix
+ RUNTIME DESTINATION bin/socket
+ LIBRARY DESTINATION lib/socket
+ ARCHIVE DESTINATION lib)
+ install(TARGETS socket.serial
+ RUNTIME DESTINATION bin/socket
+ LIBRARY DESTINATION lib/socket
+ ARCHIVE DESTINATION lib)
+endif()
+
+install(FILES
+ src/ltn12.lua
+ src/socket.lua
+ src/mime.lua
+ DESTINATION share/lua)
+
+install(FILES
+ src/http.lua
+ src/url.lua
+ src/tp.lua
+ src/ftp.lua
+ src/headers.lua
+ src/smtp.lua
+ DESTINATION share/lua/socket)