diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/luasocket/CMakeLists.txt | |
Diffstat (limited to 'vcpkg/ports/luasocket/CMakeLists.txt')
| -rw-r--r-- | vcpkg/ports/luasocket/CMakeLists.txt | 138 |
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) |